Let's Make Robots!

SPANR


Short for: Self Propelled Acer Netbook Robot

Status: Glorified RC car. First video posted.

Back story: I bought a bunch of robot stuff off ebay, this being one of the robots. The netbook battery was pretty flat so first thing I did was try to charge it up. It's now over 11v (started near 8v). I've yet to identify the netbook and haven't disassembled the robot far enough to read any identifying markings on the motherboard. Housed in a project box at the top of the robot was a DFRobot Arduino Mega clone (DFrduino?) with a Dagu 4-Channel Motor Controller. The wiring had been gutted and there are holes drilled in the project box to mount switches and servos. Two solder-free breadboards are stuck to the project box, perhaps for prototying sensor circuits. The chassis has four 12v gear motors driving some chunky wheels. I'm not certain but I think the chassis itself may be Lynxmotion in origin as there are mounting holes on each face which match the arrangement used on the Lynxmotion biped robot (which also came with this robot junk collection).

Planning: Intend to get the netbook up and running, see what software it has and install Arduino IDE and Processing if not already there. Will then wire up the 4-Channel motor controller to the Mega and link it to the netbook by USB. First step will be remote control, using the APC220 wireless serial link and a second arduino. If all goes well I'll start looking at adding sensors to the robot.

Update 08/12/12: When I got home the charging light was green. Battery voltage is now 12.36v (though charger is 19v). Three Li-ion cells (I'll track down some info on the cells and see if this is properly charged or not). I got the camera set up (wanting to video the first boot) and tried booting. Green (power) light and some noise, the LCD flashes up with an Acer logo and bios hotkey info but only for a brief moment and then the netbook was off again. Further investigation required, happy that I know the LCD is working but can't say for certain what else is/isn't working.

Update 09/12/12: Later last night I disassembled the top of the robot to see why the netbook wasn't booting. I reseated the memory and the hard drive, neither seemed to be the source of the issue. The battery connection was disconnected and reconnected a few times, so either that was halting the boot or something else magically revived itself as the netbook sprung to life. It turns out I have an Acer Aspire One, 1.6GHz Atom N270 with 1Gb RAM, 160Gb HD running Windows XP. Preloaded on the netbook was Arduino IDE, Python, Lynxmotion sequencer and a few other robot-related pieces of software. A software package to facilitate desktop sharing/remote connection was installed, which would explain the lack of keyboard, though for now I'm just using a wireless keyboard and mouse. With the netbook up and running (just need to connect the wifi card) I'm eager to get the motors wired up to the motor controller and get SPANR moving.

Update 09/12/12 (PM): Quick update to say I had the Arduino communicating with the motor controller (and feeding back info about current draw) for one motor. Tomorrow I should have all four running (resisting the urge to stay up all night tinkering). I'm getting a lot of fun out of programming the robot using the netbook, in fact I'm writing this update on the robot while I'm sitting on the floor and SPANR is propped up on the coffee table =D. 

Update 10/12/12: In attempting to skip a step I've blown a fuse in my head regarding the serial communications protocol between the netbook and the arduino. That's not to say it isn't working, I've got 4 bytes of data on the current draw (one byte for each channel) constantly flying back from the arduino to the netbook. Going in the other direction I tried to modify some code I had thrown together a while back and I can't figure out why it isn't telling the arduino to set the motor speeds correctly. Not to worry though, I'll get there and I did get all four motor up to 100% speed albeit on 7.2v instead of 12v (big battery is now on charge). I've got a GUI (screenshot below) in processing which displays a few buttons (forward/back/right/left/stop), gauges to show the set speed of each motor and ammeters which display the current draw (the scale ticks are still a bit off though).

(these aren't actual readouts from the robot, just values I was using to check visuals, range, numbering etc.)

Update 14/12/12: Got a little distracted with the interface coding as I attempted to use controlP5 then discovering it requires Processing 2.0b3 or above. This would be fine but Firmata wasn't playing ball (I was happily using Processing 1.5.1 with Firmata). Thankfully I found this fork of Firmata which fixes the issue and I have my sketch working in 2.0b3 with controlP5 and Firmata. After all that I decided I preferred the look of my own interface elements and will continue developing them myself. I reckon I'll still find some use for the controlP5 and I'll be scouring it's source code for some handy tips to improve the look and feel of my interface.

I had the robot down at my local fab-lab, MAKLab, and as the gallery space next door was not in use I took SPANR for a spin. I had him driving back and forth on my carpeted floor at home but wasn't getting much turning out of him. On the polished concrete he fared a little better and I used the opportunity to tinker with some different motor power distribution to see which provided faster or tighter turns. I took some video footage as I tinkered and will edit it shortly and post it here.

Update 23/12/12: Been working on other things. The footage I shot while taking SPANR for a spin around MAKLab is now edited and the video is above.

Update 02/01/13: I have been battling with Firmata trying to implement a Devantech SRF04 ultrasonic rangefinder. I have tried modifying StandardFirmata so that the ultrasonic rangefinder is polled by the Arduino and the data is returned to the netbook/Processing whenever Analog pin 15 is read. I've proven my rangefinder subroutine in a seperate sketch (it was spitting back ranges via serial without any problems) but I keep hitting a brick wall with Firmata. On the processing side I've stripped back to the bare minimum and calling analogRead(15) every 3 seconds (taking it nice and slow to begin with, will speed up the calls when autonomously roaming). While I've been working on this I've also been unsuccessfully trying to set the position of a servo (and again this works in a simpler sketch but not within StandardFirmata). As much as I'm struggling with Firmata I really don't want to go back down the route of implementing my own serial data protocol. In other news I shortened the USB lead for the Arduino and extended the USB lead for the hub, already looks a lot tidier, more cable management required though.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Will you be posting the code anytime soon? I ask this because i also have the lyxmotion base and Im having some trouble with programming and could use some help.

I've sent you the code I am working with, it's not much more than an RC car at the moment but that's something I hope to work on over the festive season. Let me know how you get on with the code, perhaps we can compare notes and SPANR can have a code-brother.

I have an acer netbook I revived its about 4 years old and am using it in projects...and to play some old school pc games. Great find. Keep the updates coming and some pics and videos please.

Do you know what type of monitor that is? 

From looking at Acer Aspire One disassembly webpages it looks like it is just the stock screen from the netbook.

The image at the top of the page was made before I had the netbook booting up, so it's a photoshop of a logo I made onto a photo of the robot.

Thanks for the quick response! it looks like it is shaping up to be an awesome project. 

just curious, what were you searching when you found this awesome lot?

If I recall correctly I think I was paging through the search results for just "Arduino". The same technique put me on the trail of some cheap 5V geared stepper motors from China, £1.74 with ULN2003 based driver circuit. For the sake of my marriage I'll need to stay off ebay for a while.

Ok, I am courious now....

did you say you bought this bot off ebay? with a collection of other stuff? if you do not mind me asking, how much did you spend on it? looks like a very intersting project.

Fifer, I spotted this on ebay and convinced my wife to let me buy it for my Birthday (this was a few weeks/months back and it's my birthday this week, hence I'm just starting to play with it). I won the auction at £250 (GB Pounds), just short of the £300 that the seller was hoping to get for it. The seller said the total value of all the items was about £1000.

For £250 I got SPANR, a Rover 5 base (with broken wheels, sourcing replacements from DAGU), a model tank base (no body work above the treads/base, though the tank BB gun/cannon parts are there, no original electronics although the original transmitter was included) and a Lynxmotion biped which was being stripped of parts to make articulated arms. There are several bits and pieces in there too, servos with bits missing, DFRobot arduino boards/shields, two DAGU 4-channel motor controllers (one has a burnt-out trace on the bottom which I'll try and repair).

A fair few parts to start some robotic bases. I'll start a page on each as and when I get around to tinkering with them.