Let's Make Robots!

Chopping board Bot

AttachmentSize
IMAGE_048.jpg501.82 KB
IMAGE_050.jpg58.65 KB
IMAGE_049.jpg53.49 KB
IMAGE_052.jpg40.81 KB

Update: been through a few revisions, new pics added of the last mods and the latest mod-in-progress (front+rear castors, mid-mounted motors and batteries)

 This new layout should improve the speed and handling at the expense of poor handling of rough grount (castors could hang the bot up easily)

 

Original Post:

New robot using a TReX controller, a pair of XU1 drill motors and plastic wheels, mountd on a chopping board. 6v SLA battery with a slightly broken eeepc on top, running from flash. Currently it can drive/spin/etc using python running on the eeepc.

It currently has a webcam, Maxrobotics sonar sensor connected to an arduino,  and a 6 DoF arm mounted on the top, as well as an optical mouse underneath recording X,Y movement information. Servos for the arm are controlled by a pololu serial servo controller.

Pics deleted:

 #1 shows base with pololu and trex attached, as well as brackets and wires going to the drill motors

#2 and #3 show the batteries and wiring in place, along with the "big red switch"

 #4, #5 and #6 show the top layer of the robot flipped upside down. The arm and pan/tilt servo/camera mount are visible her, as well as the hard drive bearing base for the arm and the pololu servo controller

#7 shows the two parts together, however all of the wiring is not connected.

 Currently the software is at a state where it can be controlled wirelessly via a laptop, using pygame and wxwidgets. (UDP networking, sending the command values as pickled lists ) I have python reading the sonar input from the arduino but not doing anything usefull with it yet- getting the sonar doing something usefull is a priority, as this bot moves quite fast, and has a decent amount of mass in the batteries.I still have a few voltage convertors to mount, to power the servo controller and laptop if needed from the main battery pair.

Other bits that i need to do:

All of the USB cables i am using are too damn long. Including (especially!) the USB-serial cables. I want to find a neat solution that does not involve rolls and cable ties

Sonar positioning could be better - it off center, and its pivot axis is as well. Ditto webcam

Webcam is the internal one from the eeepc. I need to add another external USB socket to the eeepc and hook it up to the webcam header, and do similar to th webcam so it can easily be seperated

I have speakers, no reason not to fit them...

A simple message/command passing system - essentially a set of CVS files that can be loaded/read and played back to the different motor controllers

Accelerometer interface : i have a nintendo wii and a bluetooth module, why not?

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
I bought an Asus eee pc to use for a robot brain but haven't used it yet for more than web surfing during commercials. Tell us more about how your using it.

I had a broken eeepc lying around (suffered an impact, flash socket and some pins of the SSD lifted off the PCB, sold off the KB and screen) so i installed Ubuntu onto an 8G corsair flash drive my GF got me for valentines day (Specifically for the bot!)

 Originally i tried using an Asus 500G wireless router as a simple python/USB/wireless platform, but ran into driver hell, so decided to reuse the eeepc so i didnt need to worry about any USB driver/non-X86 issues

 Currently running Ubuntu 8.10 (same as my other, working eeepc) . USB-serial cable connected via breadboarded serial cable (motherboard serial header cable - breadboard - cut-off cisco console cable - USB-serial cable)

 Python code is currently trivial:

import serial 
import time
ser = serial.Serial("/dev/ttyUSB0", 57600, timeout=1)
turnmotors = '%c%c' % ( chr(194), chr(127))
ser.write(turnmotors)
turnmotors = '%c%c' % ( chr(202), chr(127))
ser.write(turnmotors)

This sets both motors to full-forwards (7 bit data values, seperate commands for the reverse speeds)

I am using the simplified protocol, but have a full wxwidgets control interface built using the full pololu commands for the 8 servo controller that runs under linux or windows with a change of the serial port. I posted it on the pololu forums here: http://forum.pololu.com/viewtopic.php?t=1148

I have a version of this modified to suit the eeepc's screen size - shame i broke my touchscreen :-(