Sadly, my Roomba arrived dead-on-arrival. I’m waiting for a UPS label to mail it back (along with the bits that fell out of its innards upon opening). Given our timeframe, I don’t think I’ll order another before going back to England.

And it looked like such a good toy, too. I had visions of plugging my Gumstix into it, and writing my own vacuuming algorithms on the Transterpreter.

roomba-red

I decided that I should get a Roomba to experiment with.

The Roomba is a floor vacuuming robot; it is capable of detecting walls (with bumpers), stairs (by detecting when its wheels “drop out”), how dirty the floor under it is (with magic), and a bunch of other bits. What interests me most is the serial port on the back of the robot—you can plug in a PC or other device and control the Roomba yourself.

When controlling the Roomba, you can read from the sensors and direct it using your own control code. I’m pretty psyched about this—it’s a quick-and-dirty platform for experimenting with robotic control. By purchasing a refurb unit, using a coupon code for 20% off on robots, and using Google Checkout, I managed to get the bot for $78. I haven’t decided if I’m going to bounce it against my hardware budget or not.

Carrie said I can leave it at home when I’m not experimenting with it…

OLPC Big

I hope it doesn’t sound silly, but I’d really like to get my hands on an OLPC laptop. Why? I don’t know. The OLPC is a Big Idea made real, and I’d really like to be able to experiment (play) with the machine the OLPC group has created. I hope that “mere humans” and not just big governments will someday have the ability to purchase one…

At some level, I think I’d want it as a “field laptop.” This might be for working with mobile robotics platforms, deployed wireless sensors, or any of a host of other things that I do where a laptop is a useful/necessary thing. The OLPC could make a great platform for mobile updates to software, collection of data off motes, and other similar activities. On another level, it could be a great teaching resource… imagine an OS course where students all had to buy an OLPC machine (for around $100, about what a textbook costs), and they worked on implementing drivers, memory managers, filesystems… all for real hardware.

All that, and they’re so cute!

Right. I think I need to head home and relax a bit today. I’ve been spending a lot of time programming and writing these last few weeks, and should probably just enjoy some downtime.

I would love to see Erlang bindings to the Player/Stage API. If they existed, we would include them in a heartbeat on the RoboDeb robotics virtual appliance.

I don’t think any Erlangistas hang out here, but you never know. If you’re savvy with Erlang, and are interested in collaborating on binding Erlang to the Player/Stage API, I’ll put it in an environment where you can double-click and play with robots.

For those of you looking for an excellent way to explore programming in a concurrent programming language, and are ready to lead your own evil robotic warlord uprising, you should check out RoboDeb.

Granted, I need to write more documentation, but there are plenty of books and tutorials available for the occam programming language, as it isn’t new… it’s been around for quite some time.

And, in case you were worried, we submitted the most recent version of RoboDeb (an auspicious version 007) to the VMWare $100,000 uber-appliance challenge. Our most recent release does little more than include the new Sun Java Distribution License; as far as we know, we’re 100% legal on this release.

Our virtual machine for exploring occam (running on the Transterpreter) as a massively concurrent control language for robotics platforms is now available for download.

See the RoboDeb Quickstart Guide for more information. If you download it and start playing with it, please drop me a note (matt at transterpreter dot org) and ask to be put on the mailing list. We want to hear from users regarding their explorations and experiences!

In preparation for our talk and workshop next week at DIKU, we’re prepping our release of RoboDeb. Before the end of the week, the link:

robodeb.transterpreter.org

will work, and you’ll be able to download a VM full of occamy, robotic goodness. I can’t wait!

(Why can’t I wait? Because it takes a lot of effort to release something like this. And I want it to be over. Oh… sleep! Sweet sleep!)

We have a new binary build of the Transterpreter up; version 0.7.3 rolls in some minor fixes, and includes support for SHARED channels. However, it does not support SHARED top-level channels; this is an issue with how the data is passed through the compiler (and therefore, ultimately, to the slinker), and those issues may (or may not) be resolved someday. For now, you may not (directly) share top-level channels.

We also have a VMWare virtual machine available for download; if you are interested in using the Transterpreter and the Player/Stage library for controlling Pioneer class robots (a tastes-great combination, giving you world-class concurrency for robotic control), drop us a note. We’ve got around 60 pages of documentation to accompany it, and deployed it this semester to students enrolled in CO631, a second-year module in concurrency at the University of Kent. We’ll be giving a talk and mini-workshop at DIKU in April regarding this same technology.

Like all things, we’ll do a complete release in due time; we’re adding more things to the VM (like a JDK, JCSP, the FUSE libraries for userland filesystems, the Python Player/Stage bindings, so on and so forth) so we’re not keen on doing a general release at this time. It’s a 250MB download, and until it’s finished, we’ll be happy to release it to people upon request.