Robot

I was between jobs in January of 2007 and needed a project to occupy my time/mind.  I’ve been interested in amateur robotics for a long time but it had always been a bit over my head, cost prohibitive, or I had some other excuse why I would dive in.  This seemed like the perfect opportunity and after a week or two of research, planning and pricing I started ordering parts.  So I setup a goal to create a robot that can be controlled remotely from my computer as well as navigate on it’s own.

At the time, the robot consisted of a Lynxmotion 4WD2 Rover chassis that I ended up fastening together so it doesn’t articulate.   When I started putting everything together, the articulation of the chassis gave me no option for mounting the  MAKE Controller that is used to control pretty much all aspects of the robot.  A fine example of a rookie mistake, albeit not a terribly costly one since I could mod the 4WD2.  Looking back, I should have bought the 4WD3 kit, but the 4WD2 just looked so much cooler.

Fast forward two years…  I’ve gotten married, moved across the country, and taken another new job as a software developer where I’m doing quite a bit of work in Flex.  So I figured I had let the robot languish long enough and I decided to pull it from it’s spot in the garage and started porting the code from C# to Flex.  These code changes were made quite quickly and I was ready to test it out.  When I fired it up, I discovered that the driver chips on the outputs of the MAKE Controller only allows for about 1 amp for each of pair of outputs. This made it so the bot could not turn in place on carpet without burning out the driver chips.  To remedy this, I asked the folks over at Lynxmotion if they could help me out on a motor controller and they ended up donating a brand spanking new chassis that isn’t even out yet and a Sabertooth 2×10 motor controller from the folks at Dimension Engineering no cost.

Like I mentioned earlier, the brain of this little fella is a MAKE Controller.  I picked this controller primarily because it had the level of functionality built in that allowed me to get right into developing instead of battling a learning curve.  The MAKE Controller is issued commands and receive sensor readings via Open Sound Control (OSC), it has a active community base and MAKE Magazine is great and I like to support organizations like theirs.  What this all means is that I can send a string like “/servo/0/position 512″ and the first servo will move to the middle position.  I can issue these commands for all the functionality on the MAKE Controller including: servos, 8 inputs, 8 outputs, serial communications, digital I/O, motor controls, stepper motor controls, LED controls, network, etc - and in this project, I use almost all of that functionality.  The integration with Flex was super simple and you can check out the code, which I’ve release under the MIT License from the Google Code page.  So have at it, but let me know if you do anything cool with it!

The robot is linked to my computer via an ethernet RF bridge from Logitech that is actually made for linking an Xbox to a home network.  These are interesting because they are encoded and matched at the factory so I don’t have the typical radio control problems of someone with the same frequency.  Setting this part up couldn’t have been more simple.  I just plugged one PlayLink into my router, the other into the MAKE Controller and I was in business.  Pretty sweet huh?  This setup later got expanded to include a 5 port hub on the robot, so I could add on the D-Link DCS-900 webcam as well.

For self navigation, the robot uses a Maxbotix LV-MaxSonar-EZ1.  The ultrasonic sensor is mounted on a stepper motor that rotates about 45 degrees and the readings and are sent back to the laptop where they’re processed and a very simple decision making algorithm is applied to decide whether the robot should move forward, turn left, turn right or move backward.  The information is then used to drive the wheels so that the robot steers into what it believes is open territory.

Powering the drivetrain is a 10 cell, 12v 5000 mAh battery pack I picked up from All-Battery and a 6v battery powers the electronics.  I’m currently planning on consolidating the batteries so it all runs off the 10 cell pack and wiring that into one of the analogin’s on the MAKE Controller so I can shut everything down if it gets low.

Check out some images of the project.

Robot Photos

About Dream. Build. Repeat.

Bedpan Media is an independent media company, based in Tampa, that develops art in the form of video games, music, photography and web.