Forgot your password?
typodupeerror

Roomba + Wii remote + Perl = Awesome 175

Posted by timothy
from the when-buzzword-compliance-is-a-good-thing dept.
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.
This discussion has been archived. No new comments can be posted.

Roomba + Wii remote + Perl = Awesome

Comments Filter:
  • Strange (Score:5, Funny)

    by Cytlid (95255) on Tuesday December 26, 2006 @10:53PM (#17373082)
    This is like an odd parallel universe movie where a younger Matt Damon controls his vacuum with a remote control.
  • Cool hack, but (Score:5, Insightful)

    by Oddster (628633) on Tuesday December 26, 2006 @10:53PM (#17373084)
    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.
    • Re: (Score:2, Interesting)

      by Hadlock (143607)
      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.
  • by creimer (824291) on Tuesday December 26, 2006 @10:53PM (#17373088) Homepage
    It should be "People who have too much time on their hands" department. :P
  • Spoiler (Score:5, Funny)

    by Nerdfest (867930) on Tuesday December 26, 2006 @10:54PM (#17373090)
    It sucks.
    • Actually... it blows.
      • by monoqlith (610041)
        It actually involves quantum mechanics, so it can suck and blow at the same time.
        • by steveo777 (183629)
          You know, I had a physics teacher way back in high school who had a sign that he liked to quote... often.

          Something like: "Physics can never suck, or blow. It can push, it can pull. But will never suck or blow."
    • by tomzyk (158497)
      I ahhhh.... don't see ahhhh... what you're ahhhh... trying to ahhhh get at... ahhhhh.... I thought the good... the good... the ahh.... err... the movie ahhh.. was pretty ahhhhhh good and ahhhhhhh well ahhhhh scripted.
  • by neurocutie (677249) on Tuesday December 26, 2006 @10:56PM (#17373108)
    Cool hack, but better than just a regular RC joystick controller ???
  • by xamomike (831092)
    sucks alot. But good work on the Wii remote!
    • Re: (Score:3, Interesting)

      by wjsteele (255130)
      Interestingly enough, the Roomba DOESN'T "suck alot<sic>." 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
      • by jrockway (229604)
        That's not true; the Roomba has a vacuum in addition to the brushes. The stuff it sucks up is "stored" underneath the filter (and is why the Roomba needs a filter to begin with).
      • There's so much misinformation here about the Roomba. It's a vacuum. It "sucks." It does it quite well. It's a well built product that does what it's supposed to do.

        Here's a thought: Don't try to offer facts on what something does if you don't have a little first hand knowledge.
        • by wjsteele (255130)
          1.) I stand corrected. It does create a small vacuum. However, after investigating it, it is a very small vacuum designed only to keep dust inside the bin, not to actually draw it in. It's more used to offset the high pressure created from the brushes "pushing" debris into the bin than to pick up any dirt. It's a very clever design. The filters are used to prevent dust from escaping.

          2.) I do have a lot of first hand knowledge. I've been using and playing with Roomba's since they were first introduce
  • Good Will (Score:5, Funny)

    by huper (568138) on Tuesday December 26, 2006 @11:05PM (#17373162)
    My boy is wicked smart!
  • Why Perl? (Score:2, Interesting)

    by FreeRadicalX (899322)
    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?
    • Re: (Score:3, 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.
    • Re:Why Perl? (Score:5, Insightful)

      by FooAtWFU (699187) on Tuesday December 26, 2006 @11:16PM (#17373236) Homepage
      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.
    • Re:Why Perl? (Score:5, Insightful)

      by Nasarius (593729) on Tuesday December 26, 2006 @11:20PM (#17373264)
      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.
      • by chromatic (9471)
        I'll just say that modern scripting languages like Perl, Python, or Ruby can do just about anything but systems programming.

        I don't know why you say that; they can do systems programming too. FFTs or real-time matrix manipulations or low-level bit-twiddling, less so.

      • by syousef (465911)
        Can't do "systems programming"? I once taught a subject called Systems Programming and it involved teaching the students Perl. I kid you not. The subject was about Unix sys admin type work (including C, Perl, and sh). I take it you mean real time systems when you say systems programming?

        • by Covener (32114)

          [perl] Can't do "systems programming"? I once taught a subject called Systems Programming and it involved teaching the students Perl. I kid you not. The subject was about Unix sys admin type work (including C, Perl, and sh). I take it you mean real time systems when you say systems programming?


          In the conventional sense "Systems Programming" is contrasted with application programming -- careless example: kernel vs. userspace
      • Perl is a highly dynamic language and is actually well suited to long running applications. There really is no reason it cannot be. In fact, the automatic memory allocation and the VM adds a level of safety. The problems of buffer overruns are much less on perl and it is also eisier to prevent memory leaks. In my opinion, Ruby, Python and perl are better choices for applications than C or C++.
    • Re:Why Perl? (Score:5, Informative)

      by bockelboy (824282) on Tuesday December 26, 2006 @11:31PM (#17373348)
      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!)
    • by cabazorro (601004)
      Think of Perl as the nail gun and C as the wood beams. The bluetooth device drivers and speed critical system calls from the kernel libs are written in C.
      Perl is ideal for this type of job. Is light, powerful and it NAILS the job every time.
  • ... but they didn't. Because the whole point of the Roomba is that you don't
    need to control it.

    And why is this "awesome"? Is the Wii remote better than a standard joystick
    remote (like those used for RC cars) for this application?

    • by mccalli (323026) on Tuesday December 26, 2006 @11:27PM (#17373316) Homepage
      ... 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
    • 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!
      • you can't even issue the park command with the remote

        That's what I thought at first, too, but turns out it's not true. In fact, it's pretty much the only thing the remote is useful for. If you steer the roomba using the remote, it will park automatically as soon as you approach the docking station.

    • by instarx (615765)
      ... but they didn't. Because the whole point of the Roomba is that you don't
      need to control it.

      And why is this "awesome"? Is the Wii remote better than a standard joystick
      remote (like those used for RC cars) for this application?


      This kind of comment is what drives me crazy on slashdot. Why are so many here so bloody literal minded and opposed to innovation for innovation's sake? This is a test bed. A prototype. A proof of concept. No one actually needs a Wii controlled Roomba. Now that the concept is
  • by gijoel (628142) on Tuesday December 26, 2006 @11:21PM (#17373274)
    Before they REBEL! [youtube.com]
  • by fm6 (162816) on Tuesday December 26, 2006 @11:23PM (#17373294) Homepage Journal
    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...
  • by popo (107611) on Tuesday December 26, 2006 @11:24PM (#17373302) Homepage

    (sorry. I couldn't help it.)
  • "mashup" (Score:5, Insightful)

    by sinserve (455889) on Tuesday December 26, 2006 @11:36PM (#17373374)
    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.

     
    • In my day we called it "remixing", and you had to do it under candlelight, using toothpicks, bubblegum, and pieces of film, while walking in 2 feet of snow, uphill both ways.

      Give it a rest, gramps.

    • by jfedor (27894)
      I blame Cory Doctorow [google.com].
  • by Anonymous Coward
    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.
  • As you can all see that was Pretty Flipin Awesome!


    wtf...
  • Envy (Score:2, Insightful)

    by amdurak (994897)
    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.
  • by RalphBNumbers (655475) on Wednesday December 27, 2006 @12:08AM (#17373506)
    Taking this hack a step farther:

    Since Roombas can be made to connect to computers via bluetooth adapters [makezine.com], 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.
    • by wjsteele (255130)
      The Roomba itself isn't actually programmable. What they have exposed is cool, however. You have access to all of it's sensors and can drive the motors via commands. With that, you can add a small PIC or BasicStamp controller and drive it via serial commands. The BlueTooth adapter simply extends those serial commands to another device.

      I have a Roomba Discovery that I have added a BasicStamp computer and BlueTooth. That way, I can issue commands via BlueTooth or download programs that it will execute.
  • by 93 Escort Wagon (326346) on Wednesday December 27, 2006 @12:10AM (#17373510)
    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...)

    • by emurphy42 (631808)

      So, for the cost of the Roomba, the Wii, and a computer (so let's say, what, $1500?)...

      Okay, it makes for a good joke, but it's not really fair to count the cost of stuff that the guy would've owned anyway. This probably includes the computer, and quite possibly the Wii and Roomba as well.

      What was the name of the guy who hacked into a telco server and stole some document, got sued for some ridiculously high figure that included e.g. the cost of the computer that the document was originally word-

  • What's with all the Wii math today? Something + Wii = Something Else

    Dan East
  • The next video I expect to see attached weapons and a small arena.
  • New word! (Score:3, Funny)

    by Duncan3 (10537) on Wednesday December 27, 2006 @12:19AM (#17373548) Homepage
    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

    • Actually "mashup" is about 5 years old give or take, it comes from the underground music scene where beat-matching software is used to blend together two (or more) songs together that would not ordinarily fit.

      For example: (and I'm serious here) Nirvana's "Smells Like Teen Spirit" + Destiny's Child's "Bootylicious" = "Smells Like Teen Booty"

      Some rather high-profile works have been created using the technique, The Beatles vs Jay-Z, Beatles vs. Beachboys (Beachles) Beatles vs. Beastie Boys (Beastles), Dean Gra
  • Too bad it's still only a vacuum cleaner... It needs frickin' laser beams... Oh wait, it uses IR? Damnit...
    • by jpardey (569633)
      I hope that was purposeful. An infrared transmitter is not usually a laser, just an LED below the visible light spectrum.
  • Wait a second, I didn't realize that the Wiimote used bluetooth and that the output could be captured. How does the light sensing bar connect to the Wii(I don't own one yet. Yes I know, I'm sad too)? If it can be connected to a computer (and I'm sure some modder will figure it out), the implications could be huge. Now your computer is a Wiiputer. You could use the wiimote for all of your favorite games. But I bet all of you already knew that.
    • Re: (Score:3, Informative)

      by Gotung (571984)
      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.
  • by Myria (562655) on Wednesday December 27, 2006 @01:12AM (#17373802)
    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
  • Seriously, this word does not make sense, at least in this context. I am not trying to troll, but I would appreciate it if someone could explain it's exact meaning.

    In English (okay, British/standard English) "mash" means to scramble or grind something, e.g. mashed potato or papier mache. In the context of technology, it makes no sense as generally mashing implies that the thing being mashed becomes paste like, or mashed. To describe a car as mashed, is to imply it has been crushed and bent out of shape to t
    • Re: (Score:2, Funny)

      by WilliamCotton (856410)
      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 v
      • by AmiMoJo (196126)
        "Rock and roll" makes perfect sense, and it's evolution is well documented (see Wikipedia, for example). It makes good sense in the context. "Mash-up" seems to have come from no-where, and makes no sense at all in this context. It seems to be describing the combining of technologies in ways previously not intended, basically a form of hacking. Why not then call it a hack, as would have been the case six months ago?

        I suppose all you can say in the end is that American English is very different from standard
  • by bigsam411 (1043552) on Wednesday December 27, 2006 @02:07AM (#17374044)
    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.
  • by Anonymous Coward
    This is what happens when you buy only the controller without the console & games.
  • Now everybody is going to get excited about things that they can control with their "Wii".
  • 10 print "Use the fucking Roomba's remote. IT ALREADY HAS ONE!"
    20 goto 10
    30 end
  • by sdcharle (631718) on Wednesday December 27, 2006 @11:41AM (#17376910) Journal
    I attached a handle to my roomba so I can control it by hand.

Save a little money each month and at the end of the year you'll be surprised at how little you have. -- Ernest Haskins

Working...