Slashdot Mirror


Roomba + Wii remote + Perl = Awesome

Anonymous Wii Lov'n Coward writes "Check out the WiiRoomba, a mashup using a Wii remote, a perl script, and the Darwiin Remote software. While a little sluggish to respond, the Roomba is entirely controlled by the Wii remote accelerometers." All of the source code to do it yourself is available at the site linked, along with a youtube video of how it works.

41 of 175 comments (clear)

  1. Strange by Cytlid · · Score: 5, Funny

    This is like an odd parallel universe movie where a younger Matt Damon controls his vacuum with a remote control.

    --
    FLR
  2. Cool hack, but by Oddster · · Score: 5, Insightful

    Isn't the point of the Roomba that it doesn't need control?

    Although I suppose it would be really useful if you added a servo arm, and could use the contraption to get yourself a beer without leaving your chair.

    1. Re:Cool hack, but by Hadlock · · Score: 2, Interesting

      I can't wait to set this up for some sort of battle bot. Just rip the servos, etc out of the roomba and put them on a battle bot or RC truck. RC plane would be neat, but I think BT tops out at 30 ft or so.

      --
      moox. for a new generation.
    2. Re:Cool hack, but by LKM · · Score: 2, Informative

      It goes crazy in every house. That's how it works. It's essentially random (yes, it does have some heuristics, but it doesn't measure your place and then calculate a path to vacuum everything), but eventually, it'll have vacuum'd every space simply because it keeps on going and going.

  3. Wrong Department... by __aaclcg7560 · · Score: 4, Funny

    It should be "People who have too much time on their hands" department. :P

    1. Re:Wrong Department... by MobileTatsu-NJG · · Score: 2, Insightful

      "It should be "People who have too much time on their hands" department. :P" ... said the guy posting on Slashdot.

      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  4. Spoiler by Nerdfest · · Score: 5, Funny

    It sucks.

  5. Next: Wii-mote RC cars ? by neurocutie · · Score: 2, Insightful

    Cool hack, but better than just a regular RC joystick controller ???

    1. Re:Next: Wii-mote RC cars ? by FleaPlus · · Score: 4, Interesting
  6. The roomba... by xamomike · · Score: 2, Funny

    sucks alot. But good work on the Wii remote!

    --
    There are 10 types of people in the world; those who can read binary, and those who can't.
    1. Re:The roomba... by wjsteele · · Score: 2, Interesting

      Interestingly enough, the Roomba DOESN'T "suck alot." In fact, it doesn't use a low pressure area at all, but relies solely on brushes to pick up any unwanted particulate matter on the floor.

      Bill

      --
      It's my Sig and you can't have it. Mine! All Mine!
  7. Re:Perl vs. Python? by Geoffreyerffoeg · · Score: 2, Funny

    I have two words for you.

    Turing completeness.

  8. Re:Perl vs. Python? by grumbel · · Score: 4, Informative

    For those interested, the WiiLi.org Wiki is full of Wiimote examples using Python, just takes a handfull lines of code to get started with the Wiimote, its really easy.

  9. Good Will by huper · · Score: 5, Funny

    My boy is wicked smart!

  10. Why Perl? by FreeRadicalX · · Score: 2, Interesting

    Out of curiosity, why use a language like Perl to do something dynamic like this? I'm no code jockey, but I always thought that Perl was meant for run-it-once type applications that handle things like text processing and database searching. Wouldn't Java be better suited for this?

    1. Re:Why Perl? by Professor_UNIX · · Score: 2, Informative
      I'm no code jockey, but I always thought that Perl was meant for run-it-once type applications that handle things like text processing and database searching.
      Well then you would be wrong. Perl can be used for anything. In fact, the hard core Perl coders write video games in Perl.
    2. Re:Why Perl? by Surye · · Score: 2, Informative
    3. Re:Why Perl? by FooAtWFU · · Score: 4, Insightful
      Hey, look at the code. The important bits seem to be like

      printf $roomba "\x89%c%c%c%c", $vh,$vl,$rh,$rl;
      Elsewhere, they seem to be communicating with another application through a named pipe. Text processing and the UNIX philosophy: Perl at its finest.
      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    4. Re:Why Perl? by Nasarius · · Score: 4, Insightful
      Out of curiosity, why use a language like Perl to do something dynamic like this? I'm no code jockey, but I always thought that Perl was meant for run-it-once type applications that handle things like text processing and database searching.
      The question is valid, but the nonsensical rambling that follows detracts from it. So I'll just say that modern scripting languages like Perl, Python, or Ruby can do just about anything but systems programming. In fact, they are perfect for doing what the summary seems to describe: taking the output from one program, parsing it, and sending instructions to another program.
      --
      LOAD "SIG",8,1
    5. Re:Why Perl? by bockelboy · · Score: 5, Informative
      Wouldn't Java be better suited for this?

      No offense, but Java would be a particularly bad choice for this application. The real work done here is "gluing" two things together at a system level - the Roomba program and the Wii program. Java is uniquely miserable at interacting on the system level. Where Java excels is object-oriented architectural design and huge enterprise-level programs.

      So, if you want a scalable application server, use Java. If you need to tie two programs together, use a scripting language like Python or Perl. If you know you can limit yourself to a Unix shell environment, Perl may be best (and this is from a Python junkie!)
  11. It's only a question of time now. by gijoel · · Score: 5, Funny

    Before they REBEL!

  12. Let me see if I understand this by fm6 · · Score: 4, Funny

    You're tired of vacuuming by hand, so you buy a robot vacuum that works all by itself. Then you add a clever hack that allows you to control the robot vacuum just like the manual vacuum you had before...

  13. Mmmaaaat Daaaamon by popo · · Score: 2, Funny


    (sorry. I couldn't help it.)

    --
    ------ The best brain training is now totally free : )
  14. Re:iRobot could have made Roomba remote controlled by mccalli · · Score: 4, Insightful

    ... but they didn't. Because the whole point of the Roomba is that you don't need to control it.

    No and yes, in that order. My Roomba certainly came with a remote control that can steer the device, but I've never found a need to use it. However, I still appreciate this hack for what it is - a spot of fun done just because you can.

    Cheers,
    Ian

  15. "mashup" by sinserve · · Score: 5, Insightful

    What is this trendy-word shit? MASHUP? Who the fuck came up with this word? In multimedia we already had "remixing" and "sampling".

    Hardware and software can not "mashup", they're "coupled" or "integrated" in manager-speak, but in honest everyday speak hardware is "driven" or "controlled" or "interfaced" with software.

    It could have been "controling roomba with wii remote". Perl would never show up in the headline because software drivers are no often given banner credit. They're expected to work.

  16. "Mashup?" Excuse me? by Anonymous Coward · · Score: 2, Insightful

    The word you're looking for is "hack."

    Web 2.0. Blogosphere. Mashup. Digital Rights Management. Is our culture so completely saturated with marketer-speak that now -everyone- feels compelled to use bullshit terms like these in place of normal words with established meanings? People, we need to stop talking like boners.

  17. Envy by amdurak · · Score: 2, Insightful

    Come on, people. He did something we would never think of doing. Regardless of which object and what purpose the object which he controlled has, in my humble opinion it is well done. He got Slashdotted, we did not.

  18. Re:Pretty Flipin Awesome! by enrgeeman · · Score: 2, Funny

    wtf...
    you mean what the flip?

    --
    sent from my slashdot browser.
  19. How programable is the Roomba? by RalphBNumbers · · Score: 4, Insightful

    Taking this hack a step farther:

    Since Roombas can be made to connect to computers via bluetooth adapters, it stands to reason that if they are sufficiently programable, they could be made to respond directly to the Wiimote via bluetooth, without a Mac playing middleman. This might even eliminate a lot of the the lag the story mentions.

    --
    "The worst tyrannies were the ones where a governance required its own logic on every embedded node." - Vernor Vinge
  20. Wow. Amazing! by 93+Escort+Wagon · · Score: 2, Funny

    So, for the cost of the Roomba, the Wii, and a computer (so let's say, what, $1500?)... he's basically duplicated my $100 Hoover vacuum. Except my Hoover is more responsive to its handle than the Roomba is to the Wii remote.

    (Of course it is cool nonetheless...)

    --
    #DeleteChrome
  21. Re:iRobot could have made Roomba remote controlled by fimbulvetr · · Score: 2, Informative

    My roomba discovery came with a remote, and I swear the only reasons my sisters come over any more is to "clean" using the roomba w/ the remote. It's useful for the occasional shutdown when it's too loud, but other than that, you can't even issue the park command with the remote - and there's no reverse!

  22. New word! by Duncan3 · · Score: 2, Funny

    So is "mashup" the hip new word for "programming"?

    I guess if programming is something 3rd world starving people do for $0.50/day, we need a new word.

    I better get back to mashing, hahahahahah

    --
    - Adam L. Beberg - The Cosm Project - http://www.mithral.com/
    1. Re:New word! by Bwerf · · Score: 2, Funny

      Awesome, feeding that to my perl interpreter and now I can suddenly use my wiimote to control my Roomba.

      --
      If noone rtfa, then what's the slashdot effect?
  23. Re: Indeed by thzinc · · Score: 2, Insightful

    Perl is no more difficult to maintain than any other language.

    Bad code is bad code, and bad code is difficult to maintain. Good code is good code and is generally maintainable.

    Writing good code in Perl, just like any other language, is left up to the programmer.

    (And, I know of more than a few large, well-maintained systems written in Perl.)

  24. Re:Bluetooth by Gotung · · Score: 2, Informative

    The sensor bar is kind of confusingly named. The bar itself doesn't actually sense anything. It just has 2 ir emitters, the same type in your average tv remote. The wiimote picks up the signals from the emitters to find out where it is in relation to your TV. People have reportedly been successful in substituting 2 candles for the "sensor" bar. The bar does plug into the nintendo, but since the wire simple provides power, some minor hackery will allow you to plug it into an ordinary wall socket.

  25. Be glad there's no challenge/response by Myria · · Score: 2, Insightful

    Be glad that Nintendo didn't go the route of Microsoft and do a challenge-response to authenticate the console to the controller and the controller to the console.

    Melissa

    --
    "Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
  26. Re:Mmmaaaat Daaaamon by cadeon · · Score: 2, Funny

    Matt Daemon.

  27. I know what its for by bigsam411 · · Score: 4, Funny

    They designed this so that when people throw their Wiimotes at televisions while playing Wii Sports, the Roomba will go clean up the glass shards.

  28. Wii remote - Wii - games = WiiRoomba by Anonymous Coward · · Score: 2, Funny

    This is what happens when you buy only the controller without the console & games.

  29. I've got a similar hack by sdcharle · · Score: 3, Funny

    I attached a handle to my roomba so I can control it by hand.

  30. Re:Do not understand this new word "mashup" by WilliamCotton · · Score: 2, Funny

    Hopelessly out of touch guy in the 1950s:

    "Seriously, this term "rock and roll" just doesn't make any sense.

    In English "rock" refers to either an action of rocking back and forth or a relatively hard, naturally formed mineral or petrified matter. The term "roll" refers to either an action of turning around or revolving on or as if on an axis or a small loaf of bread served with dinner. I just don't see how either of these words have anything to do with a current trend (which will no doubt not be around for very long and not have much influence) in teenage music.

    Are there some different meanings for these words? I have checked various dictionaries, including American English ones, but found nothing."

    --
    I've always prefered a command line interface. GUIs are such a cursory way to interact with a computer.