Let's Make Robots!

Geoffrey

Telepresence. Human/Computer interaction (speech, movement). Autonomous mode using A* in a controlled environment.

Geoffrey is a work in progress telepresence/autonomous robot.  He consists of a netbook, Roomba, and Yoostar webcam all hooked together via USB.  Currently I have joystick control, speech synthesis, and video feed working, as well as a rudimentary autonomous mode that tends to get him stuck when he encounteres chairs and tables.  Geoffrey will be worked on for a while, as I plan to have telepresence over the internet, a better autonomous mode, speech recognition, face and object recognition, obstacle detection, and a rudimentary conversation system.

I'm currently using a combination of OpenCV, JInput, RoombaComm, and FreeTTS, all glued together with custom java code on a Windows XP system.

Comment viewing options

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

Very nice. You have alot of technology in there which gives you lots of options :-) The plywood looks convincingly like metal.

Did you hack into the roomba electronics ? It there a software API you can use or are you using the base motors and implemented your own electronics?

I nice use of existing techology!

Thanks.  Using existing technology is why I made him like I did.  He was my first step from Mindstorms, and I wanted to make something look cool so people would go "well if he could make it, maybe so can I".

I did not hack into the Roomba electronics, like the other poster mentioned there is a very easy to use serial interface.  However, after showing off Geoffrey around town I became known as the Roomba guy.  So I now I have six Roombas in various states.  I'm going to take one apart and experiment with bypassing the native microcontroller and using an Arduino or Raspberry PI instead.  The serial communication can be a bit unreliable at times, but it's a great way for a beginner to intermediate to get involved with robotics.

The software API I use is called Roombacomm.  It was developed by members of the Dallas Personal Robotics Group.  I highly recommend it.  It's open source, so if you know how to do serial communication in another language you can easily port it.

http://hackingroomba.com/code/roombacomm/

Thanks for that. All good to know. I'm quite keen to build a robotic vacuum but there is part of me that can't help myself and stat from ground-zero. Mind you, if I had a roomba, that would be a great place to start!

Most Roombas have a serial connection which allows one to directly control the motors (you tell it speed and turn radius). The port also allows one to read the Roombas sensors and turn on and off the various cleaning motors. There isn't a need to hack into the electronics.

Roomba's are really easy to hack.

Looks nice! I hope you'll have the time to finish it, mine is still a WIP gathering dust (something got damaged on the roomba's electronics). I recommend to contact Greg Perry (Grog) as we were working to integrate roomba in his MyRobotLab. Cheers!

Haha, just like RT-01 I doubt I'll actually ever really "finish" it, but just keep adding more and more functionality and tweak the AI till the cows come home.  I like your butler bot, and just posted a message on your page about helpign you out.  Also, the MyRobotLab looks interesting.  I'm going to take a look at it this weekend and see if I can maybe help with the Roomba integration.  I see he's using Java, he might want to look at roombacomm, that's what I use as my API to the roomba.

You may have covered this in the video but I couldn't make it out on my speakers.  What is the octagon that rises from the roomba to the camera stand made of?  It can't be that heavy...

it's 3/16 plywood painted silver and held together by metal brackets.  probably only a couple lbs or so but I never weighed it.

good project sir...