Sunday, 8 April 2012

Bob The Boe Bot

After a bit of research and reading an awesome book entitled Practical Electronics For Inventors, I decided the best way to enter the world of robot creation was to get a nice simple kit, and so I chose the Boe Bot by Parallax systems. It's based on the PIC Basic system, which is basically a PIC micro controller connected to some EEPROM which stores a program written in a language similar to old fashioned Basic.

Bob In All His Glory
Here's Bob sitting on a box of electronics. The basic kit comes with the frame, servos, a Basic Stamp 2 board which contains the processor and other circuitry, along with a bread board to plug stuff into and a load of sensors to play with.

After a few hours fiddling I went through the example material and ended up with him detecting collisions using the small antennae and turning left or right depending on which side collided. Unfortunately I had to slow him down a bit, as the full speed collisions had a tendancy to damage the delecate antenae. 

Quick note: make damn sure the batteries are fresh - the Boe Bot may appear to turn on, but low charge batteries stop the USB interface working. Took me a lot of fiddling and swaring to figure this out!

Next I attempted to wire up the infra red sensors and promptly blew one up by connecting it the wrong way round, so was unable to use them to turn left or right based on what he could see (in heinsight I don't think this would have worked that well anyway). However with just the one IR sensor I did manage to detect obstacles straight ahead. Using this I could get Bob to move forwards at full speed, only slowing down in preparation for a gentle collision when an obstacle was close up. 

Here's a video of him moving towards an obstacle (aka John), slowing down upon detection and finally turning when he actually collides.

Once the basics were going I decided to try hooking up some other sensors I'd purchased. You can get ones specifically designed for the Boe Bot (such as the ping sensor) or just as easily purchase other general purpose ones. Conversely if you do invest in Boe Bot sensors you'll be able to use them for other projects without issue. Unfortunately due to lack of space I couldn't really make a lot of use of the sensors, however I did wire them up and do a bit of testing using a prototyping board attached with a few long wires as you can see here. Note that you don't get all these parts in the basic kit - I had to purchase a few of them seperately.

I got them all going except the Colour LED Sensor Thing - mainly as I couldn't think of a use for it and it was the most complex to get going. It'd probably be handy for following lines or something. The PING sensor is great for fairly accurate distance measurements and the IR motion sensor is really simple to use.  The accelerometer worked, but obviously without being connected to the moving robot it isn't much use.

The compass I was quite excited about, and managed to get Bob turning to face a specific direction by screwing it to the side of the robot and doing a bit of soldering. However it was a bit of a pain to calibrate and I only managed to get PWM communication working (that's pulse width modulation - basically the sensor sends the microcontroller pulses, and the length of them gives you a measurement). Unfortunately the PWM reading takes 300ms, and the servos need a signal every 20ms, so you can't really use it this way to update orientation in real time while moving. However the compass can communicate over a much faster serial interface which I'll be making full use of on future robots with more advanced microcontrollers.

My conclusion with the Boe Bot is that it's a great little starter kit. For one purchase you get all the bits you need to build a simple programmable robot, along with documentation and a nice set of tutorials to get you going. That said, the processor has very little memory, the language is bulky and slow (I don't like basic), and there's quite simply not  enough space on the robot to mount many sensors. If you get into robotics this way expect to have a nice intro but end up wanting something more powerful within a few weeks. This is exactly what I did, and so me and John began the process of building our own robot from scratch with an Arduino at the heart of things. More on that on future blogs...


No comments:

Post a Comment