Difference between revisions of "Boe-Bot"

From RoboWiki
Jump to: navigation, search
(References)
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Boe-Bot|english]] / [[Boe Bot|slovensky]]
 
[[Boe-Bot|english]] / [[Boe Bot|slovensky]]
  
Boe-Bot is a small mobile robotic kit made by [http://www.parallax.com Parallax, Inc.] An acronym Boe in its name stands for [http://www.parallax.com/StoreSearchResults/tabid/768/List/0/SortField/4/ProductID/125/Default.aspx?txtSearch=board+of+education Board of Education], the electronic control board, which controls the robot. As its name implies, it is used mainly for education. In this article we will give a brief description of the kit labeled [http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/28132/List/0/SortField/4/ProductID/302/Default.aspx Boe-Bot Robot Kit - Serial (with USB adapter and cable)] - order code [http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/28132/List/0/SortField/4/ProductID/302/Default.aspx #28132] selled by the Parallax, Inc. for 160 USD. It can be purchased directly from their e-shop, or from one of their distributors (MITE in the Czech Republic, RLX components in  Slovakia).
+
 
 +
== Introduction ==
 +
 
 +
Boe-Bot is a small mobile robotic kit made by [http://www.parallax.com Parallax, Inc.]  
 +
An acronym Boe in its name stands for [http://www.parallax.com/product/28803 Board of Education], the electronic board, which controls the robot. As its name implies, it is used mainly for education. In our article we will give a brief description of the kit labeled [http://www.parallax.com/product/28132 Boe-Bot Robot Kit - Serial (with USB adapter and cable)] - order code [http://www.parallax.com/product/28132 #28132] by the Parallax, Inc. It can be purchased directly from their e-shop for 160 USD or from one of their [http://www.parallax.com/company/distributors distributors] (e.g. [http://www.mite.cz MITE] in the Czech Republic or [http://www.rlx.sk/ RLX components] in  Slovakia).
  
  
 
[[Image:Boe-Bot_Historical.jpg|right|200px|thumb|Fig. 1 ''First prototype of the Boe-Bot robot.'']]
 
[[Image:Boe-Bot_Historical.jpg|right|200px|thumb|Fig. 1 ''First prototype of the Boe-Bot robot.'']]
An idea of the robot appeared a the Idaho University in the Chuck  
+
An idea of the robot appeared at the Idaho University in the Chuck  
 
Schoeffler's head. He attached the Board of Education to a plastic box  
 
Schoeffler's head. He attached the Board of Education to a plastic box  
 
(see Fig. 1). The people in Parallax then draw a CAD design which was
 
(see Fig. 1). The people in Parallax then draw a CAD design which was
 
cut out of aluminum on the NC machine. So the first Boe-Bots were born.  
 
cut out of aluminum on the NC machine. So the first Boe-Bots were born.  
A little bit later a textbook by Andy Lindsay - [[#Reference1|Robotics with the Boe-Bot<SUP>[1]</SUP>]] appeared and to day there was more than 80.000 (?) robots
+
A little bit later a textbook by Andy Lindsay - [[#Reference1|Robotics with the Boe-Bot<SUP>[1]</SUP>]] appeared and to day there was more than 80 000 robots
produced. In the Czech and Slovak republics there is around ?? robots.
+
produced. In the Czech and Slovak republics there are also some of them.
 
There are also special courses for teachers and the kits are used  
 
There are also special courses for teachers and the kits are used  
in secondary schools and universities not only in America but  
+
in secondary schools and universities not only in America but all
 
around the world.  
 
around the world.  
  
The robot can be built by 12-year pupils, but I can confirm that
+
The robot can be built up by 12-year pupils, but as I can confirm, with a little help from an adult also smaller ones can handle it.  
with a little help from an adult also smallar can handle it.  
+
The kit does not require almost no prior robotic knowledge.
The kit does not require almost no prior robotic knowledge.  
+
 
 +
== Kit contents and contstruction ==
  
  
Line 23: Line 28:
 
Complete kit (see Fig. 2) contains all the mechanical components  
 
Complete kit (see Fig. 2) contains all the mechanical components  
 
necessary to build a robot. You may need also small tongs or  
 
necessary to build a robot. You may need also small tongs or  
tweezers, handy screwdriver is bundled with the kit.  
+
tweezers, handy screwdriver is already bundled with the kit.  
 
Other tools are not necessary. In the box you will find also  
 
Other tools are not necessary. In the box you will find also  
a PCB with Board of Education and programming cable.  
+
a Board of Education and programming cable.  
 
There exists a kit that has an USB interface directly on  
 
There exists a kit that has an USB interface directly on  
 
the board and connects using a Mini-USB cable. Version, which  
 
the board and connects using a Mini-USB cable. Version, which  
we describe here contains a serial RS-232 cable, plus a small  
+
we describe here, contains a serial RS-232 cable, plus a small  
 
converter USB/232 with the cable. This version we prefer, as  
 
converter USB/232 with the cable. This version we prefer, as  
in our opinion, RS-232 interface is more robust and you also get  
+
in our opinion, RS-232 interface is more robust and you will get  
the converter to USB, which can be used elsewhere.  
+
the converter to USB, which can be used also elsewhere.  
  
Part of the kit is excellent 345-pages manual and a CD-ROM  
+
An excellent 345-pages textbook and a CD-ROM with all the necessary software
with all the necessary software. Finally, you will find some
+
is also part of the kit. Finally, you will find some other components  
other components (LEDs, resistors, sensors, spacers) in a box
+
(LEDs, resistors, sensors, spacers) in a box that you will use later in  
that you will use in experiments according to the examples
+
experiments according to the textbook.
in the book.
 
  
Robot can be built in half an hour. It's base is an aluminum  
+
[[Image:Boe-Bot_BasicVersion.jpg|right|200px|thumb|Fig. 3 ''Basic Boe-Bot robot.'']]
chassis to which You have to attach two motors and wheels,  
+
Robot can be built up in half an hour. It's base is an aluminum  
 +
chassis to which you have to attach two motors and wheels,  
 
four AA batteries holder and a rear wheel (castor). It is
 
four AA batteries holder and a rear wheel (castor). It is
 
a ball made of polyethylene, which is attached to the  
 
a ball made of polyethylene, which is attached to the  
frame with split pin. Finally, on spacers you will attach the
+
frame with split pin. Finally, you will attach the
electronics board. Voila, the robot is ready for programming  
+
electronics board on spacers.  
(see Fig. 3)!
+
Voila, the robot is ready for programming (see Fig. 3)!
  
[[Image:Boe-Bot_BasicVersion.jpg|right|200px|thumb|Fig. 3 ''Basic Boe-Bot robot.'']]
 
  
  
 +
[[Image:Boe-Bot_BoardOfEducation.jpg|right|200px|thumb|Fig. 4 ''Board of Education.'']]
 +
Let's look on Board of Education (Fig. 4) in more detail. Its heart is a BasicStamp II processor.
 +
It is a tiny printed circuit board (31 mm x 16 mm x 9 mm), which contains microprocessor Microchip
 +
PIC 16F57 and PBASIC language interpreter. For program and fixed data storage an external
 +
serial EEPROM  is used, variables are stored in internal RAM. The Board of Education contains BasicStampII (1),
 +
and power stabilization circuit with low-drop stabilizer LM2940 (2) and LED indicator (3),
 +
9V battery or wall-adapter connectors (4), RS-232 connector (5), connector for expansion
 +
modules (6) and connectors for motors (7). Board is switched on/off with three position switch (8)
 +
(everything off - everything on except the motors - everything on). Roughly one third of the board
 +
occupy an universal solderless breadboard (9). There are also the power supply and processor ports
 +
connectors on its sides. This section is used for various experiments and creation of your own circuits.
 +
The Board of Education is also used in many other Parallax educational kits (e.g. What's a microcontroller,
 +
Applied Sensors, etc.).
 +
 +
Almost each robotic experiment according to the book requires additional components to be connected
 +
into the solderless breadboard area - whether it's only LED indicator, or complicated ultrasonic sensor.
 +
The microprocessor ports are all available, so simply connect your new circuit to the processor and you
 +
can start programming.
 +
 +
 +
== How to program the robot? ==
 +
 +
 +
[[Image:Boe-Bot_GuiBotScreenshot.png|right|200px|thumb|Fig. 5 ''Gui Bot environment.'']]
 +
Absolute beginners can use a simple graphical programming language Gui-Bot, where the program consists
 +
of a sequence of several graphical elements (Fig. 5). For routine work with a robot is used PBASIC
 +
programming language. Language commands are first translated to the tokens, those to be loaded into
 +
the EEPROM. From there they are subsequently carried out by a built-in PBASIC language interpreter.
 +
To write, translate and download programs, freely available Basic Stamp Editor for Windows is available
 +
(there are also solutions for MAC and Linux).
 +
 +
For digital inputs and outputs operation You can use commands IN, HIGH and LOW. For more specific applications
 +
there are additional commands available
 +
- FREQOUT (the signal of specified frequency to certain output),
 +
- PULSIN (measuring pulse length at specified input),
 +
- SHIFTOUT (at the specific output sends sequence of pulses,  can be used for serial communication with peripherals)
 +
- PULSOUT (pulse of the specified length at specific output).
 +
 +
Some of them are probably familiar to readers of Robotrevue magazine from the series about the Picacxe processors.
 +
The last-mentioned PULSOUT command (see also Robotrevue 02/2010) is also used to control the modified RC servo motors,
 +
which drive the robot. Using this command, you will find also one of the PBASIC language limitations. During the
 +
instruction PULSOUT processor cannot do anything else, it only outputs pulses. So you cannot e.g watch a sensor at the
 +
same time and respond quickly to an obstacle. You have to split Your program to small fast-executing parts with an
 +
impression of "concurrent" movement and sensing. In simple programs this is of course not a problem, but as your
 +
programs become more and more complicate, you will also find it more limiting.
 +
 +
[[Image:Boe-Bot_PBASIC_editor.png|right|200px|thumb|Fig. 6 ''PBASIC development environment.'']]
 +
For debugging purposes it is very good to have an possibility to print various reports, current state of variables
 +
etc. Messages sent from the robot via a serial interface (DEBUG command) are displayed on any terminal - one is
 +
included in the development environment.
  
 +
To demonstrate how the robot is programmed, here are simple programming examples. First one is
 +
for robot driving around a square. See also a corresponding video.
  
Pristavme for a moment on board Board of Education (Fig. 4). Her heart is BasicStamp II processor. It is actually a tiny printed circuit board (31 mm x 16 mm x 9 mm), which apparently acts as a self-functioning microcomputer microprocessor Microchip PIC 16F57 and PBASIC language interpreter. As program memory and hard data is used by an external serial EEPROM memory, the variables are stored in internal RAM. In addition BasicStamp microcomputer (1) includes control board with power stabilization circuitry so. low-drop stabilizer LM2940 (2) and LED indicator (3), 9V battery connector for adapter (4), RS-232 connector (5), connector for expansion modules (6) and connectors for motors (7). Board is switched on / off switch (8) with three positions (OFF - enabled everything except the engine - everything is turned on). Roughly one third of the plate occupies universal contact field (9) is brought near the power supply and processor ports. This section is used for various experiments and engage their own circuits. Tile Board of Education is also Boe-Bot robot used in many other educational kit company Parallax (eg What is a microcomputer, Applied Sensors, etc.).
+
<source lang="basic">
Almost every experiment with robots according to the manual requires an open area involve any additional electronic components - whether it's only LED indicator, or complicated ultrasonic sensor. The microprocessor has brought out all available ports in the neighborhood, so simply connect your new transmitter to the processor and you can start programming.
+
Main:                      ' Main loop starts here
 +
  GOSUB Forward            ' Subroutine to drive the robot forward
 +
  GOSUB Right              ' Subroutine to drive the robot right
 +
  GOTO Main                ' Do this forever
 +
END                        ' End of the main loop
  
How to actually programmed robot?
+
Forward:                    ' Subroutine Forward
 +
  FOR counter = 1 TO 50    ' Do this loop 50x
 +
    PULSOUT 13, 850        ' Send short pulse to left servo
 +
    PULSOUT 12, 650        ' Send another to right servo
 +
    PAUSE 20                ' Wait for another pulse
 +
  NEXT
 +
  RETURN                    ' Return from subroutine
 +
</source>
  
For beginners can use a simple graphical programming language Gui-Bot, in which the program consists of a sequence of several graphical elements (Fig. 5). For routine work with a robot is used PBASIC programming language. Language commands are translated to the so-called first. tokens, and those to be loaded into the EEPROM memory processor. From there they gradually selects and carries a built-in PBASIC language interpreter. Used to work freely available development environment Basic Stamp Editor for Windows (there are also solutions for MAC and Linux).
+
Second program is an excerpt from the program for robot navigating using whiskers. Full length listing is
 +
included at the end of the page. See also a corresponding video.  
  
 +
<source lang="basic">
 +
' -----[ Main Routine ]-------------------------------------------------------
  
Working with digital inputs and outputs can do with commands IN, HIGH and LOW. For more demanding applications are available FREQOUT commands (the signal frequency to any output), PULSIN (measuring pulse length of input), SHIFTOUT (at the output sequentially sends the specified sequence of pulses can be used for serial communication to peripherals) or PULSOUT (pulse specified length of output). Orders are likely to be familiar to readers of the series of processors in Picaxe Robotrevue. The last-mentioned order PULSOUT (see also Robotrevue 02/2010) is also used to control the modified RC servo motors, which drive the robot. When you run this command, unfortunately, also one of the limitations of the programming language used. During the instructions PULSOUT processor is doing nothing, given only the output of pulses. So you can also watch a sensor and respond as promptly as an obstacle. You must program morsel whose rapid recurrence of an impression of "current" movement and sensing parameters. In simple programs this is not a significant problem, but as your programs become more and more complicate, you will also bundle more and more hands.
+
DO                                    ' Neverending loop
  
 +
  IF (Left = 0) AND (Right = 0) THEN  ' Front obstacle
 +
    GOSUB Go_Back                    ' Back up & U-turn (left twice)
 +
    GOSUB Go_Left
 +
    GOSUB Go_Left
 +
  ELSEIF (Left = 0) THEN              ' Obstacle on left
 +
    GOSUB Go_Back                    ' Back up & turn right
 +
    GOSUB Go_Right
 +
  ELSEIF (Right = 0) THEN            ' Obstacle on right
 +
    GOSUB Go_Back                    ' Back up & turn left
 +
    GOSUB Go_Left
 +
  ELSE                                ' Nothing in front
 +
    GOSUB Go_Forward                  ' Apply a forward pulse
 +
  ENDIF
  
When debugging is very good built-in terminal device to which you can print various reports showing the current state variables and the like. Messages sent from the robot via a serial interface commands and DEBUG can display them on any terminal - one is directly part of the development environment.
+
LOOP                                  ' and repeat again
 +
</source>
  
TODO Preview / y
+
[[Image:Boe-Bot_TextbookExample.png|right|200px|thumb|Fig. 7 ''Textbook example.'']]
 +
The above mentioned book 'Robotics with Boe-Bot' contains dozens of tasks, which will
 +
go over all the basic components of the robot. This helps you to understand deeply not only
 +
basic robot moves, but also how to interpret the world using simple sensors. At the end of
 +
each chapter there is number of open issues presented to reader. Its solving also helps to
 +
better understanding of the problem. After mastering the movements, change directions,
 +
speed and acceleration  a chapter follows in which the robot uses two whiskers - the bumpers.
 +
With them, you try mobile robot navigation and motion without an accident - detection of
 +
obstacles, walls. Next chapter deals with photoresistive sensors. These allow the search
 +
for light and dark places, or to track the battery light spot. Last chapters of the book
 +
deal with modulated infrared sensors to detect obstacles and avoid them. These sensors
 +
can be also used to estimate a distance from wall and to maintain a constant distance
 +
from it (basics of control loop).
  
The entire guide contains dozens of tasks, which will gradually be transferred through all the basic components of the robot. Enable you to understand the depth nielen how the robot moves, but also how to interpret the world using simple sensors. At the end of each chapter is the number of open issues, which the authors present the reader to address the deficiency, which leads to a substantial deepening of the problem. After mastering the foundations of movement, change direction and speed and acceleration followed by a chapter in which the characters in the annexed parts of two antennae - the bumpers. With them, you try mobile robot navigation and motion without an accident - detection of obstacles, walls. Other attempts to deal with sensor photoresistors. These allow the search light and dark places, where track lighting spots of batteries. Finally the manual is dedicated to working with modulated infrared sensors, which serve very well to detect obstacles and avoid them. These sensors can be used to estimate the distance from building and maintaining a constant distance from it (basic control).
 
  
  
How to proceed?
+
== I'm finished. What to do now? ==
  
After the development of all the examples listed in the guide can do their own experiments, or you buy some accessories. Perhaps the simplest is complementary to infrared remote control, which is available again very detailed instruction manual. Since the driver can also be found at home and guide can be downloaded free from the manufacturer's website, it is certainly worth a try.
+
When finishing all the examples listed in the book, You can do Your own experiments,  
Another typical application for a mobile robot is tracking the line. Also you can try - there is a kit with four infrasenzormi which attach to the studs and spacers with a detailed manual to understand how to program a robot to monitor whether white or black line. Of course, it is possible to design and make your own and sensor.
+
or you can buy some accessories. Perhaps the simplest is the infrared remote control,  
 +
which is supplied with very comprehensive instruction manual. Since the remote control
 +
You can find at home already and guide can be downloaded for free from the manufacturer's  
 +
website, it is certainly worth a try.
  
The robot is sold as a simple gripper. There is a kit allowing the robot to redo the belt, or even to šesťnohého walking robot. On another article published by expanding the list of sensors - compass, accelerometer, ultrasonic, or encoders in the wheels, allowing for more precise position control of a robot.
+
Another typical application for a mobile robot is linefollowing. Of course, you can try -
 +
there is a kit with four infrasensors attached to the studs and spacers supplied with a
 +
detailed manual to help You understand how to program a robot to decide whether on white
 +
or black line. Of course, it is possible to design and make your own sensors.
  
 +
Another interesting accesory is a simple gripper. There is also a kit which will turn your
 +
Boe-Bot Robot into a tank with the gears and tread or even into a six-legged walking robotic bug.
 +
There is also very long list of sensors available - compass, accelerometer, ultrasonic, or
 +
encoders in the wheels, allowing for more precise position control of a robot.
  
  
  
Evaluation
+
== Conclusions ==
  
For someone who may be a disadvantage PBASIC programming language, which does not create custom functions or libraries. Experienced will surely miss direct access to peripherals processor, and the timer. You will definitely miss the interruption. For beginners, it may even be a problem, even without those features, you get very far.
+
Some people may found the PBASIC programming language a disadvantage, as it lacks custom functions or libraries.  
Later you may encounter a lack of RAM and EEPROM, which, however, the school and beginner projects is sufficient. The bottleneck (especially for those who have competitive ambitions) is a robot speed - it uses the drive as modified RC servo is quite slow. The disadvantage may also be its relatively high price.
+
Experienced users will surely miss direct access to peripherals, e.g. timers and counters. You will definitely  
 +
be missing the interrupts. For beginners, it is of course not a problem, You can go very far even without those  
 +
features. Later you may encounter a lack of RAM and EEPROM, but for the school and beginner projects it should be
 +
sufficient. Another limit (especially for those competitors) is a robot speed - as it uses the modified RC servos
 +
it is quite slow. Some people consider also the kit price relatively high.
  
On the other hand, a higher price you get a robot with the fitting allows a large number of activities, so it's definitely not a time killer for a weekend. It is very robust, durable and suitable for beginners. Very good guide certainly appreciate the end in itself and especially teachers. Not every teacher has the time to create and invent new activities. Textbook, which is part of the kit will provide enough material very well prepared. In addition, teachers may ask the company about slides from the presentations and, where such a version of the brochure, which themselves can translate and edit.
+
On the other hand, you will obtain a robot which fits in a large number of activities,  
 +
so it's definitely not a one weekend toy. It is very robust, durable and suitable for beginners. Very good  
 +
textbook will be appreciated especially by the teachers and selfeducators. Not every teacher has the time (and abilities)
 +
to create and invent new activities. Textbook, will provide enough material for many lessons. Moreover, teachers may  
 +
ask the company for slides with presentations and the company is also very helpful with its translations.
  
  
Fig. 8. Robot with infrasenzormi.
+
[[Image:Boe-Bot_InfraRedSensorVersion.jpg|right|200px|thumb|Fig. 8 ''Boe-Bot robot with Infrared sensors.'']]
  
If we compare the Boe-Bot robot with the popular Lego Mindstorms, it is clear that it lacks the mechanical variability. Boe-Bot is more or less fixed structure and there is not too much to change. However, the chassis contains many holes which enable to add and use a lot of accessories (sensors, Meccano parts etc.) Also the programming possibilities of the Boe-Bot robot are narrower than Lego Mindstorms, because just PBASIC and graphic languages are available here. However, where the Boe-Bot is clear winner is the electronics expansion. Using the breadboard area you can connect to the robot almost anything. Moreover, the Board of Education itself allows to learn basics of sensor technology, digital circuits and simillar topics.
+
When comparing the Boe-Bot robot with the popular Lego Mindstorms NXT kit, it is clear that it lacks its mechanical  
 +
variability. Boe-Bot is more or less fixed structure and there is not too much to change. However, the chassis  
 +
contains many holes which enable to add and use a lot of accessories (sensors, Meccano parts etc.) Also the  
 +
programming possibilities of the Boe-Bot robot are narrower than Lego Mindstorms, because just PBASIC and graphic  
 +
languages are available here. However, where the Boe-Bot is clear winner is the electronics expansion. Using the  
 +
breadboard area you can connect almost anything to Your robot. Moreover, the Board of Education itself allows  
 +
to learn basics of sensor technology, digital circuits and simillar topics.
  
 
It is an excellent entry kit for those who want to know robotics and learn something more.
 
It is an excellent entry kit for those who want to know robotics and learn something more.
Line 115: Line 234:
 
  Speed:        approx 17 cm/s
 
  Speed:        approx 17 cm/s
  
 +
== Programs ==
  
 +
Following programs are full-length tested versions of programs mentioned above.
  
== Programs ==
+
* [[SquareDance.BS2]]
 +
* [[TactileNavigation.BS2]]
 +
* [[InfraRedNavigation.BS2]]
 +
* [[SHIFTIN.BS2]]
 +
 
 +
== Interview ==
  
 +
* Interview with Chuck Schoeffler, one of the robot originators is on separate page.
 +
* Interview with Ken Gracey, vice-prezident of Parallax, Inc, is [http://www.botmag.com/articles/parallax.shtml here]
  
 
== References ==
 
== References ==
  
* [1] Andy Lindsay: [http://www.parallax.com/Portals/0/Downloads/docs/books/edu/Roboticsv2_2.pdf Robotics with the Boe-Bot] <div id="Reference1">[1]</div>
+
* <div id="Reference1">[1] Andy Lindsay: [http://www.parallax.com/sites/default/files/downloads/28125-Robotics-With-The-Boe-Bot-v3.0.pdf Robotics with the Boe-Bot] </div>
 +
 
 +
* <div id="Reference1">[2] [http://www.parallax.com/sites/default/files/downloads/27218-Web-BASICStampManual-v2.2.pdf Basic Stamp syntax and reference manual]</div>
 +
 
 +
 
 +
 
 +
=== Software required ===
 +
 
 +
An overview of all the software is [http://www.parallax.com/downloads/basic-stamp-editor-software here] (also the versions for Macintosh and Linuxes)
 +
 
 +
You will need:
 +
 
 +
* [http://www.parallax.com/sites/default/files/downloads/BS-Setup-Stamp-Editor-v2.5.3-%28r2%29.exe BASIC Stamp Windows Editor version 2.5.3] (~18.5 MB) Windows 2K/XP/Vista/7/8/8.1 <BR>  
  
 
== Links ==
 
== Links ==
Line 129: Line 269:
  
 
'''Documentation'''
 
'''Documentation'''
* [http://www.parallax.com/tabid/411/Default.aspx Boe-Bot robot description] (Parallax, Inc.)
+
* [http://www.parallax.com/product/boe-bot-robot Boe-Bot robot description] (Parallax, Inc.)
* [http://www.parallax.com/Portals/0/Downloads/docs/books/edu/Roboticsv2_2.pdf Robotics with Boe-Bot robot] (textbook, Parallax)
+
* [http://www.parallax.com/sites/default/files/downloads/28125-Robotics-With-The-Boe-Bot-v3.0.pdf Robotics with Boe-Bot robot] (učebnica, v.3.0. Parallax)
 
* [http://en.wikipedia.org/wiki/Boe-Bot Boe-Bot on Wikipedia]
 
* [http://en.wikipedia.org/wiki/Boe-Bot Boe-Bot on Wikipedia]
  
Line 137: Line 277:
 
* [http://www.youtube.com/watch?v=1B50VghbUvY Boe-Bot robot roaming with whiskers] (YouTube video)
 
* [http://www.youtube.com/watch?v=1B50VghbUvY Boe-Bot robot roaming with whiskers] (YouTube video)
 
* [http://www.youtube.com/watch?v=kSPQlI1TQm0 Boe-Bot robot roaming with infrared sensors] (YouTube video)
 
* [http://www.youtube.com/watch?v=kSPQlI1TQm0 Boe-Bot robot roaming with infrared sensors] (YouTube video)
 +
 +
'''Boe Bot Workshop'''
 +
* [[Boe Bot Workshop]]
 +
* [http://forums.parallax.com/showthread.php?82013-Stamps-in-Class-quot-Mini-Projects-quot Mini Projects @ Parallax]
 +
 +
'''Tips'''
 +
* [http://forums.parallaxinc.com/forums/default.aspx?f=6&m=99734 Better Boe-Bot IR Distance Measurements] (Circuit + Programs)
 +
* [http://www.parallax.com/tabid/553/Default.aspx Angle of Incline from the Memsic 2125]
 +
* [http://forums.parallax.com/showthread.php?122397-How-the-Ping-sensor-works How the Ping sensor works]

Latest revision as of 09:02, 9 July 2014

english / slovensky


Introduction

Boe-Bot is a small mobile robotic kit made by Parallax, Inc. An acronym Boe in its name stands for Board of Education, the electronic board, which controls the robot. As its name implies, it is used mainly for education. In our article we will give a brief description of the kit labeled Boe-Bot Robot Kit - Serial (with USB adapter and cable) - order code #28132 by the Parallax, Inc. It can be purchased directly from their e-shop for 160 USD or from one of their distributors (e.g. MITE in the Czech Republic or RLX components in Slovakia).


Fig. 1 First prototype of the Boe-Bot robot.

An idea of the robot appeared at the Idaho University in the Chuck Schoeffler's head. He attached the Board of Education to a plastic box (see Fig. 1). The people in Parallax then draw a CAD design which was cut out of aluminum on the NC machine. So the first Boe-Bots were born. A little bit later a textbook by Andy Lindsay - Robotics with the Boe-Bot[1] appeared and to day there was more than 80 000 robots produced. In the Czech and Slovak republics there are also some of them. There are also special courses for teachers and the kits are used in secondary schools and universities not only in America but all around the world.

The robot can be built up by 12-year pupils, but as I can confirm, with a little help from an adult also smaller ones can handle it. The kit does not require almost no prior robotic knowledge.

Kit contents and contstruction

Fig. 2 Boe-Bot kit contents.

Complete kit (see Fig. 2) contains all the mechanical components necessary to build a robot. You may need also small tongs or tweezers, handy screwdriver is already bundled with the kit. Other tools are not necessary. In the box you will find also a Board of Education and programming cable. There exists a kit that has an USB interface directly on the board and connects using a Mini-USB cable. Version, which we describe here, contains a serial RS-232 cable, plus a small converter USB/232 with the cable. This version we prefer, as in our opinion, RS-232 interface is more robust and you will get the converter to USB, which can be used also elsewhere.

An excellent 345-pages textbook and a CD-ROM with all the necessary software is also part of the kit. Finally, you will find some other components (LEDs, resistors, sensors, spacers) in a box that you will use later in experiments according to the textbook.

Fig. 3 Basic Boe-Bot robot.

Robot can be built up in half an hour. It's base is an aluminum chassis to which you have to attach two motors and wheels, four AA batteries holder and a rear wheel (castor). It is a ball made of polyethylene, which is attached to the frame with split pin. Finally, you will attach the electronics board on spacers. Voila, the robot is ready for programming (see Fig. 3)!


Fig. 4 Board of Education.

Let's look on Board of Education (Fig. 4) in more detail. Its heart is a BasicStamp II processor. It is a tiny printed circuit board (31 mm x 16 mm x 9 mm), which contains microprocessor Microchip PIC 16F57 and PBASIC language interpreter. For program and fixed data storage an external serial EEPROM is used, variables are stored in internal RAM. The Board of Education contains BasicStampII (1), and power stabilization circuit with low-drop stabilizer LM2940 (2) and LED indicator (3), 9V battery or wall-adapter connectors (4), RS-232 connector (5), connector for expansion modules (6) and connectors for motors (7). Board is switched on/off with three position switch (8) (everything off - everything on except the motors - everything on). Roughly one third of the board occupy an universal solderless breadboard (9). There are also the power supply and processor ports connectors on its sides. This section is used for various experiments and creation of your own circuits. The Board of Education is also used in many other Parallax educational kits (e.g. What's a microcontroller, Applied Sensors, etc.).

Almost each robotic experiment according to the book requires additional components to be connected into the solderless breadboard area - whether it's only LED indicator, or complicated ultrasonic sensor. The microprocessor ports are all available, so simply connect your new circuit to the processor and you can start programming.


How to program the robot?

Fig. 5 Gui Bot environment.

Absolute beginners can use a simple graphical programming language Gui-Bot, where the program consists of a sequence of several graphical elements (Fig. 5). For routine work with a robot is used PBASIC programming language. Language commands are first translated to the tokens, those to be loaded into the EEPROM. From there they are subsequently carried out by a built-in PBASIC language interpreter. To write, translate and download programs, freely available Basic Stamp Editor for Windows is available (there are also solutions for MAC and Linux).

For digital inputs and outputs operation You can use commands IN, HIGH and LOW. For more specific applications there are additional commands available - FREQOUT (the signal of specified frequency to certain output), - PULSIN (measuring pulse length at specified input), - SHIFTOUT (at the specific output sends sequence of pulses, can be used for serial communication with peripherals) - PULSOUT (pulse of the specified length at specific output).

Some of them are probably familiar to readers of Robotrevue magazine from the series about the Picacxe processors. The last-mentioned PULSOUT command (see also Robotrevue 02/2010) is also used to control the modified RC servo motors, which drive the robot. Using this command, you will find also one of the PBASIC language limitations. During the instruction PULSOUT processor cannot do anything else, it only outputs pulses. So you cannot e.g watch a sensor at the same time and respond quickly to an obstacle. You have to split Your program to small fast-executing parts with an impression of "concurrent" movement and sensing. In simple programs this is of course not a problem, but as your programs become more and more complicate, you will also find it more limiting.

Fig. 6 PBASIC development environment.

For debugging purposes it is very good to have an possibility to print various reports, current state of variables etc. Messages sent from the robot via a serial interface (DEBUG command) are displayed on any terminal - one is included in the development environment.

To demonstrate how the robot is programmed, here are simple programming examples. First one is for robot driving around a square. See also a corresponding video.

Main:                       ' Main loop starts here
  GOSUB Forward             ' Subroutine to drive the robot forward
  GOSUB Right               ' Subroutine to drive the robot right
  GOTO Main                 ' Do this forever
END                         ' End of the main loop

Forward:                    ' Subroutine Forward
  FOR counter = 1 TO 50     ' Do this loop 50x
    PULSOUT 13, 850         ' Send short pulse to left servo
    PULSOUT 12, 650         ' Send another to right servo
    PAUSE 20                ' Wait for another pulse
  NEXT
  RETURN                    ' Return from subroutine

Second program is an excerpt from the program for robot navigating using whiskers. Full length listing is included at the end of the page. See also a corresponding video.

' -----[ Main Routine ]-------------------------------------------------------

DO                                    ' Neverending loop

  IF (Left = 0) AND (Right = 0) THEN  ' Front obstacle
    GOSUB Go_Back                     ' Back up & U-turn (left twice)
    GOSUB Go_Left
    GOSUB Go_Left
  ELSEIF (Left = 0) THEN              ' Obstacle on left
    GOSUB Go_Back                     ' Back up & turn right
    GOSUB Go_Right
  ELSEIF (Right = 0) THEN             ' Obstacle on right
    GOSUB Go_Back                     ' Back up & turn left
    GOSUB Go_Left
  ELSE                                ' Nothing in front
    GOSUB Go_Forward                  ' Apply a forward pulse
  ENDIF

LOOP                                  ' and repeat again
Fig. 7 Textbook example.

The above mentioned book 'Robotics with Boe-Bot' contains dozens of tasks, which will go over all the basic components of the robot. This helps you to understand deeply not only basic robot moves, but also how to interpret the world using simple sensors. At the end of each chapter there is number of open issues presented to reader. Its solving also helps to better understanding of the problem. After mastering the movements, change directions, speed and acceleration a chapter follows in which the robot uses two whiskers - the bumpers. With them, you try mobile robot navigation and motion without an accident - detection of obstacles, walls. Next chapter deals with photoresistive sensors. These allow the search for light and dark places, or to track the battery light spot. Last chapters of the book deal with modulated infrared sensors to detect obstacles and avoid them. These sensors can be also used to estimate a distance from wall and to maintain a constant distance from it (basics of control loop).


I'm finished. What to do now?

When finishing all the examples listed in the book, You can do Your own experiments, or you can buy some accessories. Perhaps the simplest is the infrared remote control, which is supplied with very comprehensive instruction manual. Since the remote control You can find at home already and guide can be downloaded for free from the manufacturer's website, it is certainly worth a try.

Another typical application for a mobile robot is linefollowing. Of course, you can try - there is a kit with four infrasensors attached to the studs and spacers supplied with a detailed manual to help You understand how to program a robot to decide whether on white or black line. Of course, it is possible to design and make your own sensors.

Another interesting accesory is a simple gripper. There is also a kit which will turn your Boe-Bot Robot into a tank with the gears and tread or even into a six-legged walking robotic bug. There is also very long list of sensors available - compass, accelerometer, ultrasonic, or encoders in the wheels, allowing for more precise position control of a robot.


Conclusions

Some people may found the PBASIC programming language a disadvantage, as it lacks custom functions or libraries. Experienced users will surely miss direct access to peripherals, e.g. timers and counters. You will definitely be missing the interrupts. For beginners, it is of course not a problem, You can go very far even without those features. Later you may encounter a lack of RAM and EEPROM, but for the school and beginner projects it should be sufficient. Another limit (especially for those competitors) is a robot speed - as it uses the modified RC servos it is quite slow. Some people consider also the kit price relatively high.

On the other hand, you will obtain a robot which fits in a large number of activities, so it's definitely not a one weekend toy. It is very robust, durable and suitable for beginners. Very good textbook will be appreciated especially by the teachers and selfeducators. Not every teacher has the time (and abilities) to create and invent new activities. Textbook, will provide enough material for many lessons. Moreover, teachers may ask the company for slides with presentations and the company is also very helpful with its translations.


Fig. 8 Boe-Bot robot with Infrared sensors.

When comparing the Boe-Bot robot with the popular Lego Mindstorms NXT kit, it is clear that it lacks its mechanical variability. Boe-Bot is more or less fixed structure and there is not too much to change. However, the chassis contains many holes which enable to add and use a lot of accessories (sensors, Meccano parts etc.) Also the programming possibilities of the Boe-Bot robot are narrower than Lego Mindstorms, because just PBASIC and graphic languages are available here. However, where the Boe-Bot is clear winner is the electronics expansion. Using the breadboard area you can connect almost anything to Your robot. Moreover, the Board of Education itself allows to learn basics of sensor technology, digital circuits and simillar topics.

It is an excellent entry kit for those who want to know robotics and learn something more.


BasicStamp II Technical data

Case		24-pin DIP
Dimensions	30,6 x 15,7 x 8,2 mm
Frequency	20 MHz
Speed	        ~ 4000 instructions / sec
RAM		32 B (not kB, just B!)
EEPROM	        2kB (~500 instructions)
I/O		16 (+ 2 dedicated serial)
Supply         5 – 15 Vdc (contains regulator)
Consumption    3 mA run / 50 uA sleep @5V
Load           20 mA / pin & max. 40 mA / chip

Boe-Bot Technical data

Dimensions:    150 x 114 x 102 mm
Weight:        300 g bez batérií 
Supply:        4 x AA batteries or wall adapter
Speed:         approx 17 cm/s

Programs

Following programs are full-length tested versions of programs mentioned above.

Interview

  • Interview with Chuck Schoeffler, one of the robot originators is on separate page.
  • Interview with Ken Gracey, vice-prezident of Parallax, Inc, is here

References


Software required

An overview of all the software is here (also the versions for Macintosh and Linuxes)

You will need:

Links

Following are links for those who wants to know more:

Documentation

Video

Boe Bot Workshop

Tips