|
Richard Balogh Institute of Control and Industrial Informatics FEI, Slovak University of Technology in Bratislava, email: richard.balogh@stuba.skIndex:
The BoeBot mobile robot [1] is a commercially available robotics kit (see Fig. 1) by the Parallax, Inc. company. It consists of two geared motors mounted on an aluminium chassis, batteries and control electronics. On the motors are mounted two plastic wheels. The rear wheel is made of a drilled polyethylene ball. Mounting holes and slots may be used to add custom robotic equipment.
Figure 1: The BoeBot
mobile robot. The robot is controlled by the Parallax’s popular microcontroller Basic Stamp II and the Board of Education (see Fig. 2). It is a simple board containing a processor, power supply circuits, interfaces, connectors and a small experimental solderless breadboard. The Basic Stamp II processor can be programmed with the PBASIC language [2] – simple, but powerfull clone of the Basic language with the support of many specific peripheral devices. The code is developed within the free integrated development environment Basic Stamp Windows Editor, which contains also the code downloader and the communication terminal (Fig. 3).This platform is quite intuitive for beginners, but has enough potential to keep more advanced students and hobbyists interested. The kit includes everything you need to make a functional, educational and entertaining mobile robot. No previous robotics, electronics or programming experience is necessary. The kit is supplied with a comprehensive textbook Robotics with the BoeBot [1]. The textbook includes more than 40 different activities for the BoeBot robot with the PBasic source code. Each chapter contains the exercises and challenges with solutions. The activities start with the basic movements and proceeds to sensorbased projects. Students quickly learn how the BoeBot is expandable for many di?erent robotic projects. The Student Guide contains eight chapters concentrated on di?erent topics of robotics:
2 Control of inputs and outputs. The processor contains 16 general purpose pins, which can be freely configured as inputs or outputs. Below is a short program for the LED diode connected to the pin 14 controlled by the switch connected to the pin 3. The circuit is built on the solderless breadboard according to the schematics in the Fig. 4.
Servos (shown in the left in the Figure 5) are DC motors with builtin gears and feedback control loop circuitry. The motors are small, compact and rugged. Most of them can rotate and hold a position between 90 and 180 degrees. Their precise positioning makes them ideal for radio controlled planes, cars, puppets, and, of course, robots. Modi?ed, or continuous rotation servos receive the same electronic signals, but instead of holding certain positions, they turn with certain speeds and directions. The servos are connected using two power supply (4,8 – 6 V) and one signal wires, no further motor drivers are required. The servo electronics is controlled by a pulsewidth modulated (PWM) signal. Pulses repeats each 20 ms, whilst its width controls the speed of the servo. The continuous rotation servo turns with full speed clockwise when you send it 1,3 ms pulses, 1,7 ms pulses will make the servo turn with full speed counterclockwise. The servo will be stopped with 1,5 ms pulses.
Below is the PBasic code that shows the basic use of the servo motor
control. Pulsing of the servo’s signal line with the Basic Stamp processor
is done with the PULSOUT command. The command ’PULSOUT 13, 750’ sends
to the pin 13 a pulse that lasts 750 × 2µs, that’s 1500 µs or 1,5
ms. This value stops the movement of the shaft. We can control the
speed of the motor by adding or substracting values up to 250 from
the center (750) position. Note that the left motor should rotate
in oposite direction with respect to the right motor if required direction
of the movement is forward, because the motors are mounted in a mirrored
position.
Digital sensors are simply connected to some of the I/O pins and their outputs are directly readable using the IN command. Analog sensors can be read using an external A/D converter (see an example) . Resistive or capacitive sensors can be connected directly to the digital I/O pins and their value is calculated from the measured RC time constant. Also the sensors with PWM or time varying outputs can be read directly. The following program shows an example how to read the state of the digital sensor (bumper) and the analog distance sensor using the ADC.
5 Simple communication user interface Another important issue, especially during the debugging phase, is a communication with the user. One possibility is to use the serial communication interface RS232 and the PC with the terminal program running. Another approach uses an added LCD display placed directly on the robot. Bidirectional serial communication is also supported in PBasic. The following program uses the DEBUG command to write some texts and values of the variables on the communication console.
In this section we briefly mention alternatives for those who want to change the programming language of the robot, or simply to use another hardware platform. The hardware The BoeBot robot in fact consists of two continuous rotation servos
(available from any hobby shop), battery holder and mechanical chassis.
That makes possible to replace each mechanical part of the robot with
own piece of hardware. One example of it is an omnidrive robot with
three omnidirectional wheels based on the triangular chassis [7].
Still it is possible to use all of the previous mentioned features, using the standard Board of Education by the Parallax, or simply the BasicStamp chip itself. Software As previously mentioned, for those who like a Java programming, there is a special Javelin processor [3] available. This is a BasicStamp pin compatible processor which can be programmed in a simple subset of Java language. Another approach, presented e.g in [8], is a robot remotely connected using the Bluetooth or another radio connection to a standard PC. The robot only responds to the commands sent from the master computer. The control program can be written in the highlevel language of your preferred choice. The robot in [8] is equipped with a wireless camera and a radio connection with the computer. A control program in Java perform all the necessary image processing. After the object localization it sent some move commands to follow the object small white ball. All the necessary computations were performed on the standard PC, the robot just received basic movement commands. Electronics Also in this area some alternatives exist. It is possible to easily replace the BasicStamp processor with the previously mentioned Javelin processor. For those, who don’t like the price of the Basic Stamp II chip, there are an alternative PicAXE processors [4], available from many local distrib utors. Yet another alternative is to use a completely different electronic
control unit, based on the personal preferences. Very popular microcontrollers
are those of the Microchip PIC family, Freescale HC family or Atmel
AVR family. The latest is also the base for an open source Arduino
board [5], which comes with a builtin serial downloader
and an integrated development environment which tries to mimic the
BasicStamp’s easy of use in the C programming language. The Atmel
AVR processor is also the base of the educational platform MiniMEXLE
[6] created at the University of Heilbronn, Germany.
An example of using this platform for the robot control is the robot
MexleBoy which participated on the Robotchallenge championship in
Wienna. The same robot with the BasicStamp controller participated
a year ago. Even with such a simple robot it is possible to do really impressive
amount of work in a robotics introductory course. Students are always
impressed with amount of in?uencing factors determining precise movement
of the robot. An advanced example of possibilities of the robot is
the implementation of the simple genetic algorithm for the path learning
[9].
The robot is also very useful platform for different kinds of robot competitions [10] which is very motivational type of education. The real robot available for immediate evaluation of students results
is very motivational and such method of teaching can be only recommended
based on our experiences. This work was supported by the project of the Slovak Research and
Development Agency LPP030106 Istrobot – Education and Propagation
of the Robotics. Publication and presentation of this paper has been
also supported by the VEGA Project 1/3089/06 Development and Integration
of Methods of the Nonlinear System Theory. References [1] Lindsay, Andy: Robotics with the BoeBot. Student guide. Version 2.2, Parallax, Inc., Rocklin, California, 2004. ISBN 192898203 4. Available online: http://www.parallax. com/ [2] Martin, Jeff et al.: BASIC Stamp Syntax and Reference Manual, Version 2.2, Parallax, Inc., Rocklin, California, 2005. ISBN 1-928982-32- 8. Available on-line: http://www.parallax. com/ [3] Williams, Al: Javelin Stamp Manual. Version 1.0, Parallax, Inc., Rocklin, California, 2002. Available online: http://www. parallax.com/ [4] PICAXE Dedicated website by Revolution Education Ltd. Available online: http:// www.picaxe.co.uk/ [5] Arduino. Arduino is an opensource electronics prototyping platform based on flexible, easytouse hardware and software. Available online: http://www.arduino.cc/ [6] Pospiech, Thomas, Knot, Juraj and Gruhler, Gerhard: MiniMEXLE The microprocessor development board for eyeryone, Radioelektronika 16th International CzechSlovak Scientic Conference, 2006. Website containing the description, documentation and software is available online: http://www.mexle.net [7] Nemec, Martin: Design of the wheeled service robot based on the omnidirectional wheel principle. [In Slovak] Košice, technical report KVTaR SjF TU Koˇsice 2003. Available on-line: http://www.robotika. sk/contest/2003/RobotHugo.html [8] Lucny, Andrej: Building Control System of Mobile Robots with AgentSpace Architecture. CLAWAR/EURON Workshop, Vienna, 2004. Available online: http://www.microstepmis.com/~andy/ LucnyClawar.pdf [9] Petrovic, Pavel: Incremental Evolutionary Methods for Automatic Programming of Robot Controllers. Doctoral theses at NTNU Throndheim, Norway, 2007. ISBN 9788247150313. Available online: http://urn.ub.uu.se/resolve?urn= urn:nbn:no:ntnu:diva1748 [10] Balogh, Richard: I am a robot competitor: A survey of robotic competitions. International Journal of Advanced Robotic Systems, Vol. 2, No. 2 (2005), pp. 144160. Available online: http://www.robotika. sk/~balogh/ARSJournal2005.pdf |











