Você está na página 1de 6

Proceedings of the 9th IFAC Symposium Advances in Control

Education
The International Federation of Automatic Control
Nizhny Novgorod, Russia, June 19-21, 2012

Educational aspects of designing robot for


Eurobot contest
VARGA Dániel ∗ Kristóf CSORBA ∗∗ Dávid SZALÓKI ∗∗∗
Zoltán BECK ∗∗∗∗ Gábor TEVESZ †
Budapest University of Technology and Economics, Department of
Automation and Applied Informatics

e-mail: Varga.Daniel@aut.bme.hu
∗∗
e-mail: kristof@aut.bme.hu
∗∗∗
e-mail: Szaloki.David@aut.bme.hu
∗∗∗∗
e-mail: Beck.Zoltan@aut.bme.hu

e-mail: tevesz@aut.bme.hu

Abstract: The Eurobot contest is an international robot building competition. This paper
presents an autonomous robot mechanical and electric design built to Eurobot 2011 robotics
contest. The robot collects the playing elements, builds towers and avoid collision with the
opponent robot. The building process, the control and vision algorithms are also presented.
We specify the used absolute (ultrasonic sonar) and relative (odometry) positioning methods,
and we describe their advantages and disadvantages. The hardware and software architecture,
navigation algorithms are also presented. This paper focuses on the educational aspects of the
project. We demonstrate how our team collaborates, and how the tasks were assigned to them
in order to comply their thesis.

Keywords: Autonomous mobile robots, Eurobot, Control education, Mechanical engineering,


Positioning systems, Obstacle avoidance, Robot vision

1. INTRODUCTION

Mobile robotics is one of the most dynamically improving


research field. Robots were appeared in our homes nowa-
days (e.g. vacuum cleaner robots), hence our department
places great emphasis on mobile robot education. During a
robot building project students learn a lot about mechan-
ics, electronics, software engineering and interdisciplinary
teamwork.
Department of Automation and Applied Informatics del-
egates student teams to Eurobot contest since 2003. The
first team was founded by Gábor Tevesz Dr. and four MSc
students. He is the team supervisor and project manager
of mobile robotics contests in our department. In 2011 our Fig. 1. Playing area
department organized twice RobonAUT robotics contest
(Csorba et al. (2012)), which is an autonomous robotics teams are playing a game in pairs, against each other. They
contest for our MSc students with his leading. The benefits have to operate in a fully autonomous way, without any
of educational robotics contest were recognized by other human interaction. Damaging and blocking the opponent
universities too (Hernando et al. (2011)), and we also is prohibited. The place and theme of the competition
found it useful to bring the theoretic knowledge to practice. changes from one year to another, but it is at all times
a skilful challenge (e.g. football, rugby, bowling and golf
Our team - RoBUTE - participates since 2007 starting
in recent years). The official rules of the actual challenge
with three team members (Kiss et al. (2008)). In 2011 we
are published about 8 months before the competition, the
have more than 10 members including software, electrical
teams have this time to prepare their robots.
and mechanical engineer students. Our team ranked at
13th place from 41 teams. The theme in 2011 is called Chess Up!, which is a modified
version of chess. The playing arena is shown in Fig. 1. It is a
Eurobot 2011 rules and regulations 210 cm wide and 300 cm long rectangle-shaped table. The
two concurrent robots must be placed to the starting areas,
Eurobot (Eurobot (2011)) is an international robotics and have to move as much playing elements (pawns, queens
contest organized every day since 1998. Robots built by the and kings) onto squares of their own color as possible to

978-3-902823-01-4/12/$20.00 © 2012 IFAC 342 10.3182/20120619-3-RU-2024.00074


9th IFAC Symposium Advances in Control Education
Nizhny Novgorod, Russia, June 19-21, 2012

Fig. 3. Distributed electronic system

Fig. 2. 3D robot model high pressure water. The robot has differential drive, and
the two driven wheels have coaxial shafts. This driving
collect match points. The actual playing color of the robots method is very simple, but effective, because the robot
is determined directly before the match. It is allowed to could rotate around its center point. The driving algorithm
stack the pawns to obtain extra points. The chess-pieces is also very simple in this case. The wheels were driven
are equipped with magnets to help exact positioning while by brushless DC (BLDC) motors. We chose this motor
stacking them. Placing playing elements - including built type, because of the size limitations of the robot. These
towers - to bonus squares multiplies the given points. motors have the best power/volume ratio. In order to
The robots could steal elements placed on opponent color, reduce the slipping errors of odometry (See Section 4.1)
and put them to their own color. Removing elements the robot was equipped with free running wheels for
from protected areas is strictly forbidden. One match position and orientation calculation. Odometry wheels
lasts 90 seconds and the robot which has more playing were strangulated with springs to the ground.
elements or towers on its own color wins the match.
Safety issues and several limitations applies to the robots. The front lifting manipulator grabs the playing elements.
The maximum height of the robot is 350 mm, and the The two grippers were rotated by two model servos. During
maximum perimeter is 1200 mm before start, and 1400 seeking, the grippers are opened. If a playing element was
mm during the match. Deliberately blocking, confusing or got into the manipulator, a mechanical switch is pushed,
damaging the opponent robot is prohibited. and the servos close the grippers. The element could be
lifted up in order to build towers. Two spindles were
This paper is organized as follows. The mechanical de- placed to the sides of the manipulator, and a DC motor
sign and the electronic control system are discussed in spins them by means of ribbed belts and belt wheels. The
Section 2. Absolute and relative positioning methods with side arms are equipped with electromagnet. The pawns
vision-based position refinement algorithm are described contain neodymium, hence they could be lifted with the
in Section 4. In Section 5 we deal with vision system electromagnet. The arms are actuated by model servos.
designed for locating playing elements. The navigation
algorithm and its software environment are included in 3. ELECTRONIC CONTROL SYSTEM
Section 6. The team collaboration and the educational ARCHITECTURE
aspects are drawn in Section 7.
The theme of Eurobot contest varies every year, and the
2. ROBOT DESIGN mechanics should be redesigned. Hence the number of
sensors and actuators also vary. In order to make the
The base of the robot hardware is an aluminium skeleton, system flexible, we designed a distributed control system
and the mechanical and electrical parts are attached to it. shown on Fig. 3.
The robot has
The main control unit is an industrial PC (AMD Geode
• two side arms and one lifting gripper for element LX800 500 MHz Nano ITX board). The connection be-
manipulation tween the PC and the nodes is managed by a gateway.
• differential drive wheels for movement Using CAN bus in mobile vehicles (including cars) is
• dedicated free running wheels for odometry prevalent. This bus architecture is very fault-tolerant in
• distributed low-level electronics for actuators and noisy environment, hence the communication between low-
sensors level nodes is implemented on CAN bus (Majsai (2008)).
• industrial PC with Linux for high-level algorithms
• Microsoft Kinect for vision. 3.1 Nodes
The 3D mechanical design is shown in Fig. 2. The robot
was designed in Autodesk Inventor Studio mechanical The main unit of the nodes is the TMS320F28xx Texas In-
CAD system. struments DSP. The main features of this microcontroller
are listed below:
The skeleton made of rectangle shaped aluminium beams.
Most parts were made of aluminium too, and were cut by • 100 MHz internal system clock

343
9th IFAC Symposium Advances in Control Education
Nizhny Novgorod, Russia, June 19-21, 2012

• 100 MIPS
• 32-Bit fix point arithmetic
• 128K X 16 Flash, 18K X 16 SARAM
• 35 GPIOs
• CAN, UART, SPI modules
• Quadrature encoder interfaces
• 6 PWM modules
• 16 channel 12-Bit ADC
Every node consist of a Core Card and a specialized cou-
pling card. The circuits are connected in sandwich struc-
ture. Core Cards comprises DSPs and all suitable elec- Fig. 4. Free-running odometry wheel
tronics the DSPs need (e.g. crystal, connectors, switching
power supplies, etc.).

BLDC node The Faulhaber BLDC main motors are


driven by this node. The drive electronics were also pro-
vided with the motors, hence the only function of the
BLDC node is hosting the drive modules and attaching
to the Core Card. This node also calculates odometry,
thus the rotary encoders of free-running wheels are also
connected.

Model servo node Model servos are usually used in hobby


modeling. They are very compact: the motor, gearbox,
position feedback and driving electronics are integrated
in a cuboid housing (see Fig. 2). The servos needs 6V
power, and the position signal pulse. The duration of the
pulse is directly proportional to its shaft angle. The model
servo node produces the suitable power, and produces the
signals. Up to 6 servos could be attached. Fig. 5. Differential driven robot platform
below. It worths using more than one positioning method
Input node Basically two types of sensors are used:
(Tsai (1998)), because unexpected events could occur dur-
distance sensors and microswitches. The Sharp GP2Y0A02
ing the match, like collision. Besides relative positioning
infrared distance sensor operates from 20 cm to 150 cm,
methods cumulate inaccuracy errors.
and generates analog output voltage depending on the
measured distance. This sensor can be used for detect-
4.1 Odometry
ing opponent robot, measuring play elements height and
distance. We use the ADC inputs of TMS320F28xx DSP
for measuring the output voltage of maximum 8 sensors. As mentioned in Sect. 2. free-running wheels are dedicated
Every input is protected with clamp diodes and post- for odometry calculation.
amplifiers. Maximum 12 microswitches could be connected In Fig. 4 the mechanical design is shown. A rotary en-
to an input node. coder is attached to the wheel’s shaft. The encoder has
two channels (A and B), and produces 2048 pulses per
DC motor and electromagnet node This node was de- revolution. Every rising and falling edge of both channels
signed especially for this robot mechanics. Usually two DC are counted, that multiplies the pulses by 4. The diameter
motors could be connected to a motor drive node. In our of free-running wheels is 40 mm, and the resolution is
case we have one DC motor for lifting the gripper console, 0,0434o per increments (8192 increments per revolution).
and two electromagnets those must provide bidirectional
magnetic field, which is very important. Generating re- After one sampling interval we suppose that the left and
pulsive magnetic field is needed for releasing the playing right wheel encoder increment change is NL and NR
elements, because the neodymium magnets are strong (Borenstein et al. (1994)). The conversion factor (cm )
enough to attract the ferrit core. In this unfortunate case between encoder increments and linear wheel displacement
the releasing position of the element is not definite. We did is
not want to use two DC motor nodes, thus we contracted cm = π2Rn /Ce (1)
them into one node. This node contains three full bridges,
and it can accept two quadrature encoders. where Rn is nominal wheel radius, Ce is encoder resolu-
tion in increments per revolution. The incremental travel
4. POSITIONING distances are calculated by
∆sL/R,i = cm NL/R,i (2)
Position and orientation information is indispensable in
mobile robotics. Two main types of positioning methods and the incremental linear displacement (∆si ) of the
are distinguished: absolute and relative. We discuss odom- center point of the robot is
etry (relative) and ultrasonic positioning system (absolute) ∆si = (∆sR,i + ∆sL,i )/2 (3)

344
9th IFAC Symposium Advances in Control Education
Nizhny Novgorod, Russia, June 19-21, 2012

The incremental change of orientation


∆θi = (∆sR,i − ∆sL,i )/W (4)

where W is the wheelbase of the robot, ideally measured


between the two contacting points between the wheels and
floor. The new relative position and orientation can be
computed as follows:
The incremental change of orientation
θtemp = θi−1 + ∆θi /2 (5)
xi = xi−1 + ∆si cosθtemp (6)
xi = yi−1 + ∆si sinθtemp (7)
θi = θtemp + ∆θi /2 (8)

Odometry is simple to implement, but it has disadvan- Fig. 6. Ultrasonic localization system
tages. The systematic and non-systematic errors are cu-
mulating during the movement. Systematic errors: the ambient temperature for compensation. The speed of
sound is calculated by
• relative wheel radius difference r
• wheel radius deviation of nominal T
c(T ) = 331.3 (9)
• wheelbase deviation of nominal 273.15
• finite encoder resolution
• sampling error where c is the speed of sound, and T is ambient temper-
ature in Kelvin (Everest (1989)). Temperature measure
The first three systematic errors could be eliminated with error provides distance error. The calculated distance s is
UMBMark calibrating method (Borenstein et al. (1994)). the product of TOF and speed of sound, thus the absolute
The last two errors could not be eliminated, but they could error of distance measurement (∆s) is calculated as the
be considered, when the position and orientation error is total derivative of c · t:
estimated. ∂s ∂s
∆s ∼
= ∆c + ∆t = t · ∆c + c · ∆t (10)
The non-systematic errors: ∂c ∂t
• soil roughness The temperature measure error is ∆T , and the TOF error
• wheel slipping because of is negligible, the absolute error:
· slippery soil ∂c 1 ∆T
· high acceleration ∆s ∼= t · ∆c = t · ∆T = . . . = · s · (11)
∂T 2 T
· collision
· wheel contact point displacement If s = 5 m, T = 298 K and temperature measure error
∆T = 1 K, the distance error is ∆s = 84 mm. Minimizing
Non-systematic errors could not be eliminated, but re- this error a platinum RTD temperature sensor is placed on
ducing their effect is possible with accurate fabrication of the master. The resistance of RTD is measured with four-
mechanics. Even so position refinement is needed during wire measurement method in order to reduce temperature
motion. If the robot has microswitches in front, the posi- measurement error significantly. After the TOFs were
tion and orientation refinement is possible with boundary given, the robot position is at the intersection of two
walls. Absolute positioning methods could be used for circles. This method provides only position information
refinement too. with 50 mm accuracy, thus we need other manners for
refinement.
4.2 Ultrasonic positioning
5. VISION SYSTEM
Fig. 6 shows the ultrasonic trilateration scheme used for
absolute position measurement. Two fixed beacons (mas- Microsoft Kinect is a popular accessory for XBOX 360
ter and slave beacon) are placed in fixed order in the game console. Many universities are using it for machine
corners of the playing area. Each beacon is equipped with vision, because of its low price and depth image capability.
four ultrasonic receiver capsules, because the receivers
have limited detecting range. The transmitter is placed on 5.1 Vision-based position refinement
robots (opponent and our robot). The ultrasonic trans-
mitter is placed over a cone-shaped reflector for omni- The Microsoft Kinect contains a normal VGA camera and
directional radiation. The distance between beacons and an infrared camera for depth image. An infrared laser
the speed of sound is known, hence the positions of the device projects structured light to the environment, and
robots could be determined by measuring the time of flight the Kinect calculates depth image from the distortion of
(TOF) between robots and beacons. The master beacon the structured image. For position refinement the VGA
controls the whole localization process. It synchronizes all camera image is used, because the playing area is chess-
units, computes the coordinates and accurately measures painted. First the accurate position and orientation is

345
9th IFAC Symposium Advances in Control Education
Nizhny Novgorod, Russia, June 19-21, 2012

assumed. The supposed intersection points of the playing 5.4 Detecting elements during the match
area are projected to the screen. The algorithm searches
intersecting lines in order to find the vertices. The robot Locating elements during the match is more different,
position and orientation information is not accurate, hence because they could not be expected in known positions.
the found and the projected points are displaced. If the If higher value point in depth image is found a filling is
position and orientation error is small, the compliance be- started. Every points higher than the ground is added
tween projected and found points is given. With known in- to this group belongs to element(s). The following tower
ner camera parameters the robot coordinate system could configurations are possible:
be refined after applying a camera calibration (Zhang
• 1 pawn
(2000)).
• 2 pawns
• 1 pawn and a king or queen
• 2 panws and a king or queens
5.2 Element localization
Other configurations are invalid. The height of the towers
is rising in the enumeration. Hence the value of the highest
The main task of the vision system is locating playing
point in the group in depth image is unequivocally deter-
elements. Pawns are cylinders with 200 mm diameter and
mines the tower configuration. The center of the supposed
50 mm height (Eurobot (2011)). All the pawns have 2
element is the center of gravity of the group in depth
magnets in their center on each side. The magnet’s south
image. The algorithm does not care with agglutinated
poles are on the bottom side. The king and queen are
elements, because during the tests it did not seem nec-
built like a pawn with an optional figure (chess piece) on
essary to distinguish them. In this case the grippers could
its top. They are 230 mm high. They differ in shape, and
separate the elements.
they have barcode on their sides. At the beginning of the
match, playing elements are placed in different areas (See 6. NAVIGATION
Fig. 1).
• 9 pawns are placed in the central ”chessboard” part In previous years the robot was controlled by a self devel-
of the table randomly oped state machine. We have problems during matches,
• 6 pawns are placed in the two green dispensing areas because adjusting the strategy was a difficult task: adding
on each side of the table (3 pawns per one dispensing a new state was an error source. In this year we use LUA
zone) script language detailed in the next section.
• 2 kings and 2 queens are placed in the two green 6.1 Software architecture
dispensing areas on each side of the table (1 king and
1 queen per one dispensing zone) arranged in random The software architecture has four levels.
positions
(1) LUA script level
The arrangement is mirrored to the centerline of the (2) LUA implementation level
playing area. After the elements were placed, the robot can (3) Gateway level
not be configured, hence the vision system must detect the (4) DSP controller level
arrangement.
The high-level navigation algorithm is implemented at
Locating playing elements has two phases: detecting the LUA script level. LUA is a script language with sophis-
initial arrangement and detecting elements during the ticated parallelization. It is small and easy to embed. It
match. The common part of these algorithms is their first has an internal state machine hidden from user. The par-
step. The position and orientation of the Kinect comparing allelization is solved with coroutines. The parallel tasks run
to the robot reference point is known. Hence the depth collaterally, and they wait for each other in a determined
image could be transformed from an isometric view to top program location.
view. More higher an element the higher value is given.
Both vision algorithms are on demand, thus they are only The LUA implementation level contains the LUA inter-
calculated, when the high-level control algorithm requests preter, the state machine. This level is implemented in
it. C++ programming language.
The gateway level is responsible for communication be-
tween nodes and control algorithm. This level is imple-
5.3 Determining initial element arrangement mented in two hardwares. The compliance between LUA
functions and C++ functions is implemented on the indus-
Before start the possible positions of playing elements are trial PC, but the low-level communication interface runs
known. The only task is to decide whether there is an on DSP-based gateway.
element in the possible location or not. Before start the The low-level control functions implemented at DSP con-
robot is standing in starting zone in a known position, thus troller level. Every node has specialized functions (e.g.
the vision system knows where the possible positions are. If speed controller, odometry calculation, sensor scaling), but
there is a higher value in depth image in these positions, the CAN-based communication is common.
a playing element is noticed. In order to determine the
arrangement of kings and queens in the green dispensing 6.2 Navigation algorithm
area, a threshold is given. If the depth image value is higher
than a threshold a king or queen is noticed. The robot follows a simple strategy. After start it

346
9th IFAC Symposium Advances in Control Education
Nizhny Novgorod, Russia, June 19-21, 2012

of Gábor Tevesz Dr. associate professor. Beside electric


and software design our students came to know teamwork
difficulties, and experienced well desired success in Russia,
Astrakhan, where the contest was held. The 13th place
in this famous international robotics contest is a good
reinforcement of worth of hard learning and working.
Our robot showed good figure. Mechanics was strong
enough to survive the long car trip to Russia, and accurate
enough to play a whole match without odometry calibra-
tion. The Kinect seemed to be a good choice, when our
robot was playing alone. If the opponent robot was also
equipped with Kinect, the vision was failed, because the
Kinects were interfering. We lost one match for the sake
of it. The motors and servos were fast and strong enough,
but the lifting speed of the console was very slow. In a
few words in this year our team performed according to
expectations
ACKNOWLEDGEMENTS

Fig. 7. Navigation algorithm display This work is connected to the scientific program of the
”Development of quality-oriented and harmonized R+D+I
The robot movement consist of two primitives: straight strategy and functional model at BME” project. This
movement and rotation around reference point. project is supported by the New Széchenyi Plan (Project
After start the robot tries to get the closest 2 pawns with ID: TÁMOP-4.2.1/B-09/1/KMR-2010-0002).
sidearms, and seeks the closest king or queen, and tries to
grab it. If the robot has pawns it searches for king or queen, REFERENCES
and if it has a one of them, it seeks pawns. If the robot has Borenstein, J., Feng, L., Everett, H., of Michigan., U.,
two pawns and one king/queen, it tries to build a tower. Laboratory., O.R.N., and States., U. (1994). ”Where
Weights are assigned to squares (See Fig. 6). Smaller values am I?” : sensors and methods for autonomous mobile
are the better, and only the weights on our color is valid. robot positioning. Vol. 3 / by L. Feng, J. Borenstein
The aspects of value assignment are the following: and H.R. Everett ; edited and compiled by J. Borenstien.
• the bonus squares are better (B5, D5) University of Michigan, Michigan :.
• protected squares are better (F1, F5) Csorba, K., VARGA, D., Kiss, D., and Tevesz, G. (2012).
• squares at the walls are better (F3, A2, A4, A6) The robonaut autonomous mobile robot construction
contest. In Proceedings of IFAC Symposium on Ad-
The location of the opponent robot is provided by the vances in Control Education.
ultrasonic sonar system. A safe zone is defined around the Eurobot (2011). Eurobot rules and regulations. URL
maximum perimeter of the opponent robot. The width of http://www.eurobot.org.
this zone is equal to the maximum diameter of our robot. Everest, F.A. (1989). The master handbook of acoustics /
The reference point of the robot should not be within F. Alton Everest. TAB Books, Blue Ridge Summit, PA
this zone. During path planning the robot simulates the :, 2nd ed. edition.
possible straight path to the desired playing element. If it is Hernando, M., Galan, R., Navarro, I., and Rodriguez-
not possible to reach the selected element, the weight level Losada, D. (2011). Ten years of cybertech: The ed-
is raised, and another element is selected for gathering. ucational benefits of bullfighting robotics. Educa-
tion, IEEE Transactions on, 54(4), 569 –575. doi:
7. TEAM COLLABORATION AND CONCLUSIONS 10.1109/TE.2010.2095014.
Kiss, D., Varga, D., Vékony, D., and Tevesz, G. (2008).
Eurobot is an educational contest, thus our goal is in- Exact robot navigation by means of potential function:
volving as much students as we can. Two departments some topological considerations. In Proceedings of the
collaborated in this project. The mechanical design was EUROBOT Conference 2008, 144–156.
made by two graduating mechanical engineer students Majsai, D. (2008). Can protocol developent for distributed
as a BSc thesis. They were consulted by a PhD student robot control architecture.
and a master teacher from Department of Mechatronics, Tsai, C.C. (1998). A localization system of a mo-
Optics and Engineering Informatics. The major part of bile robot by fusing dead-reckoning and ultrasonic
this project belongs to Department of Automation and measurements. In Instrumentation and Measurement
Applied Informatics. Two electronic engineering MSc stu- Technology Conference, 1998. IMTC/98. Conference
dents (Zoltán Beck and Dávid Szalóki) designed and pro- Proceedings. IEEE, volume 1, 144 –149 vol.1. doi:
grammed the nodes and low level communications. One 10.1109/IMTC.1998.679741.
software engineering BSc student made the navigation al- Zhang, Z. (2000). A flexible new technique for cam-
gorithm, and a PhD student implemented the vision. Two era calibration. Pattern Analysis and Machine Intelli-
PhD students (Varga Dániel and Domokos Kiss) consulted gence, IEEE Transactions on, 22(11), 1330 – 1334. doi:
the team and managed the project with the supervising 10.1109/34.888718.

347

Você também pode gostar