Hacking Roomba

RoombaComm

[NOTE: RoombaComm is now being actively maintained by Paul Bouchier, Jonathan Pitts & Matt Black (and occasionally me perhaps) on the Dallas Personal Robotics Group site. Check out RoombaComm's new home! This site will continue to mirror any RoombaComm updates by the DPRG folks. The DPRG site has many great projects and tutorials for building your own robots, be they Roomba-based or not. Thank you so much guys for giving RoombaComm some much-needed attention.]

RoombaComm is Java library for communicating and controlling the Roomba. It works on any operating system that RXTX supports. This includes Mac OS X, Linux, and Windows. It also works with Processing. It will soon work with Flash and Max/MSP.

It’s been a work in progress for several months and has gotten a little better as I work through improving it for the book.

Several bugs have been fixed, particularly with respect to Bluetooth on Windows. See the README for some info on that.

Tested systems:
- Mac OS X 10.4 (Tiger) : usb serial & bluetooth
- Mac OS X 10.3 (Panther) : usb serial & bluetooth
- Windows 2000 : usb serial & bluetooth
- Gumstix Linux : built-in serial

Tested adapters:
- Homemade RS-232 adapter
- Homemade Bluetooth adapter
- RooStick USB adapter

Demo command-line programs include:
- DriveRealTime — Drive your Roomba with cursor keys
- RTTTLPlay — Play monophonic ringtones on your Roomba
- Spiral — Roomba drives in ever expanding spiral
- Waggle — Roomba wags like a dog
- BumpTurn — Roomba drives around by itself, avoiding things
- Spy — Read your Roomba’s mind while it works
- Tribble — Roomba purrs and sometimes barks
- RoombaCommTest — Roomba GUI remote control panel (not command-line)

Processing demos include:
- RoombaTune — Play your Roomba like a musical instrument
- RoombaRing — Play RTTTL ringtones on a Roomba
- RoombaView — Full instrument panel and remote control

This is what RoombaView looks like:

roombaview

Download:
- full package: roombacomm-0.96.zip
- Processing library: roombacomm-processing.zip

- full package, built, with “roombacommtest.bat”: roombacomm-0.96-built.zip

Docs:
- javadoc
- README
- README.windows.txt
- README.eclipse.txt
- CHANGELOG.txt
- the source tree

129 comments

129 Comments so far

  1. Pat Brown February 5th, 2007 9:43 pm

    The books says there should be a Windows version of RoombaCommTest, but there is only a Mac version under roombacomm/packaging/RoombaCommTest.app/Contents for roombacomm-0.95.zip.

    Where can I find the Windows version?

  2. todbot February 6th, 2007 1:04 am

    Hi Pat,
    I’m tardy in doing an updated release of RoombaComm. I’ll see if I can produce an updated one soon.

    For now, you can access the SVN repository for RoombaComm at:
    http://roombahacking.com/roombahacks/roombacomm/.

    I just did a full checkout and made a tarball of to download here: roombacomm-20070201.tar.gz.

    Neither of those contain the PC-specific stuff, but if you have Java installed, you can run the roombacomm.RoombaCommTest Java program from the command line like any other.

  3. Craig March 1st, 2007 9:54 pm

    I downloaded RoombaComm, unzipped it to a file but cannot find the install icon. I would apprciate any help anyone could give.

    Thanks

  4. Isaac March 19th, 2007 11:47 am

    I’m using roombacomm and it works great, bought the book too – but the only sensor update command that seems to be working is the default updateSensors(), which updates all the sensors. I tried to make a method called updatePhysicalSensors(), calling sensors(SENSORS_PHYSICAL) but it won’t update, even if I’m holding down on the bump sensor the entire time. Why might this be happening?
    thanks for any help.

  5. todbot March 20th, 2007 10:27 am

    Hi Isaac,
    I’m glad things are (mostly) working for you. The RoombaComm code only supports getting all the sensor data. You can send the SENSORS command just fine, but you’ll need to subclass RoombaCommSerial.serialEvent() to receive the appropriate number of bytes for the packet you want instead of the 26 bytes comprising the entire set of sensor data. You’ll also need to make sure you place those bytes in the right place in the internal sensor_bytes array so that the other functions can get at it.

    I experimented with making a general sensors reading system in RoombaComm that dealt with the various sizes of sensor packets. The additional complexity on what was already a complex bit of logic for code meant for a book for novices made me remove it.

    In practice I found the overhead of getting all 26 bytes at 57.6kbps didn’t prevent any of the tasks I wanted.

  6. Paul March 30th, 2007 6:27 am

    I bought the book and am also looking for the windows version of roombacomm. I don’t want to order the parts from jameco until I am sure I have all the software in place. Perhaps I am missing something here, but is there a version of roombacomm available for downloading that will work with windows XP?

  7. todbot April 2nd, 2007 11:05 am

    There is no Windows version, per se. RoombaComm is all Java, which works on all computer platforms. There is a Windows application wrapper for RoombaCommTest, but it got lost in a disk crash. I’ll see if I can put it back together again. It’s not required, as you can run all the Java examples from the command-line.

    If you’d like a Windows application right now to test out your interface, try out the “SCITester” app you can download from SparkFun.

  8. Argyrios June 21st, 2007 11:44 am

    For WinXP users:

    First you have to install the JAVA JDK and configure the PATH variable.

    Then, using the command prompt from the folder \roombacomm-0.95\roombacomm

    type this (it is a single line)
    java -Djava.library.path=rxtxlib -classpath ".;rxtxlib/RXTXcomm.jar" roombacomm.RoombaCommTest

    Voila. I also test the RoombaCommTest with my Roomba and it works like a charm.

    However, I noticed that the button for turn left/right do not work (the rotate left/right work). Probably it’s because they were not programmed to do something.

    I found these instructions here:
    http://gicl.cs.drexel.edu/wiki/Connecting_Roomba_to_Your_Computer

    Argyrios

  9. Bill August 23rd, 2007 11:19 am

    Hey todd, I recently bought the book, and there’s lots of great projects. I’m working on the bluetooth configuration and I’m trying to run RoombaComm from WinXP. And like a few others who posted there is not an application for windows in the zip file. Can you update everyone on how to call the java functions from the command line. I’ve tried using Argyrios’ method but get an error of ‘Exception in thread “main” java.lang.NoClassDefFoundError: roombacomm/RoombaCommTest’. And the README file isnt any help since it is for the serial tether. Any help would be much appreciated. Thanks

  10. todbot August 23rd, 2007 2:12 pm

    Hi Bill,
    The RS-232 and Bluetooth adapters are the same from the software point of view, because they both appear as serial ports.

    I’ll admit to not being too savvy about Windows, but the invocation of Java commands is almost identical across all platforms. Just colons turn into semi-colons when specifying classpaths.

    The Java invocation and link Argyrios has above which contains it should work just fine. It’s what I use.

    Some things to check:
    - Are you in the top “roombacomm” directory, which has “rxtxlib” and “roombacomm” as subdirectories? The library path and classpath statements are relative.
    - Do the .class files exist? You should have them, but if somehow you do not, you can regenerate them from the .java files with:
    javac -Xlint:unchecked -classpath ".;rxtxlib/RXTXcomm.jar" roombacomm/*.java
    (also all on one line)

  11. Roomba Robot Upgrade » Robot Control December 18th, 2007 4:40 pm
  12. Pete January 6th, 2008 8:28 pm

    Hey Todd, I recently bought the book and have made the serial interface. Everything seems to be correct, RealTerm sends back info, RombaCommTest is up and running, but nothing happens. It states it’s connected you can send the different commands to move, but nothing. I’m using a different type of USB-serial interface, WinXP and the Roomba was made after 12-05-05. Thanks

  13. todbot January 6th, 2008 10:04 pm

    Hi Pete,
    You might have some oddness with your Java installation. Since you’re on Windows, one way to remove that as a possibility is to download the “SCI Tester” program from RoombaDevTools.com. It’s a Visual Basic program, so uses different code to access the serial port.

    I assume when you say that RealTerm sends back info, you’re referring to connecting the TX & RX pins together on your adapter before hooking it to a Roomba to create a loopback so you can see yourself type?

    Or are you referring to how the Roomba will emit text on its ROI port when it boots up after its battery is inserted. That’s always a good way to check that at least the sending from Roomba to PC is working.

    If the loopback is working, but the Roomba isn’t sending text when its battery is inserted, try flipping the TX & RX lines to the ROI port, you may have them swapped. Otherwise, you might have ended up with a Roomba that doesn’t have the ROI firmware in it.

  14. Pete January 7th, 2008 8:22 am

    Todd, Thanks for replying right back.

    I have tried the SCItester with no luck.

    Yes I can see myself typing when I use the Loopback in RealTerm. Roomba does emit text on its ROI port when it boots up after its battery is inserted.

    I have several Roomba’s. Some will emit a tone after you keep holding down the power button, I have read that means they have the ROI firmware in it. Thanks

  15. tsikboy February 5th, 2008 9:06 pm

    hi. i downloaded the roombacomm and unzipped it but the jar apps is not opening. I’m using win2k. any help is appreciated.BTW, i’m using the serial tether on the irobot create and it works fine. thank’s in advance

  16. Kevin tarn March 8th, 2008 7:48 am

    I have two roomba. One day I accidentally make a short circuit to the vacuum motor ,and the motor did not work since then. Another roomba’s vaccum motor also disfunctioned when cleanning the wet floor. Is there anything I can do to make motor work again through the roomba open interface (ROI) commands or the panel buttons or any other way except back to the repair shop?

  17. todbot March 8th, 2008 11:31 am

    Hi Kevin,
    Oh no! I’ve zapped a Roomba too. It’s a real bummer. Unfortunately, once you cause a physical problem with the Roomba, no amount of talking to it with software will fix it.

    But you can look at this as an excellent reason to poke around inside your Roombas to see how they work. You may even be able to find a replacement motor on the net. Check out the forums on http://www.roombareview.com/; there are lots of people who have repaired or taken apart their Roombas there.

    Otherwise, yes, the only solution is to take it to the repair shop.

  18. Jeffrey March 31st, 2008 11:27 pm

    hi tod:

    I have a 500 series Roomba 535 which use 115200 as default baud rate.

    I’ve changed the rate string in RoombaCommSerial.java code and re-compile it with JDK 1.6.0_05. There’s no error during compile, but it shown 23 warnings.

    I repackaged the .jar file and use it to replace the one in the “processing\libraries\roombacomm\library” folder.

    When I execute the roombatune.pde sample code, the processing reported the following error message:

    java.lang.UnsupportedClassVersionError: roombacomm/RoombaCommSerial (Unsupported major.minor version 50.0)

    Could you tell me how to fix this problem? Thanks in advanced!

    Jeffrey

  19. todbot April 1st, 2008 12:58 am

    Hi Jeffrey,
    Thanks for the research on the Roomba 500 series.

    I think that error is because a Java class stores a version number for every class it calls. In this case, there are other Java classes in the RoombaComm library that you’ll need to recompile too. I just do “javac *java” or similar. The “makeit.sh” does this, and could be turned into a .bat file with minimal changes (mostly change the classpath separater to ‘;’ instead of ‘:’)

    And since Processing is all Java as well, you’ll need to recompile the Processing sketch. Just clicking ‘Run’ or re-exporting the application should be fine.

  20. Jeffrey April 2nd, 2008 6:27 am

    Hi Tod:

    Thanks very much for quick reply.

    I’ve recompile every Java file, and execute the RoombaCommTest class. However, it didn’t work on my Roomba 535.

    I’ll rebuilt a RS-232 to TTL cable and try again, thanks a lot!

    Jeffrey

  21. Clayton April 2nd, 2008 3:32 pm

    Hello Tod,
    I purchased ‘the book’, and built a nice little serial tether following your schematic. I have a 500-series Roomba, and changed the baud speed in RoombaCommSerial.java to 115200 as per the 500series ROI pdf, recompiled, launched RoombaCom Test, and cannot get any command to send.
    Have you had a chance to play around with any of the 500 Roombas? Do you have any suggestions?
    Thanks!

  22. todbot April 2nd, 2008 3:45 pm

    Hi Clayton,
    I’ve not had a chance to play with the newer Roombas. I recall seeing a post on the RoombaReview.com forums that they’ve gotten them to work.

    I’ve not had a chance to update the RXTX Java serial library in the RoombaComm distribution, so you might want to try that, in case it’s a software problem. The easiest way to do the update is to grab the three files here:
    http://todbot.com/arduino/rxtx/
    and plop them into the ‘rxtx’ directory of your RoombaComm folder.

  23. Clayton April 2nd, 2008 4:50 pm

    Hi Tod,
    Thanks for the quick reply!

    I gave it a go, but still no success. I’ll poke around roombareview.com forums for a while and see what I can find. I’ll most definitely report back for everyone’s benefit if I get it all worked out.
    -Clayton

  24. todbot April 2nd, 2008 5:19 pm

    Hi Clayton, Thanks! All my Roomba stuff is in storage right now and I feel bad I can help out directly.

  25. Jesse April 7th, 2008 11:57 am

    It appears as though goBackward(int) and goForward(int) in your provided roombacomm aren’t working. Has this issue been addressed?

  26. todbot April 7th, 2008 12:22 pm

    Hi Jesse,
    Those functions worked. What problems are you having? I must admit the solution for goBackward(int), goForward(int) and goStraight(int) (the method the previous two call) is somewhat hacky, based purely on time-based dead-reckoning. But it still should have done something approximately correct.

  27. Jesse April 7th, 2008 7:33 pm

    When I call the functions, the robot doesn’t seem to do anything (eg. roombacomm.goBackward(100) just sits there).

    Now, roombacomm.goBackward(1000) causes the roomba to move forward. Quite interesting, if you ask me. I’m just using goFoward() with a pause for now. If I find that I really need to use goForward(int), I’ll modify roombacomm to make it work.

    Other than that, I am very pleased with the package!

  28. todbot April 7th, 2008 7:54 pm

    Hmmm, that’s weird. Although I do admit to not testing those methods much. I don’t suppose you call “setSpeed(int)” at some point beforehand? That’s about the only thing I could think of could cause a problem. That is, assuming that code works. More likely there’s a bug in there. :) If it bugs you, feel free to poke around the source.

  29. Jesse April 7th, 2008 8:05 pm

    Nope, don’t call setSpeed. I may poke around a bit if the need comes up. Have a good one.

  30. Patrick June 8th, 2008 2:34 am

    Hi Tod & Jesse,

    The reason goBackward(int) and goStraight(-int) are alway moving forward is because there is a bug in goStraight(int distance). The ideal case is to move forward at positive speed when the distance is positive, and to move backward at negative speed when the distance is negative (or move backward at given distance in goBackward(). However, the code is missing an if statement to check whether the goStraight(int) should pass a negative speed or positive speed to goStraightAt() method.

    Hope this will help.

  31. rajehs October 15th, 2008 6:28 am

    can we use this package to communicateto create not the roomba

  32. Reece November 25th, 2008 8:20 pm

    I got your book; great stuff. I’ve read the whole thing, and decided to make the RS232 cable so I can hook my Roomba up to my PC. I know I’ve soldered everything right, but there’s a problem: when I run the ‘roombacomm’ java app, I can connect to the roomba (if it is turned on), and I can send it commands. BUT the program ISN’T displaying sensor data! Also, I have a BASIC Stamp II and an Arduino, and I tried both ‘bumpturn’ programs. The BS2 IS able to receive sensor data (albeit very slowly for some reason; the roomba doesn’t ‘react’ until ~200ms after a collision), but my Arduino is NOT able to get the sensor data. I KNOW my Arduino is working properly, and I KNOW that I have the baud rates right for all these communications (after using the BS2 I made sure to take the battery out before using roombacomm or the Arduino implementation of ‘bumpturn’). What is wrong? This is very frustrating!

    Thanks

  33. Paul Bouchier December 30th, 2008 9:56 am

    Is the Roombacomm library being actively maintained? It is very useful, but needs an update for the 5xx family. I’ve looked on the robot reviews forum, but there’s very little discussion on RoombaComm, and this forum seems to have gone awfully quiet.

    I’m wondering if anyone has a vision for where to take this library. For example, the primitives it provides are applicable to most 2-drive-motor robots, and the clients like RoombaCommTest provide a nice way to test that you can readily control the bot.

    Thanks

    Paul

  34. Paul Bouchier December 30th, 2008 9:59 am

    BTW – Great book – Thanks Tod! Much info there that saves hours of trolling around discussion forums and trying to work in the dark without a comprehensive survey of the domain. I don’t have time for that. The book gave me a great leg up.

  35. todbot December 30th, 2008 12:58 pm

    Hi Paul,
    I try to keep it updated but I fall behind. I also don’t have a 5xx-family Roomba to test out. But I’d be happy to apply any patches or fixes people want and re-publish the code.

    As for general applicability to other robotics platforms, I really meant this only as a bit of “instructional code” for getting your Roomba under your control. In my experience, once people understand they basics, they re-implement the idea in a way that is more in line with their particular application or predilections. That’s why I chose Java for the main RoombaComm library, not because I’m such a big fan of Java, but because it is very widely known and works on all operating systems.

  36. Paul Bouchier December 30th, 2008 10:44 pm

    Thanks for the quick reply Todd. Do you want patches as unix patchfiles? Where do you want them sent?

  37. todbot December 31st, 2008 12:45 am

    Yeah, unified diff output for use with patch is easiest, but any way of describing changes in a clear way is okay too. You can email me them (tod at todbot.com) or even leave links to them here in the comments.

  38. todbot March 26th, 2009 1:57 pm

    New RoombaComm 0.96! Check it out if you’re interested.

  39. Ben March 30th, 2009 1:18 pm

    Hi, I just downloaded the new version. I don’t have the serial tether stuff yet, but when I have it all installed will it automatically show in the drop down menu?

  40. Ben March 30th, 2009 1:19 pm

    To be more specific the drop down menu to select roomba port

  41. todbot March 30th, 2009 4:09 pm

    Hi Ben,
    You should see all available serial ports on your system. If you’re using a USB-to-serial adapter, you need to first install the drivers that came with it (and maybe reboot your system). Then, when the adapter is plugged in, it will show up in the list of serial ports.

  42. Ben March 31st, 2009 10:32 am

    Great now more questions one I downloaded it but I can’t do roomba spy or anything of the like. It shows up as a bunch of files

  43. Ben March 31st, 2009 10:36 am

    I did get one to open it has roomba comm test and says version .9 but where is the virtual roomba

  44. Ben April 1st, 2009 12:09 pm

    Hey you there! Respond if you can please.

    Sincerely,
    An eager roomba hacker.

  45. Ben April 1st, 2009 12:10 pm

    Oh and I should have said I can’t do any of the demo things

  46. todbot April 1st, 2009 9:04 pm

    Hi Ben,
    You’ll need to give me more detail on what you’re seeing and what chapters of the book are giving you trouble before I can figure out how to help.

  47. [...] software isn’t far enough along to share, but in the meantime, RoombaComm works if you configure the XBees [...]

  48. Ben April 2nd, 2009 12:21 pm

    To be more specific it saysDemo command-line programs include:
    - DriveRealTime — Drive your Roomba with cursor keys
    - RTTTLPlay — Play monophonic ringtones on your Roomba
    - Spiral — Roomba drives in ever expanding spiral
    - Waggle — Roomba wags like a dog
    - BumpTurn — Roomba drives around by itself, avoiding things
    - Spy — Read your Roomba’s mind while it works
    - Tribble — Roomba purrs and sometimes barks
    - RoombaCommTest — Roomba GUI remote control panel (not command-line)

    Processing demos include:
    - RoombaTune — Play your Roomba like a musical instrument
    - RoombaRing — Play RTTTL ringtones on a Roomba
    - RoombaView — Full instrument panel and remote control

    And I can’t do any of that. When I download it besides roombacomm app there is just a bunch of files. I can see the different things but it says error when I try to open it!

  49. todbot April 2nd, 2009 12:26 pm

    Hi Ben,
    Yes, they are all Java source code files. You need to build the Java and then run it (there is a “runit.sh” and “runit.bat” to help with these). The book describes how to do this, as does pretty much any introductory Java textbook.

  50. Ben April 3rd, 2009 5:18 am

    Sorry I don’t have the book in my hands yet. Ok I’m reading the readme… It says make a new sketch… in java? And I did try that but all I get is errors

  51. BENJAMIN April 3rd, 2009 5:19 am

    Hey! I have a question. I’m planning to make a telepresence robot from a roomba, laptop, dvd player, roostick, AV to usb. Possible? Anyone interested because I’ll post a guide. Oh my biggest question my laptop has NO dvi, mini or any type of output ports just usb headphone, ethernet and modem. So is it possible to use a AV to usb wire to display my laptop on a tv/AV input device, or any other solution for 15 dollars. Ebay is a great option. It’s so simple just reply to this and I’ll give you a whole guide. In total it costs about the price of a Rovio except it can vacuum, it is telepresence, rovio is not, Is taller, works on any system Mac, PC, Linux, is a great project.
    _________________

  52. Ray April 4th, 2009 6:24 pm

    I bought the book and followed the directions but am having some difficulty. One of the problems is the roombacmd on openwrt. Everytime I give the command for -v, like this

    root@OpenWrt:~# roombacmd -p /dev/usb/tts/0 -v 250
    roombacmd: illegal option — v

    I get that it is an illegal option. I need to set that as the roomba without changing the velocity just makes noise and moves at a crawl if anything. Any help?

  53. todbot April 4th, 2009 7:02 pm

    Hi Ray,
    I believe there is a typo in the book and in the help page for ‘roombacmd’. Try “-V 250″ instead. (capital ‘V’, not lowercase) Apologies for that. I’ve updated the source file roombacmd.c to be clear about that. You could also use the long version of the argument “–velocity 250″.

    (And for other readers, this is about the embedded Linux/Unix Roomba code, residing on the Embedded Linux page)

  54. Ray April 4th, 2009 8:56 pm

    Thanks for the fast response, I tried again and now I am getting this
    pl2303.c: pl2303_read_int_callback – usb_submit_urb failed with result -22

    with no movement at all

  55. todbot April 4th, 2009 11:51 pm

    That sounds like a problem with the pl2303 driver kernel module for your usb to serial adapter. Unfortunately, keeping Linux versions and device driver versions all sync’d up and working properly is a real pain in the butt. My only suggestion is to make sure you have the latest versions of both.

  56. Ray April 5th, 2009 7:07 am

    Any suggestion on how to check if its up to date? I did an ipkg update, and then did ipkg install kmod-usb-serial-pl2303?

  57. Ray April 5th, 2009 7:19 am

    I am using the exact same roombongle cable that you had made if that matters.

  58. Ben April 8th, 2009 5:27 pm

    can you turn it on through the program?

  59. Ben April 10th, 2009 1:35 pm

    I have an old ibook clamshell running 10.0 and can’t open this or roomba midi or this. When I run the command it says too many arguments.

  60. Ben April 10th, 2009 2:26 pm

    java version 1.3 maybe it needs a rxtx
    update

  61. todbot April 10th, 2009 2:37 pm

    That’s a pretty old version of Java. It’s unclear that the compiled class files and the RXTX library that comes with the RoombaComm distribution works with that.

    To try recompiling, open up Terminal and get in the root directory of the RoombaComm distribution and type “./makeit.sh”. That should re-compile all the Java class files (you might need to delete all the .class files first)

    If it’s an RXTX library issue, I’m not quite sure how to help you. I don’t even know if RXTX was even around when Java 1.3 was current.

  62. Ben April 14th, 2009 4:55 am

    What’s “New” or useable anyway!

  63. Ben April 14th, 2009 11:16 am

    how about 1.4

  64. Ben April 16th, 2009 10:34 am

    I’m using roostick, I got everythingright.. but it says it can’t connect.

  65. Ben April 17th, 2009 5:20 am

    I can partly use it using rombamidi2, but not roombamidi1 or roombacomm. How’s that? And by partly I mean it goes then stops and then I have to reset then disconnect then reconnect, it doesn’t go backwards, doesn’t beap… Jeeze! I read something you have to do before you use it. like hold down this button then that button. What is that again…

  66. Ben April 17th, 2009 12:14 pm

    oh and theres an error yry april 16 at 5 20 pm

  67. todbot April 17th, 2009 12:24 pm

    Ben, you need to be a bit more descriptive in the issues you’re having and not just spam the comments.

  68. Ray April 17th, 2009 8:00 pm

    Well I’ve given up on whiterussian with my roombongle and moved on to kamikaze 8.09 , but now I get a different error when trying to run roombacomm. uclibc_start_main, anybody run into this with a solution?

  69. Ben April 20th, 2009 6:20 am

    I didn’t write the one at 12:14. Anyway in every other one but roombamidi2, it just says Can not connect. In roombamidi 2 it says nothing but just quits working and i have to reset disconnect reconnect. And backwards doesn’t work

  70. Ben April 20th, 2009 6:22 am

    I say your cursed for using a program that made fun of russians. Well actually I think the roomba is cursed. How hard can it be!

  71. Ray April 21st, 2009 5:17 am

    Well apparently the reason for the symbol error is that roombacmd is not compiled using the version of uclibc that kamikaze 8.09 uses, todbot could you tell me how to recompile or possible put out a revision? thanks

  72. todbot April 21st, 2009 10:57 am

    That would do it. I don’t have my OpenWrt development environment set up any more (it was on a previous harddrive that crashed), but getting the OpenWrt SDK up and running isn’t too hard. I followed a tutorial similar to this one:
    http://www.gargoyle-router.com/openwrt-coding.php

  73. Ben April 22nd, 2009 12:52 pm

    todbot, basically, what version of java is not considered old. And more importantly, I have my roomba discovery connected and the only program out of roomba comm, roomba midi and roombamidi 2 that works is roombamidi 2 but it doesn’t go backwards and it disconnects alot, and to have it work again I have to disconnect, reconnect and reset.

  74. Ray April 22nd, 2009 10:18 pm

    Everything is working now, I changed to a ftdi cord as the pl2303 driver is obviously a problem. On a second note could you give some insight on an issue I’m having with the cgi page? I get this when I click a button in this case the backward button.

    cmd: backward
    argv0:/usr/bin/roombacmd

    Not sure where to go from there it would seem as though it can’t locate roombacmd. runs fine from command based. Thanks

  75. todbot April 22nd, 2009 10:29 pm

    At the top of roombapanel.cgi, you’ll probably need to edit the variables that say where various commands and locations are.

  76. Zack April 23rd, 2009 8:54 am

    Hi “todbot” I’m having the same problem as Ben. I have a iRobot Rooomba Discovery too. (The white Version) Roombamidi2, does control it for a few minutes but then I have to do what Ben did. (reset, disconnect reconnect.) Right now I’m using Leopard.

  77. Zack April 23rd, 2009 8:58 am

    Hello “Todbot”. I’m having the same problem as Ben. I have a iRobot Roomba Discovery, and am using Leopard. It only can be controlled using roombamidi 2, but even than after approximately 3 minutes I have to disconnect reconnect reset. Could you help us out?

  78. Zack April 27th, 2009 8:59 am

    Todbot… How come you don’t answer?

  79. todbot April 27th, 2009 11:42 am

    Hi Zack & Ben,
    Apologies, I’ve been busy with work and travel. Since my Roombas are in storage, I can’t debug any of the issues you’re seeing. The first RoombaMidi (the one written in Java) will likely not work ever since Apple has been deprecating their Java support.

    Some things you can try:
    - Be sure you have the latest driver for your USB-to-serial adapter.
    - If you’re using a PL2303-based USB-to-serial adapter, find another one, since Prolific’s driver support for OS X kinda blows. Or use use the open source driver here: http://osx-pl2303.sourceforge.net/ It’s based off the Linux one (which is very good, I hear)
    - Recompile the programs. For all the Processing/Java programs, there are shell scripts to (“makeit.sh”, “build-jar.sh”, etc.) to help with this. Be sure to remove all the “.class” files first to force recompilation of them. For RoombaMidi2, the source is available from the RoombaMidi2 page. You can open up the Xcode project and just do a “clean & build” operation to get a fresh executable.

    When I get time, I’ll try rebuilding everything.

  80. Zack April 28th, 2009 7:30 am

    Is a roostick a PL2303-based USB-to-serial adapter?

  81. Zack April 29th, 2009 6:49 am

    Sorry that was a stupid question.

  82. Ray May 2nd, 2009 5:04 am

    tod whats the command for spy mode in roombacomm, in openwrt? also is there anything else built into your program for openwrt to turn on the vacuum?

  83. Ben May 4th, 2009 6:12 am

    Thanks for responding. I’m not to familiar with Xcode. And it doesn’t depend on the model… just the os to run it right?

  84. Ben May 4th, 2009 6:13 am

    Sorry I was talking about the programs, like roombacomm, roomba mid, etc.

  85. Jim May 25th, 2009 10:08 am

    I have been fighting with RoombaComm and having a hell of a time getting it to work, despite my prior extensive experience with serial and roomba programming. The problem is that the comport connection to the roomba would never get established on the bluetooth level, the port would remain closed, but RoombaComm would think it was connected. Silence ensued.

    The problem ended up being inside the RXTX library that RoombaComm uses for connecting — it does not properly wait until a port is ready. My guess is that the bluetooth connection takes much longer than expected to establish the connection, and this can often lead to the port not being set up properly. My simple solution (after an annoying amount of debugging) was to increase the timeout passed in the port open command (portId) inside roombacomm. Initially i raised this to 3000, but this (weirdly) stopped workign so i increased it to 6000 and everything seems to be fine.

    could we get a real, working, standard java serial library anyone??

    Jim

  86. todbot May 25th, 2009 11:30 am

    Hi Jim,
    No kidding. I’ve had such issues with RXTX. There’s no good standard release distribution, and it behaves slightly differently on different OSes (or minor versions of the same OS) Add to that the added complexity of the Bluetooth SPP profile driver variations on the different OSes and I’m surprised anything works at all. :)

    I’m glad you found a solution to RoombaComm + RXTX + Bluetooth. When I was doing this back in 2006, this extra delay wasn’t required. I’m not sure why it’s needed now.

    For getting the latest, most stable version of RXTX, I recommend pulling the one out of the Arduino IDE software.

  87. Jeffrey May 29th, 2009 5:41 am

    Hi Todd:

    I tried the latest roombacomm-0.96 and got the following error message after running ‘runit’ batch file:

    C:\roombacomm>java -Djava.library.path=rxtxlib -classpath .;rxtxlib/RXTXcomm.jar
    ;rxtxlib/bluecove-2.1.0.jar COM11
    Exception in thread “main” java.lang.NoClassDefFoundError: COM11

    I’ve put the rxtxSerial.dll file into correct folder(s). Do you have any clue on this?

    Thanks in advanced!
    Jeffrey

  88. todbot May 29th, 2009 8:30 am

    Hi Jeffrey,
    You need to give a name of one of the Java programs to run. For example:
    ./run-it.bat roombacomm.SimpleTest COM11

  89. Jeffrey May 29th, 2009 7:24 pm

    AHA! Thanks a lot!

  90. Garfield June 25th, 2009 7:04 am

    Hi, Tod:

    I purchased a create bot after having been stimulated by your roomba hacking book.
    My create bot carry an old Laptop PC connected to create by the iRobot serial cable and DB-9 to USB converter. The number of connected port on PC is com16.
    Both of realterm and create.exe have run successfully.
    When trying to run roombacomm-0.96, I got the messages as follow,
    ………..
    Find com15
    Find com16

    Finally, got the error message
    “Can not connect to com16″ and roombacomm was closed.

    Could you advise me how to solve this?

    Garfield

  91. Ulf June 25th, 2009 10:16 am

    Hi Tod, My wife game me your book and a roomba to hack for my birthday. I’ve been reading your book with great interest. Although I haven’t started hacking yet, I was wondering if you think it wouold be possible to use my son’s old Nintendo DS with a Dserial Edge card to control the Roomba? Since the DS has built-in WiFi, could the DS controlled Roomba then be steered from your computer?

  92. todbot July 14th, 2009 11:05 am

    Hi Garfield,
    What are the exact commands you are typing?

  93. todbot July 14th, 2009 11:07 am

    Hi Ulf,
    Oh, that’s a really interesting idea. If the Dserial Edge card can do 57600 bps serial then it’s possible. What voltages does the Dserial Edge card use, 0-5V? How does one write programs for the DS? This could be a great solution because DSs are pretty cheap.

  94. jamsaver August 8th, 2009 9:26 am

    Is this library working on leopard?
    because no matter what I try it doesnt seems to be working…

  95. todbot August 8th, 2009 9:35 am

    Hi Jamsaver,
    It should work. What exactly is your setup and what problems are you having?

  96. jamsaver August 9th, 2009 2:00 am

    Hi todbot thanks for the reply,
    I posted my problem here:
    http://www.robotreviews.com/chat/viewtopic.php?f=4&t=11864&hilit=

    thanks in advance

  97. viroos August 20th, 2009 10:21 am

    Hi I’m trying to run roombaview processing demo. I have Roomba 530. RoombaCommTest works fine. But I cant force processing to work in OI standard instead of SCI. Can You give me some advice, please?

  98. todbot August 20th, 2009 11:01 am

    Hi viroos,
    We’ve not had a chance to change all the code to use the new OI/SCI changing. For now, if you find an occurrence of something like
    roombacomm.connect( roombacommPort )
    you can change that to:
    roombacomm.connect( roombacommPort, "OI" )
    if you have a newer Roomba.

  99. viroos August 20th, 2009 2:22 pm

    Than You for fast replay.
    My code after change looks like this:
    void roombacommPortSelected()
    {
    //(…)
    if( ! roombacomm.connect( roombacommPort, “OI” ) ) {
    println(“oh noes”);
    }
    //(…)
    }
    But unfortunately I can’t run sketch. The overloaded connect method doesn’t exist. What can I do about it?

    Sorry, for my little noobish questions but I can found Processing API doc. I’m also new in Processing. Thanks again for all help.

  100. todbot August 20th, 2009 2:53 pm

    These aren’t dumb questions, we haven’t put in the necessary effort to make the Processing apps work out-of-the-box yet.

    It sounds like you have an older version of the roombacomm Processing library in your libraries folder. Download the “roombacomm-processing.zip” file in the link above, and unzip it into your “libraries” folder in the sketchbook home (this is “~/Documents/Processing/libraries” on Mac OS X, I forget what it is on other OSes)

  101. viroos August 20th, 2009 6:02 pm

    Thank You again for very fast answer :)

    Unfortunately it didn’t help. Still the same error:
    “The method connect(String) in type RoombaCommmSerial is not applicable for the arguments connect(String,String)”

    Are You sure this method’s version is enabled in roombacomm-processing.zip downloaded from this site?

  102. Richard September 30th, 2009 5:24 pm

    I have the book, and I have downloaded roombacomm.
    The serial port works roomba responds to simple commands (via realterm).

    What I don’t see in the RoombaCommTest directory is any file with a .exe extension (Windows XP), so running RoombaCommTest apears to be a little more complex than just clicking on the file’s icon.

    I also tried running the RoombaCommTest.bat in the directory ‘roombacomm’ and it throws an exception right off (also has a warning about an RXTX Version mismatch).

    I must have missed the idiot’s guide to starting up roombacomm, but it’s not because I’m not looking…

    It’s been a while since I wrote any java but I would expect scripts like ‘RoombaCommTest.bat’ to work without much trouble.

    (I did copy the dll, rxtxSerial.dll in the right place (C:Program Files\Java\jre6\bin, and C:\Windows\system32)

    Sorry to have to bother you with these questions…

    Thanks

  103. todbot September 30th, 2009 5:35 pm

    Hi Richard,
    Sorry you’re having problems. Exactly which link did you download, and what is the exact error message you are seeing when you run RoombaCommTest.bat?

    You should not need to copy RXTX files anywhre. In fact, I’d recommend you do not do that, otherwise you could cause problems with other things like Processing and Arduino (if you use those)

    And apologoies, the book does assume passing familiarity with Java, but I did try to package up pre-compiled versions of all the code and that .bat file.

  104. Richard September 30th, 2009 6:28 pm

    todbot,

    thanks for the fast reply – I removed the RXTX dlls that I copied (re:the readmewindows file).

    here’s a dump from my console window that shows the warning and the exceptions:

    D:\roombacomm-downloaded\roombacomm>java -Djava.library.path=rxtxlib -classpath
    .;rxtxlib/RXTXcomm.jar;rxtxlib/bluecove-2.1.0.jar roombacomm.RoombaCommTest
    WARNING: RXTX Version mismatch
    Jar version = RXTX-2.2pre1
    native lib Version = RXTX-2.1-7
    Exception in thread “main” java.lang.IllegalArgumentException: setSelectedIndex:
    0 out of bounds
    at javax.swing.JComboBox.setSelectedIndex(Unknown Source)
    at roombacomm.RoombaCommPanel.makeSelectPanel(RoombaCommPanel.java:313)
    at roombacomm.RoombaCommPanel.makePanels(RoombaCommPanel.java:285)
    at roombacomm.RoombaCommPanel.(RoombaCommPanel.java:61)
    at roombacomm.RoombaCommTest.(RoombaCommTest.java:63)
    at roombacomm.RoombaCommTest.main(RoombaCommTest.java:44)

    This is the download I took from this page – extracted into this “D:\roombacomm-downloaded” directory.

    Rich

  105. todbot September 30th, 2009 9:21 pm

    Hmm, that’s a really strange Java error. What version of Java are you running? I just tried downloading the “roombacomm-0.96-built.zip” bundle above, extracting it, and double-clicking (or running from command-line) the RoombaCommTest.bat file. It opened up as expected. The RXTX warning is expected. (when the RXTX update is released we’ll update the RXTX library and that warning will go away)

    On my system, I had installed a fresh version of Java a month or so ago, and typing “java -version” says “1.6.0_14″. You should also check in your Add/Remove Programs control panel to see if perhaps you have multiple, conflicting versions of Java installed.

  106. todbot September 30th, 2009 9:24 pm

    I looked into where in the code the error is coming from, and it looks like it’s because RXTX isn’t finding any serial ports on your system. This is a bug. It should fail gracefully if a system has no COM ports. (granted, this is a really rare case) What kind of computer are you running this on and what kind of Roomba interface are you using?

  107. Richard October 1st, 2009 4:48 am

    Well, I really am dumb sometimes…
    I had the roomba connected to the wrong computer. (It’s not as bad as it sounds.)

    The java was recently updated too (1.6.0_16) :)

    Thanks, sorry I took this to be a problem with the code.
    Everything works fine.

  108. Long N October 5th, 2009 10:30 am

    Hi, Is there a way to drive the Roomba back to the Home Base with roombacomm? I couldn’t find a command to do that in the library.
    Would you give some advice. Thanks so much.

  109. todbot October 5th, 2009 3:37 pm

    Hi Long,
    In a sense. You can send the “Force-seeking Dock command (opcode 143) to the Roomba using RoombaComm, and that will trigger the Roomba to go into searching for its charging station. From the Roomba Open Interface spec:

    “Force-Seeking-Dock Command opcode: 143 Number of data bytes: 0
    Turns on force-seeking-dock mode, which causes the robot
    to immediately attempt to dock during its cleaning cycle if it encounters the docking beams from the Home Base. (Note, however, that if the robot was not active in a clean, spot or max cycle it will not attempt to execute the docking.) Normally the robot attempts to dock only if the cleaning cycle has completed or the battery is nearing depletion. This command can be sent anytime, but the mode will be cancelled if the robot turns off, begins charging, or is commanded into ROI safe or full modes. ”

  110. Long N October 5th, 2009 6:59 pm

    Hi todbot,
    Thanks for quick reply. I’m sorry to bother you again for what actual command (i.e. roombacomm.spinleft) that I can use to send the opcode 143. A bit of syntax would be helpful. I’m using Processing to control the Roomba 400 series as well as the Create.

    Thanks very much

  111. todbot October 5th, 2009 7:27 pm

    roombacomm.dock();

  112. Richard October 13th, 2009 3:35 am

    I don’t know if this question is out-of-bounds or not, but I would like to import roombacomm as a whole project into eclipse. I just made a first attempt at it without actually knowing what to expect.

    Will the import wizard successfully get the whole project under control this way?

    I’m using a very recently installed/downloaded eclipse
    (Build id: 20090920-1017)

    Thanks again.

  113. Ben October 14th, 2009 5:43 pm

    Does it work with the iRobot Create?

  114. todbot October 14th, 2009 7:22 pm

    Yes it does. Check out my review of the Create:
    http://hackingroomba.com/2007/05/17/irobot-create-robot-review/

  115. Ben October 17th, 2009 2:27 pm

    Thanks. Where can I download a copy of it where I download it and double click it and use it? (Mac osx)

    I don’t know anything about Java. (Besides it being a Coffee)

  116. Susan Riedel September 9th, 2010 12:50 pm

    We are not able to get the batch file roombacommtest to run on Windows 7 64-bit (nor can we run any other java-based roomba applications, such as SimpleTest) — can anyone help? By the way, we are able to run all RoombaComm examples on Vista 32-bit platforms.

  117. Nimit January 5th, 2011 12:11 pm

    I got your Book from Amazon, Book is great detail but It will need to update becuase Roomba came out more Newer model. I have Model 530 and at friest I cannot find the 8 Din connector after searching around many website until I found in forum on how to get the connector to be ready for the project.

  118. Sjimi February 21st, 2011 11:35 am

    Is the RoombaComm compatible with the iRobot Roomba® 530? Just because we are working a thesis around swarm robotics and have these at our disposal.

  119. todbot February 21st, 2011 4:11 pm

    Hi Sjimi,
    It should be compatible. The current maintainers of RoombaComm modified it explicitly to do this.

  120. Andy March 15th, 2011 9:14 am

    I don’t really know much about the insides of RoombaComm, but under Packaging there is no windows version. When I am on my Mac, there is a program file, but I can’t connect my Roomba to my Mac because I don’t know how to set it up with Snow Leopard. There is not any Windows version of RoombaCommTest. Can you please make one?

  121. MM March 31st, 2011 8:42 am

    i am getting this error:

    Stable Library
    =========================================
    Native lib Version = RXTX-2.2pre2
    Java lib Version = RXTX-2.1-7
    WARNING: RXTX Version mismatch
    Jar version = RXTX-2.1-7
    native lib Version = RXTX-2.2pre2

    and “java -version” give me:
    1.6.0_24

    i am running win7 x64,
    i have replaced the rxtx for win64 in the Processing folder, but now i get that error.

    what should i do ?
    thanks

  122. fede December 9th, 2011 4:19 pm

    Hello, Your project is very interesting, but I did not understand what is the use of the java libraries Bluecove. Can you tell me, please?

  123. Lauren January 4th, 2012 4:24 pm

    Hi Tod,

    I am running RoombaComm on a Mac, attempting to drive a Roomba 560 with a RooTooth dongle.

    Whenever I send it the “start”, “full”, “control”, etc. commands nothing happens. It seems like it is connected to the RooTooth, however, because any other command (like “forward”, “spin left”) causes it to begin spot cleaning. Sending “stop” will stop it from cleaning, but sending “stop” a second time will make it start cleaning again. I need to be able to drive the Roomba, but right now all I can do is start and stop spot cleaning, no matter what command I send. Any ideas on what I’m doing wrong?

    Thanks for your time,
    Lauren

  124. Akos Maroy January 14th, 2012 2:21 pm

    does this thing work on the Roomba 7xx series?

  125. Ryan June 28th, 2012 9:06 pm

    wow – this program definitely looks cool. If anyone is looking for an introductory explanation into the in’s and out of communicating to the roomba, it might be worth checking this out:

    http://www.robotappstore.com/Knowledge-Base/3-Serial-Port-Baud-Rate-Configuration/17.html

    I’ve had trouble with intermittent communication issues in the past with the roomba, and this helped me understand it a bit more.

  126. Bill July 6th, 2012 4:54 pm

    I have installed java sdk 1.0.0_03 and added the path to java.exe.
    I can run roombacommtest. It works fine, but I get a rxtx mismatch warning when it starts. Jar verion 2.2pre1 native lib ver 2.1-7
    It finds com1 and com3, and my serial interface is on com1.
    When I try and run runit COM1, I get ERROR: could not find or load main class COM1.
    I am new to java, and java apps., so excuse my ignorance, but do you have an idea of what I am doing wrong?
    Also, realterm works as well with the com1 115200,n,8,1 when monitoring battery charging and roomba BIT, so communication is working.
    Windows xp pro sp3.

  127. Sean Carolan July 21st, 2012 12:08 pm

    Here’s the stack trace in case any of you are java wizards and can figure out what is wrong:

    connect-start
    Exception in thread “AWT-EventQueue-0″ java.lang.NoClassDefFoundError: Could not initialize class gnu.io.CommPortIdentifier
    at com.hackingroomba.roombacomm.RoombaCommSerial.listPorts(RoombaCommSerial.java:315)
    at com.hackingroomba.roombacomm.RoombaCommPanel.setCommPorts(RoombaCommPanel.java:1478)
    at com.hackingroomba.roombacomm.RoombaCommPanel.connect(RoombaCommPanel.java:209)
    at com.hackingroomba.roombacomm.RoombaCommPanel.actionPerformed(RoombaCommPanel.java:434)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)setCommPorts-start
    setCommPorts-portChoices object is not null
    setCommPorts-getting list of ports

    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    connect-start
    Exception in thread “AWT-EventQueue-0″ java.lang.NoClassDefFoundError: Could not initialize class gnu.io.CommPortIdentifier
    at com.hackingroomba.roombacomm.RoombaCommSerial.listPorts(RoombaCommSerial.java:315)
    at com.hackingroomba.roombacomm.RoombaCommPanel.setCommPorts(RoombaCommPanel.java:1478)
    at com.hackingroomba.roombacomm.RoombaCommPanel.connect(RoombaCommPanel.java:209)
    at com.hackingroomba.roombacomm.RoombaCommPanel.actionPerformed(RoombaCommPanel.java:434)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)setCommPorts-start
    setCommPorts-portChoices object is not null
    setCommPorts-getting list of ports

    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

  128. Sean Carolan July 21st, 2012 12:20 pm

    Here’s the tutorial I used to compile the Java application:

    http://pharos.ece.utexas.edu/wiki/index.php/How_to_use_the_RoombaCommTest_to_Control_the_iRobot_Create

    I’m willing to try something else, actually it would be much preferable to program the roomba with python or perl. I really, really hate Java.

  129. fabrice2006 December 6th, 2012 10:46 am

    Hi, i have a problem with rooombacomm and a roomba 520, the datas of the sensors are wrong in roombacomm . The command of motors or led or musique works fine.
    Thanks for you help.

    Fabrice.

Leave a reply