Beruflich Dokumente
Kultur Dokumente
Anthony Madezco 1a,*, Byron Manzo 2b, Hugo Wong 3c, Elizabeth Martinez4a
a
Ingeniería en Mecatrónica, Escuela Superior Politécnica del Litoral, Guayaquil, Ecuador
b
Ingeniería en Petróleo, Escuela Superior Politécnica del Litoral, Guayaquil 0939314022, Ecuador
c
Ingeniería en Electricidad, Escuela Superior Politécnica del Litoral, Guayaquil, Ecuador
*
Anthony Madezco.
Address: C/ Perimetral km 30.5, Escuela Superior Politécnica del Litoral, Guayaquil 090903, Ecuador.
E-mail address: usuario@espol.edu.ec (N. Surname).
1
The infrared sensors will be located in the the chassis and the hardware components used, and the
external front part. logical design, in which we will talk about the structuring
The omnidirectional wheel will be added on the of the program carried out for the operation of the robot.
inner front. In relation to the physical design, the robot must have a
The base for batteries and the microcontroller correct support or chassis to contain all the pieces that
will be installed in the main base of the chassis. will take.
The chassis will be composed of the base, a
The two bidirectional wheels are connected to the
front piece, a rear piece and two side pieces.
Servomotors, this will allow a mayor control in the
displacement of the robot, and the omni-directional
wheel will provide the ease of rotation.
3. Development
The objective of this project is to build a mobile robot th
at avoid obstacles. By the correct selection of the parts The robot will always be detecting the presence of
the robot will have the ability to move without colliding, obstacles, so it must constantly receive the signals
dodging all the obstacles in his path. obtained by the sensors to see if there is any obstacle. If
you do not find a must continue moving forward and if
Hardware requirements
you detect it rotates to one side or another, depending
The device will have two bidirectional wheels and one on the sensor that has located the obstacle.
omnidirectional wheel. This will allow that our robot can
When an obstacle is found, the robot must turn to the
rotate and spin, means significant energy savings, since
side where it is opposite to the one that has located the
instead of having to feed four servomotors (4-wheel
obstacle.
chassis) or have heavier wheels (caterpillar chassis) we
only must feed two servomotors (The omnidirectional When the robot has the free path, it should move forward
wheel is purely mechanical, it does not need power). In until it redetects something that blocks the passage.
addition to the design requirements, for the construction Design
of the chassis we will use foam, which is very light.
For the design process we will focus on 2: the physical
Once the chassis is defined, we have to choose the design and the logical design.
necessary hardware components. As it was said before,
we will use three wheels, two bidirectional and one
omnidirectional. For the operation of the two-way wheels
we will need two servomotors (one for each).
For the obstacle detection, we will install one ultrasonic
sensor, that will send a signal showing the distance of
each obstacle that is facing.
Also, we will need batteries to feed the robot and the rest
of the components, and finally a microcontroller
responsible for distributing the input signal to the
analogue outputs.
Table 1 materials
Physical Design
Materials Quantity Price $ Total $ The robot design consists of two clearly differentiated
parts. The physical design of the robot, which includes
Arduino genuino Uno 1 12 12 the chassis and the hardware components used, and the
Protoboard 1 3 3 logical design, in which we will talk about the structuring
l293d 1 1 1 of the program carried out for the operation of the robot.
Ultrasonic sensor 1 3.5 3.5 In relation to the physical design, the robot must have a
Biderectional wheel 2 1.5 3 correct support or chassis to contain all the pieces that
will take.
Omnidirectional
wheel 1 1.5 1.5 The two bidirectional wheels are connected to the
Servomotors, this will allow a mayor control in the
Dc motors with displacement of the robot, and the omni-directional
gearbox 2 2 4 wheel will provide the ease of rotation.
Jumpers 16 0.1 1.6 In the support will also be the base of the batteries that
Battery 9V 2 3 6 will feed all the components of the robot
Total 35.6 The output of the sensors will be connected to the inputs
of the Arduino, and this will send a signal to the engines
Software requirements to act according to the logic imposed
The main functions that the robot must perform are: to The distribution of the parts in the chassis is as follows:
detect obstacles, to move forward and to turn to avoid •The servomotors will be installed on the side of the
obstacles. chassis.
The robot design consists of two clearly differentiated •The infrared sensors will be located on the external front
parts. The physical design of the robot, which includes side.
2
•The Omni-directional wheel will be added to the inner
front.
•The battery base and microcontroller will be installed in
the main chassis base.
•The chassis will consist of the base, a front piece, a rear
piece and two side pieces. The two main functions are "detecting" and "forward".
The "detecting" function will tell us if it finds an obstacle
or not, and if it does, what is the sensor that detects the
obstacle.
The "forward" function will manage the data received
3.2
from the detect function. If it detects no obstacle,
"forward" will call the function "dosmotor" with the
necessary parameters for the robot to continue its way
forward. If you find an object to the right or to the left, you
will call the function "right" or "left", depending on where
4.1 the obstacle is, which will rotate the robot until there is
no obstacle and you can continue the march.
The "right" and "left" functions make the wheels turn to
the corresponding side and call "detect" to see if there
are still obstacles or not. So that the robot does not enter
a movement loop, it will continue to turn in the same
direction until neither sensor detects obstacles in the
3.1 path. If this is not the case, the robot could enter a neutral
position, where it detects an obstacle on one side, begins
to turn to the opposite side, stops detecting the obstacle
and detects another on the opposite side, so it would turn
in the opposite direction and would detect the first
obstacle again, which would mean that it turned towards
3.3 both sides without stopping.
Taking as reference the Arduino website in general (
ref.1 and ref.3 ) and specifically the M Environment M
section (ref.4), we know that Arduino is an open source
electronic prototyping platform based on flexibility and
ease of use of your hardware and software.
The Arduino open source environment makes it easy to
wri analogWrite(pwm1,200);
analogWrite(pwm2,200);te code and upload it to the
2.1
Arduino board or use it on Windows, Mac OS and Linux.
The environment is written in Java and based on
5.1 Processing, avr - gcc, and another open source
software.
2.2
Programs written using Arduino are called "sketches."
These "sketches" are written in the text editor and saved
with the file extension "ino". It has features for cutting /
pasting and for searching / replacing text. The
"feedback" area provides information while saving the
"sketch" or is exported to the hardware and shows the
errors that have occurred. The console displays text
output through the Arduino environment including
complete error messages and other information. The
lower right corner of the window shows connected
Arduino board and the serial port. The buttons on the
toolbar allow you to compile and load programs, create,
Logical design
open and save sketches, and open the "serial monitor"
Once analyzed the requirements of the program that we that checks the status of the current serial port.
have to create to achieve the desired behavior of the
The Arduino development environment contains a text
robot, we must proceed to its design. editor for writing code, a message area, a text console,
Every program made using the Arduino language has a a toolbar with buttons for common functions, and a series
"setup" function, where we indicate the input and output of menus where there are additional functions. In
signals, and a main loop that contains the primary addition, it connects with the Arduino hardware to load
functions of the program. From this loop is where we will the programs and communicate with them.
design the program of robot.
3
select the "Upload" option in the "File" menu. The current
Arduino boards will automatically reset and begin
charging.
The Arduino platform is programmed by using its own
language based on the high-level programming
language "Processing". However, it is possible to use
other programming languages and popular applications
in Arduino, because Arduino uses serial data
transmission supported by a large number of
programming languages. For those who do not support
the serial format natively, it is possible to use
intermediary software that translates the messages sent
by both parties to allow fluid communication.
4. Conclusions
We can notice that the realization of a robot does not
require large monetary investments, nor does it need the
latest generation technology, and with the analysis of this
proposal we can see that with limited resources it will be
possible to develop an automated robot with a
microcontroller.
References
[1] Gullstrand G. Obstacle Avoidance for a Mobile Robot.
n.d.
[2] Javier Vicente Busquets Mataix, A. (2014).
Development of a small robot mobile based
microcontroller (undergraduate thesis).
Once you have selected the correct board and serial Polytechnic University of Valencia, Spain.
port, you have to press the load button on the toolbar or