Beruflich Dokumente
Kultur Dokumente
Engineering
Technology (IJEET),ENGINEERING
ISSN 0976 6545(Print),
INTERNATIONAL
JOURNAL
OFand
ELECTRICAL
&
ISSN 0976 6553(Online) Volume 5, Issue 8, August (2014), pp. 13-20 IAEME
TECHNOLOGY (IJEET)
IJEET
IAEME
Jithin Abraham2,
Midhun S2,
Ranjini Kunnath2,
1
2
Asst. Prof., Dept. of EEE, Mar Athanasius College of Engineering, Kothamangalam, India
UG Student, Dept. of EEE, Mar Athanasius College of Engineering, Kothamangalam, India
ABSTRACT
Self balancing robots are increasingly becoming popular because of their unique ability to
move around in two wheels. They are characterized by their high maneuverability and excellent
agility. This paper describes the design and testing of a self balancing robot that not just balances on
two wheels but also navigates its way around with the help of an on-board image processing system.
The robot as a whole can be considered as a combination of two units the balancing unit and the
image processing unit. The balancing unit performs all functions that keep the robot upright whereas
the image processing unit assists in autonomous navigation. The balancing unit runs a PID control
loop which improves the stability of the system. A real-time data plot is done in MATLAB to
analyze the stability of the system and also to improve it by tuning the PID controller constants. This
system can be used as a base model to accomplish complicated tasks which would otherwise be
performed by humans. Some situations include foot print analysis in wildlife reserves, autonomous
indoor navigation, etc.
Keywords: Accelerometer, Complementary Filter, Gyroscope, Image Processing, Inverted
Pendulum, PID.
1. INTRODUCTION
Unlike an ordinary robot, a two wheel self balancing robot requires just two point of contact
with the floor surface. The unique stability control that is required to keep the robot upright
differentiates it from ordinary robots. Such robots are characterized by the ability to balance on its
two wheels and spin on the spot. This additional maneuverability allows easy navigation on various
terrains, turn sharp corners and traverse small steps or curbs. These capabilities have the potential to
solve a number of challenges in industry and society. Small carts built utilizing this technology
13
International Journal of Electrical Engineering and Technology (IJEET), ISSN 0976 6545(Print),
ISSN 0976 6553(Online) Volume 5, Issue 8, August (2014), pp. 13-20 IAEME
allows humans to travel short distances in a small area or factories as opposed to using cars which is
more polluting.
The basic idea of a self-balancing robot is simple: drive the wheels in the direction in which
the robot tilts. If the wheels can be driven in such a way as to stay under the robots center of gravity,
the robot remains balanced. This is similar to the inverted pendulum model in control theory. The
pendulum is usually mounted on a cart through a hinge. The cart moves forward or backward to
ensure that the pendulum remains vertical. To drive the cart either forward or backward, knowledge
of the angle and rate of tilt of the inverted pendulum is required. This can be measured using an
inertial sensing unit.
The general design of the robot is a rectangular body on two wheels. The wheels are placed
parallel to each other. The robot body comprises of four layers placed one over the other by means of
plastic extenders. The layers are made out of 3mm thick glass epoxy PCB. The bottommost layer
consists of wheels, motors and battery. The second layer from bottom comprises of electronic
circuitry which include the microcontroller, angle sensor, voltage regulator and motor driver. The
third layer from bottom contains a microcomputer for image processing. The topmost layer
incorporates a digital camera compatible with the microcomputer and a distance sensor.
.
Fig. 1: A 3-D model of the framework of the proposed robot
The balancing unit and the image processing unit have a separate CPU. The balancing unit
contains a microcontroller the ATmega168 which runs at 16MHz. The image processing unit
contains a single board computer Raspberry Pi which runs at 700MHz [1].
An inertial measurement unit (IMU), a microcontroller, a motor driver and the motor forms
the balancing unit. They together perform all actions that are necessary for the stable operation of the
robot. The microcontroller continuously reads the data from the IMU and calculates the angle of tilt
of the robot with respect to the vertical. Based on this data, the microcontroller then sends
appropriate control signals to the motor driver to drive the motors.
14
International Journal of Electrical Engineering and Technology (IJEET), ISSN 0976 6545(Print),
ISSN 0976 6553(Online) Volume 5, Issue 8, August (2014), pp. 13-20 IAEME
15
International Journal of Electrical Engineering and Technology (IJEET), ISSN 0976 6545(Print),
ISSN 0976 6553(Online) Volume 5, Issue 8, August (2014), pp. 13-20 IAEME
16
International Journal of Electrical Engineering and Technology (IJEET), ISSN 0976 6545(Print),
ISSN 0976 6553(Online) Volume 5, Issue 8, August (2014), pp. 13-20 IAEME
3. AUTONOMOUS NAVIGATION
Autonomous navigation is achieved by combining an ultrasonic distance sensor and an image
processing system. With this added feature, the robot is able to take decisions on its own as to what
path should it take at a junction and what should it do when it confronts an obstacle. For this
purpose, a single-board computer interfaced with a distance sensor and a digital camera is used.
The ultrasonic distance sensor uses sonar to detect obstacles and to measure the distance to
them. On application of an appropriate trigger signal, the sensor transmits a high frequency sound
wave which is usually inaudible to humans. The obstacle then reflects back this wave and it is
captured by the receiver. To determine the distance between the sensor and the object, the sensor
measures the elapsed time between sending and receiving waves. The speed of sound in air is about
343 m/s, with minor dependence on temperature and humidity. So the distance in meters can be
obtained as given below:
Distance from object = 343 * elapsed time / 2
The single-board computer continuously measures the distance of the robot to the nearest
obstacle in front of it. If the distance is less than a predefined value, 25cm in this case, the
microcomputer triggers the camera and captures a frame. This image is then processed and is
checked for any useful information. Based on the information obtained from the image, the
microcomputer provides necessary instruction to the microcontroller to navigate the robot.
The colour image captured by the camera is first binarized, meaning it is converted to black
and white information. The binarization technique is done in the initial stage so that the load on the
microcomputer in the further stages can be reduced. The pixels in a binarized image would be either
black or white. The image is then inverted. This technique converts a black pixel to white and a
white to black. The image is then cropped to remove any unwanted part of the frame [5]. The
captured image is of reasonably high resolution and its size has to be reduced before further
processing can be done. As a next step, the image is brought down in size to approximately one-third
of its captured size. This image is then scanned for any recognizable text using efficient optical
character recognition software that is already built in the microcomputer.
Fig. 5 was obtained by holding a white paper, in front of the robot at a distance less than
25cm with the text RIGHT printed on it in black. Fig. 6 to Fig. 8 shows the changes in captured
image during various stages of image processing. Fig. 8 was scanned using OCR technique and the
microcomputer successfully identified the text RIGHT. The microcomputer then provides an
appropriate control signal to the microcontroller to turn the robot rightward. This example shows
how the robot reads data from its environment and how it effectively uses this data for its navigation.
17
International Journal of Electrical Engineering and Technology (IJEET), ISSN 0976 6545(Print),
ISSN 0976 6553(Online) Volume 5, Issue 8, August (2014), pp. 13-20 IAEME
4. EXPERIMENTAL RESULTS
During this project we experimented with PD and PID controller. PD controller was easier to
implement due to lower number of parameters to manipulate. It was found that with PD controller,
the robot stability decreased with time. The error accumulated over time and the robot would tip over
eventually. This was due to lack of integral term. MATLAB was used to plot the filtered angle
versus time (Fig. 9).
Fig. 9: MATLAB plot of filtered angle versus time while using PD controller
Due to the lack of stability over long periods of time inherent in the PD controller, we
implemented a PID controller. The constants where determined with the help of real time data plot
using MATLAB. By using real time data plot, the three constants for proportional, integral and
derivative components were determined. This led to improved stability which can be observed from
the graph. The angle of tilt of the robot is well within the safe limits. It has not even crossed 10
degrees as shown in Fig. 10.
18
International Journal of Electrical Engineering and Technology (IJEET), ISSN 0976 6545(Print),
ISSN 0976 6553(Online) Volume 5, Issue 8, August (2014), pp. 13-20 IAEME
Fig. 10: MATLAB plot of filtered angle versus time while using PID controller
5. CONCLUSION
Figure 11 shows the final design of the robot. The robot was tested on different surfaces to
find an optimum surface on which it would be perfectly balanced. While testing in various surfaces it
was found that surfaces like sponge or soft rubber which is soft enough to be slightly compressed by
the weight of the robot is the most suitable surface. In hard surfaces the contact area of the wheel
with the ground is reduced resulting in poor stability since the robot has a tendency to over balance
itself.
International Journal of Electrical Engineering and Technology (IJEET), ISSN 0976 6545(Print),
ISSN 0976 6553(Online) Volume 5, Issue 8, August (2014), pp. 13-20 IAEME
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
Matt Richardson, and Shawn Wallace, Getting Started with Raspberry Pi, Published by
OReilly Media, 2012, 1-31.
Hau-Shiue Juang and Kai-Yew Lum, Design and Control of a Two-Wheel Self-Balancing
Robot using the Arduino Microcontroller Board, 10th IEEE International Conference on
Control and Automation (ICCA), Hangzhou, China, 2013.
Shane Colton, The Balance Filter, Massachusetts Institute of Technology, Tech. Rep.,
2007.
Tim Wescott, PID without a PhD, Embedded Systems Programming, 2000, 86-108.
Kurt Demaagd, Anthony Oliver, Nathan Oostendorp, and Katherine Scott, Practical
Computer Vision with SimpleCV, Published by OReilly Media, 5174.
Maha M. Lashin, A Different Applications of Arduino, International Journal of Mechanical
Engineering & Technology (IJMET), Volume 5, Issue 6, 2014, pp. 36 - 46, ISSN Print:
0976 6340, ISSN Online: 0976 6359.
Sarthak Pareek, Embedded Based Robotic Vehicle Protection using Stisim Software,
International Journal of Electronics and Communication Engineering & Technology
(IJECET), Volume 5, Issue 4, 2014, pp. 36 - 42, ISSN Print: 0976- 6464, ISSN Online:
0976 6472.
20