ABBot: Advanced Boe Bot
Some time ago I built a boe-bot, according to its Manual's instructions. During the following months I have then extended it and it is now an ABBot (Advanced Boe Bot).
The main goal of this project was to develop an autonomous rolling robot, based on Parallax Boe-Bot, but using two boards and two microcontrollers.
Main features:
* It uses only standard, relatively cheap, Parallax parts (Board Of Education boards with Basic Stamp 2 microcontroller and several sensors and actuators, sold by Parallax).
* It can communicate with the user by:
- Displaying information on its Serial LCD.
- Talking through a TTS (Text To Speech) device (Emic).
* It may be given a goal to be reached:
- Photophile (search for a place where lighting is above a certain level)
- Photophobe (search for a place where lighting is below a certain level)
* It can move around by using wheels or the Boe-Bot Tank Tread Kit.
* It can detect obstacles by using Ping.
* It can avoid falling downstairs by using an Infrared Emitter and Receiver.
* It can stop and change direction when its horizontal or vertical inclination is too steep.
* It can detect temperature and humidity.
* It can display, at user request, all its sensors info.
By using two boards, we get some interesting results:
* Double memory space for Pbasic programs.
* Double I/O PINs.
* Parallel processing (one board can process LCD display and TTS without affecting movements and sensors, which are managed by the second board).
Attached to this post you find the source code and a detailed document in PDF format. Some high res pictures, two videos, and other info can also be found here:
www.robotinfo.net/penguin/ABBot.html
There is nothing really new in ABBot, but someone might find it useful as an example of how all these things can be put together.
I wait for your feedback.
Post Edited (vrossi) : 2/9/2009 10:03:12 PM GMT
The main goal of this project was to develop an autonomous rolling robot, based on Parallax Boe-Bot, but using two boards and two microcontrollers.
Main features:
* It uses only standard, relatively cheap, Parallax parts (Board Of Education boards with Basic Stamp 2 microcontroller and several sensors and actuators, sold by Parallax).
* It can communicate with the user by:
- Displaying information on its Serial LCD.
- Talking through a TTS (Text To Speech) device (Emic).
* It may be given a goal to be reached:
- Photophile (search for a place where lighting is above a certain level)
- Photophobe (search for a place where lighting is below a certain level)
* It can move around by using wheels or the Boe-Bot Tank Tread Kit.
* It can detect obstacles by using Ping.
* It can avoid falling downstairs by using an Infrared Emitter and Receiver.
* It can stop and change direction when its horizontal or vertical inclination is too steep.
* It can detect temperature and humidity.
* It can display, at user request, all its sensors info.
By using two boards, we get some interesting results:
* Double memory space for Pbasic programs.
* Double I/O PINs.
* Parallel processing (one board can process LCD display and TTS without affecting movements and sensors, which are managed by the second board).
Attached to this post you find the source code and a detailed document in PDF format. Some high res pictures, two videos, and other info can also be found here:
www.robotinfo.net/penguin/ABBot.html
There is nothing really new in ABBot, but someone might find it useful as an example of how all these things can be put together.
I wait for your feedback.
Post Edited (vrossi) : 2/9/2009 10:03:12 PM GMT
zip
16K
Comments
humanoido
Thanks for posting this and providing such fantastic documentation of what you did. I know that many people (including me) will find this very useful to study.
I disagree that there is nothing new here·- what is new is the·very accesible·documentation that allows someone to easily follow what you have done.
Great job with everything! It is truely well done. Thanks again for sharing this. It is now saved in my BOEBot information for future reference.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
Post Edited (Whit) : 2/9/2009 3:14:30 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
BWIN ON DA POWAH WIFIN U!!!
http://forums.parallax.com/forums/default.aspx?f=10&m=311323
Except it'll have 2BS2s and an SX on a single BOE.
And mine is much less pretty [noparse]:)[/noparse]
If I ever get the SX code working correctly I'll send it to you in case you, too, want to use an SX as a co-processor.
The code looks very interesting... thanks for posting it, it'll help me figure out my robot [noparse]:)[/noparse]
with the extra power drain due to more sensors? How was
this handled?
Ugha, I'm using an SX as a "floating" processor in the BSS
so we know it works with BS2s. [noparse]:)[/noparse] I'm happy to hear you're
continuing to upgrade your awesome robot.
humanoido
Thank you for your comments. I am just a beginner in the robotic field, but I have a 33 years long experience in software projects and documentation. So I'm trying to apply this skill to my robotic projects.
@ humanoido
I used the standard 4x1,5 volt batteries as power supply for the PNS board, while the CNS board is powered by a 9V battery.
@ Ezsynn
shortcircuiting ? I don't see any short circuit in my project. Please be more specific in your comments!
In place of the PNS BOE you might want to consider this co-processor: http://www.bluebelldesign.com/Products.htm
I have built and used two of these Blue Bell Design co-processors and both worked from the start.
Using the co-processor will free you from the PNS timing loop that must be maintained to control the three servos. Also, you get five 10 bit ADCs that will allow you to use sensors that provide only a voltage output.
The Blue Bell Design co-processors will communicate with the BOE at 9600 baud and include a very nice built-in subsumption engine. The co-processor is about half the price of a BOE and BS2 Stamp.
Just a thought.
Regards,
TCIII
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to send·a Robot·to save the world, you·better make sure it likes it the way it is!
A frayed Jumper Wire Under the Top layer BOE can cause problems. One more thing, your ABB-BOT is Sagging in the middle due to too much weight.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
BWIN ON DA POWAH WIFIN U!!!
I don't see how you reached this conclusion. The bot won't sag on the Left-right axis since there are four solid wheels, and a very solid frame to build on. Same with the front-back axis. It looks like an additional standoff could be used on the corner that the LCD is attached to, but other than that the structure looks to be sound.
I noticed when I viewed it from the website. You can't tell from the side.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
BWIN ON DA POWAH WIFIN U!!!
Thank you for the interesting coprocessor link. I will consider it for the next project.
SRLM:
You're right. The LCD placement is not so good. It was the simplest solution, but I will have to rework its placement on the ABBot.
See these pictures.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Engineering
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
An hour's contemplation is better than a year's adoration.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney