GreenRoomBaa

I got a vacuum cleaner for my birthday. Sorry, Chris, but MY wife is the coolest wife ever.

I didn't have the correct plug for the interface, so I really spent quite a long time on the software while I was waiting. Tonight, I said to my wife: "I connected the vacuum cleaner to the computer." said replied "What took you so long?"

I'm extremely pleased with the result. The video shows:

  • the bot driving around (cautiously - this is not full speed) under control of a Logitech Attack 3 joystick (!)
  • then a quick demo of how I can control the main brush motor, the vacuum motor and the side brush motor (again using the joystick)
  • and finally that I even have control over the colour of the front panel LEDs as I use the Z-axis of the joystick to fade the power LED from green to red and back to green again!

The robot already contains a serial interface which is spectacularly well documented by the manufacturer. As you can see the interface is TTL (much like the UART in the PIC) so you need to add a MAX-232 to get PC com port line levels. (See photos.) So, in theory, it would interface directly to the PIC without all that nonsense.

This will never be used as a vacuum cleaner. That would be a terrible waste of technology. This vacuum cleaner should be a compulsoy purchase for anyone wanting to learn to program a floor turtle.

It has been suggested that I empty a vacuum cleaner bag all over the floor, then drive the bot around in order to Write LMR in the dust. I've not ruled it out. Imagine.

Program takes control of a Roomba vacuum cleaner.

  • Actuators / output devices: 2x geared motors for locomotion, 3 other motors for vacuum, main brush and side brush. LEDs. Sound output.
  • Control method: Virtually ANYTHING. Currently a joystick.
  • CPU: 8086 CPU, 2Gb RAM
  • Operating system: windows XP
  • Power source: 14.4V NiMH rechargeable
  • Programming language: LabVIEW.
  • Sensors / input devices: 4x IR, 2x bump switches, 3x, 1x virtual wall sensor, temperature sensor.
  • Target environment: indoor, smooth floor or carpet.

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/greenroombaa

Awesome that they are pretty

Awesome that they are pretty much encouraging some hacking. I think that’s what’s boosted their sales so much!

Was it hard setting up the joystick? I like how you can control each separate part of the vacuum.

Do some more with it, I wanna see! :slight_smile:

Exactly!

Totally. It’s what Lego realised the should have done with RCX. After they released it, there was demand for an SDK, so they released one. The NXT has always had nearly open source status.

That way they’re bound to sell them by the millions. I have no intention of ever using it as a vacuum cleaner. It’s perfect marketing.

Ha ha! I have to say, taking input from the joystick was more difficult than controlling the damn hoover! But that’s a combination of the pain in the ass way Micro$haft makes us use their pain in the ass software interfaces.

I think the next stage is to map a room.

BOA - Replace the OS !Is XP

BOA - Replace the OS !

Is XP running on the 8086/Roomba? I’m amazed the bloated OS would fit - or are you talking about the SDK on your home computer? My suggestion would be to dump it along with Micro$oft…

It’s amazing how capable hardware can become when you get rid of the cruddy OS. eg link

I’m sure you’ll come up with something brilliant. Perhaps, paint on the floor or laser etching. Is that dog still around?

 

Yes

Yep, Windoze XP Home is running on the 8086 controlling the Roomba. Would you believe it’s so colossal that the computer is too big for the Roomba to carry it around? Well, since teh controller IS my home PC…

The Asus router I’m looking at runs Linux…

Roomba

Hey!

Im currently working on programming a roomba with labview myself for my final year project in college! The thing is I’m having serious problems getting feedback from my sensors. I know they work and that the cable is ok because I checked this in the SCI tester using the live sensor data button but when I enter the code manually to get feed back it wont in both the sci tester and my labview programme…just wondering has anybody been able to use labview to get feedback from the sensors ???

 

Easy

Yeah. There’s no problem getting feedback. If you send the byte 0x8E followed by 0x00, you get a 26-byte packet back containing all the sensor data. Make sure you haven’t got your VISA serial port timeout set too low, or else it won’t wait long enough for the returned data.

Now, here’s an odd thing. I don’t get sensor data using the SCI tester, but I do with my own program!!

Bots controlled via wifi routers
The problem i ran into with using an Asus WL500G was kernel/USB driver hell basically. 2.4 kernels worked fine with wireless but have limited USB hardware support, 2.6 kernels theoretically supported the USB devices i wanted (like UVC video) however the devices did not work, and troubleshooting was troublesome.