Welcome to RobotBox!

RobotBox is a community for robot builders to show off their projects. Add yours today.

Features of RobotBox

  • Showcase projects
  • Make new friends
  • Rate other's robots

Note: Facebook Connect temporarily disabled. Go here to login without it.

FrankenRoomba

Tags:
Category: Rolling
Progress: In Progress
Cost: 400.00
Time to Build: 12 months

Chumby is a robot controller. A USB hub fans out Chumby's USB. A USB-Serial cable connects to Roomba's control port, and Serialdaemon.c runs on Chumby & passes network connectivity from Roomba through to the Roombacomm java application running on the laptop. There's a webcam cabled to Chumby USB, with a daemon that serves video up to a client on the laptop. A tilt-compensated compass is wired to an Arduino Mega, who's USB is cabled to Chumby, and provides the laptop-resident java app with network access to robot compass. The plastic box also contains an R/C receiver wired to Arduino, so Arduino can report R/C input.

Comments

bouchier's picture

Hi gallamine. This assembly

Hi gallamine. This assembly is also used on a robotic mower, and in that application the R/C transmitter and receiver provide the ability to manually drive the mower to its intended starting place. The R/C receiver output (PWM ~10% duty cycle with pulse width from 1.1ms - 1.8ms) is measured by the Arduino and converted to a 0 - 100% PWM output to drive the motor driver boards which drive the wheel motors. This allows a mix of computer-input and manual input to drive the mower, so for example, a human can drive it out of the garage to the lawn, then the computer can mow the lawn. At least that's the theory, but it's only partly implemented. The manual part works, but obviously the autonomous mowing is the hard part. Still working on that :-)

Chumby is running whatever it comes with - I think it's their own distro. Chumby is designed to be hacked, and there's no problem getting into it & loading your own apps. See the Chumby Wiki for details.

The small grey cube on the left tower houses an electronic compass (Sparkfun, tilt compensated), so even if it doesn't know where it is, it knows which direction it's pointing :-). It has an I2C interface connected to Arduino, which reads it on demand and reports compass reading to higher-level SW on the laptop for navigation purposes. Higher-level SW also reads the Roomba wheel encoder data so it knows how far it went.

Paul

gallamine's picture

also, what's the small grey

also, what's the small grey cube on the left tower?

gallamine's picture

Chumby for a controller, now

Chumby for a controller, now that's cool! It's been on my "to buy" list for a while, but I couldn't justify it - now maybe I can :) So, what exactly is the RC receiver used for? Are you just running a standard Linux distro on the Chumby?

Good work!

bot-thoughts's picture

Nicely done!

Nicely done!