Here I document my ongoing quest to create a robust telepresence vehicle. My previous attempts used a modified battery RC car, with mixed results. Unfortunately, most remote-controller cars are geared quite high, designed for speed rather than power. And they tend to bog down when carrying all of the electronics I require, especially when navigating through outdoor environments. So, for the Mark 3 I started with a gas-powered RC truck:
This truck has four-wheel drive, impressively sophisticated suspension, and takes off at incredible speeds. After driving it around for a bit, I realized that any computer I put on here would be smashed to bits in short order! Here's a picture of it with the top off:
The throttle and steering are both controlled by servos, which receive their commands from a radio controller located inside the black case. It should be a simple matter to control them through my own software. I resolved to replace the gas engine with a slower electric one, something that would move the bot at about walking speed. The drive gears are exposed, and hooking them up to an electric engine should be straightforward. Things to buy:
This 12 volt gearmotor has an RPM of 350 with no load, and uses 0.5 amps (no load) to 12 amps (stall load) of current. It should be perfect for my bot!
I used an external motor controller to control the bot speed. This Phidgets controller plugs into a standard USB port on a computer, and has a simple API for setting motor speed and direction. It can produce output of up to 14 amps at 12 volts, making it just the right size for the gearmotor.
I picked up this pan/tilt assembly for the camera, which is far easier than building one myself.
I now have three servos to control; I used a Phidgets servo controller for the job. It can power servos that need up to 1.5 amps at 5 volts, which is just barely enough to run the steering servo that came with the Mammoth.
Lastly, I need a computer to power my Phidgets board, webcam, and connect to the internet. I chose an Eee PC 900A, whose primary virtue is that it uses a flash hard drive, which is more resistant to shock than standard drives. Without further ado, let's see what I can make out of all this:
I removed the gas engine, tank and exhaust, and mounted the electric engine in its place. The original system had a two-speed drive, with two separate gears. I was able to mount one of the gears on the motor, and have it drive the second.
I housed the whole thing in a box made from acrylic sheet, making it more or less waterproof. I placed the servo and motor controllers in the white project box, seen above the motor. At the rear of the bot, there's a compartment for the battery, a 12 volt, 3.3 amp-hour NiMH bundle of cells. Altogether, the bot weighs about 11 kg, far heavier than the original Mammoth. The suspension was never meant to handle such weight, so the bot currently sits only an inch off the ground. The Eee PC is held on with industrial-strength velcro.
And now, a test run in the park! A problem immediately occurs: the camera is meant for indoor use, and gets washed out in the sun. Here's a picture from the bot's webcam, as seen from the laptop I'm using to control it:
Fixing the issue was as simple as taping the lense from a pair of sunglasses in front of the camera.
A short video of the park experience: bot_park.mpeg, 32.7 MB
Notice how we overcame the canine obstacles, one of the many hazards in this challenging course! A few problems with this trial run came up: the camera control was very difficult to use, and steering the bot with arrow keys caused somewhat jerky motions.
In the following video, I have hooked up a steering wheel to the bot controller, and am using the mouse to aim the camera. Much better! I've also got Skype running on the bot, so we can speak to people it encounters. (Sadly, Skype's video streaming was ill-suited to controlling the bot, as it didn't provide enough frames per second.) I used my own QStreamer library for video, which got me eight frames per second.
bot.mov, 75.3 MB
I also hooked up a few sounds effects from Portal to liven things up! The bot is getting its internet from a 3G Rogers Rocket stick, which gives us virtually unlimited range.