You are on page 1of 2

PROPOSAL

The project is to make a robot that can follow the object predefined by the
user with the help of digital image processing algorithms. These would detec and
track the object using the cameras area of focus. The robot is built with an Arduino
micro controller board.
The robot would be controlled by using a PID control algorithm. The PID
control mechanism is a control feedback mechanism. The robot would have a
camera mounted on it that live streams the video to the computer. This can be
processed by using the OpenCV toolbox. It is developed with in-built image
processing algorithms with accessible programming functions. This tool also has
several modules that are required for the digital image processing algorithms.
These modules help us to capture real time video which would track the object
predefined by the user. Moreover, these modules will allow us to perform some of
the more complicated algorithms like motion tracking and camera calibration.
A PID controller can be used to control movement of the robot along the X
and the Y axis. This is because this controller can calculate the error between the
desired point and the current position of the camera mounted on the robot and
move to the desired location. The PID controller causes this correction by a
combination of 3 processes namely proportional, integral and differential
processes. The proportional process would be required to estimate the distance
between the desired location and the current location of the robot. The differential
process would allow the robot to determine the rate of change of the position of the
robot and the integral would allow the robot to determine if the robot has moved to
the required location. This can be achieved by converting the pixel ratio to the
ground ratio.
Arduino is an open source platform that uses easy to use hardware and
software. It is mainly used for creating interactive objects and environments. It
uses an Arduino code that is executed by the micro controller. This can done by
using the RX and the TX pins connected to the USB serial bus. It also contains a
bootloader code that is used by the board. Moreover, the Arduino code uses C, C++
functions which are called to execute code. The Arduino has a programmable
circuit board or microcontroller and an IDE that can be run on any computer. This
can then be used to write and send the code to the physical board. In this project
we use an Arduino Uno board which uses an ATMEGA328 which has 14 digital
pins which are used as input and output. It operates at 5Volts and each pin receives
and provides 40mA. The board has 6 analog inputs and each provides 10 bits of
resolution. The image of the Arduino board is as follows:

The tracking of the object is done using the Camshift algorithm. The
Camshift algorithm is the digital image processing algorithm which will mask the
image that is being streamed by the camera. The algorithm then choses a search
window. This is done by using the probability distribution image derived from the
color histograms. It then converts the image into a Hue Saturation Value (HSV)
color image. This then calculates the centroid of the 2D color distribution of the 2D
color window. The color histogram is calculated by using the variation of intensity
in the range of the pixel values present in the video frame. Each of these
subdivision of pixel ranges are called bins. Now the color probability distribution
function is calculated. Then the algorithm re-enters the window and calculates the
area for the next window and so on until the algorithm finds the object that is to be
tracked.

You might also like