You are on page 1of 9

VisionTIX Workshop

Image Processing using Mobile Robots


The future of mankind would be to work with robots mutually. It has not been long since we
have invented machines to reduce the work load on humans and increase the productivity of jobs,
it is now time for robots to take over to the next step of automation. Robotics has evolved over
years from a constant coded robotic arm to an artificial intelligent robot which has the ability to
learn from its environment. Robotics has never been an independent field, but a multidisciplinary domain which needs to have expertise in Mechanical engineering, Electronics
engineering & Programming languages.
For those who acquired embedded skills to program robot, Jay Robotix has now devised a 16
hours program VisionTIX to add vision capabilities to robots. The program is for those who
want to expand their horizons of learning latest technologies involved in building robots and
have a passion for robotics.
VisionTIX is 2 days exhaustive hands-on training program comprising 16 hours of training on
image processing using mobile robots. This course will help an individual to gain in depth
fundamental knowledge of image processing on robotics, embedded systems and will exposes
him/her to practical working environments of the industry and it further helps in achieving a
smooth transition from university to industrial environment.
Join us if you think you have it in you!!!

Why should you attend this course?

This course explains building of robots from scratch in general and detailed hand on
session on adding vision to your robot.
Imparts In-depth knowledge of building basic robotics, embedded applications & image
processing.
You will be step ahead in getting into top notch robotics, automation or embedded
companies.
You will feel the beauty of putting forth your theoretical knowledge to practical
applications in the field of mobile robotics.
You will be exposed to practical concepts of tracking a ball using image processing on
mobile robot.
This course is also ideal for students wanting to pursue their career in robotics and it also
fits in for students who are eager to participate in robotics competitions and work on
robotics projects.

Pre-requisites:

Basic Knowledge of C programming and Java.


Basic Exposure to microcontrollers and basic electronics.
Though prior Knowledge of MATLAB/OCTAVE and signal processing is not a must,
it would be ideal if you have so.
Interest in pursuing a career in robotics and ability to quickly grasp the lectures.

Target Audience:

Robotic / embedded system enthusiasts.


Passed out/Final/pre-final year students of B.E / B.Tech / ME / M.Tech /B.Sc / M.Sc/
B.C.A/ M.C.A.

Course Certification
VisionTIX is certified by Council of Education and Training
- Govt. of India. To get a certificate issued from Council of
education and training an additional Rs.500/
Rs.500/- would be charged
from the participant (Optional).
On successful completion of the course, all the participants will
receive a Certificate of Participation from Jay Robotix Pvt. Ltd.

Course Fee & Package:


Every registered team with VisionTIX will be working practically on Docile X robot. Docile X is
an intelligent mobile robot which is modula
modular,
r, with a robust platform, multiple wings for
mounting sensors which can be used to program to perform many a functions. Further, the
mounting wings can be swiveled and rotated on a 180 deg plane to extract the maximum
performance of the sensor. All these allow you to conduct hassle free experiments, tryouts and
investigations on the robot.
The 8051 development board exclusively developed by Jay Robotix is integrated into Docile X.
It can support upto 20 I/O's for connecting external inputs like sensors, LEDs.
LE
An external
breadboard is provided to never stop your working on Docile X. As you will learn further in the
manual and our on-going
going workshops, all these aid in making the robot multi functional to the
highest level there is and will challenge your crea
creative
tive ability to make the best use of the robot kit.
Other than this, the robot is equipped with a CMOS web camera (24-bit
bit RGB, 30fps)
30fps on the
robot in order to enable Docile X to capture images and video for image processing.
For further information and product documentation of Docile
www.jayrobotix.co.in/downloads/Product documentations/Docile X.pdf

Cost without Robot kit

: Rs.
Rs.1000/- per member incl. taxes.

Cost with Robot Kit

: Rs.10
Rs.1000/- + Rs.4200/- = Rs.5200/-

X,

please

visit

Docile X Robot Kit(Image Processing) includes:

Docile X robot kit


1 Nos
CMOS Web camera (24-bit RGB, 30fps)
1 Nos
12V, 900mAh NiCd Battery Pack
1 Nos
Battery Charging Circuit and adapter
1 Nos
8051 Motherboard with ISP, onboard motor drivers, LCD display, LEDS, buzzer, 20 I/O
ports etc
A CD containing Docile X product documentation, 8051 Motherboard Documentation
and libraries for executing various commands.

Course Outline:
VisionTIX session comprises of 2 consecutive days training. A total of 16 hours training will be
provided to participants who will make them rich with cognition and creates much more
enthusiasm to develop a robot on their own to further pursue their career in this existing filed.
VisionTIX is the outcome of extensive research after closely working with industrial and
academic experts. This course is broadly classified into 6 Main topics:

1. Introduction to Image Processing and tools presently being used in industry. Hands on session
to work on universal tool OCTAVE.
2. Implementing all the stages of image processing application on a mobile robot.
3. Methodologies to understand images and ways to work with different image processing
domains.
4. Introduction to microcontrollers and Programming of 8051 microcontroller.
5. Communication with the mobile robot via serial port using OCTAVE.
6. Developing Image processing application for a mobile robot to track and follow a colored ball.

Detailed course particulars are as follows:

Session I:
Introduction to DIP
Where the necessity and importance of image processing comes into picture!!!

What kinds of images are required for image processing?

Where Image Processing can be used and how?

What Image Processing can do for in the field of robotics?

Sequence of operations in developing a vision system.

Formal session to give you a feel of what all image processing can do and to what extent
of complexity it is being used in present autonomous robots.

Digital Camera Vs Web camera Vs Film Camera

Use of Digital Images other than photography.

Why Octave? Why not Matlab, C, Java or Open CV!!!

Octave
Intel Open CV
Pros and cons of JAVA
C language
Matlab

Session II:
The Octave User Interface:
This session introduces you to the main features of the OCTAVE integrated design environment
and its user interfaces. This is the important session to follow for proper understanding of later
sessions.

Interactively read data

Interactively plot data

Use expressions to compute new variables

Getting to know how to use Matlab help documentation effectively.

Working with Octave Variables:


Octave variables are data containers. In this session two essential operations are emphasized:
creating variables and accessing data the variables contain. This session also introduces
OCTAVE operations for computing with data.

Creating variables

Data import from external sources

Data entry from the command line

Matrix creation functions


Accessing vector and matrix data (indexing)
Row-column indexing
Linear indexing
Logical indexing
Vector and matrix arithmetic
Matrix and array operations
Eigen values and Eigen Vectors (Its practical use)

Session III
M-Files:
M-files are the editor files used for OCTAVE programming. This session gives an overview of
how to write, edit, run, debug, and publish M-files. The distinction between script and function
M-files is highlighted, and basic programming structures and best practices are introduced.

The MATLAB Editor

Script M-files

The MATLAB path

Function M-files

Sub functions and nested functions

Debugging

Best practices

Solution and analysis

Programming:
OCTAVE programming is a language. You speak the language through programs. Whether you
type in a single line of code at the command prompt or assemble multiple M-files into a
sophisticated application, you are programming in the M language. This section reviews basic
programming techniques and best practices, and then introduces some of the more programming
techniques that you can use to make your OCTAVE programs robust, efficient, and userfriendly.

Keywords and constructions

Program structure

Handling user input

Improving code performance

Function handles

Session IV:
Acquiring and Viewing an Image in OCTAVE:
I this session we learn to acquire an image using the using custom designed image acquisition
functions and to view the image in OCTAVE.

Connecting the hardware.


Retrieving hardware information.
Creating a video input object.
Configuring the video input object.
Previewing the video stream.
Acquiring the image data.
Viewing the acquired image.

Working with Images in OCTAVE:


Understand different image types and different space conversions supported in OCTAVE.

Definition of image and analyzing it with respect to image processing.

Understanding Image processing terminologies.

Exploring image types.

Monochrome image.

Grayscale image

Colored image

Understanding Image parameters

Dealing with Color Spaces

Importing and exporting images in MATLAB

Viewing the image

Finding image pixel values

Converting image formats

Session V:
Image Processing Approaches & Image Enhancement Techniques:
Enhance image characteristics by adjusting the image intensity and isolating the region of
interest

Special and Frequency domain

Pros and Cons of Special and Frequency domain Approaches.

Adjusting image intensity

Histogram stretching

Histogram equalization

Histogram adjustment

Using arithmetic functions to enhance images

Bit plane slicing

Deblurring

Thresholding

Edge Detection

Template matching

Distinguishing colors

Session VI:
Image Processing in Robotics

Object Tracking

Color based Image processing


Color segmentation using different color space

Session VII:
Hardware Details:
Get to know about 8051 motherboard details.

Features of VisionTIX mother board.

Features of Philips 89V51RD2 microcontroller.

Details of Motor Driver used (L293D).

Basics of Controller Programming:


An introduction to the embedded C programming concepts will be given. Step by step process of
coding in Keil IDE, for our particular microcontroller, shall be explained.

Assembly language

C programming

Keil

Flash Magic

Boot loading

Data Communication using OCTAVE:


The last phase of image processing. This session deals with the concepts of accessing serial and
parallel ports for communicating with robots.

Standard sequence of operations to be performed for playing with external devices.

How to create an object for parallel port, serial port and audio port.

How to configure each of them.

How to Start and Stop an Object

Tips and Tricks for using these ports effectively.

Formal practical session to Controller Robot using COM port.

Session VIII:
Development of Ball Follower Machine.
In this exhaustive session you are expected to develop a Vision based ball follower using the
concepts of Image processing discussed earlier.


Discussing properties of image acquisition devices

Distinguishing object from background

Finding distance of ball

Factors deciding sensitivity of the machine

Iterative image processing


Participants will then be given time to have trial run of their machines and to improvise the code
to optimize its performance.

Its Judgment time:


This is the session for you to display all your skills you have learnt throughout the training
program. A competition will be conducted among the participants and the students standing out
from the rest will be provided an opportunity to work at JAY ROBOTIX.

You might also like