Approaching a Consensus on Robotics Software

I’ve been playing with Robotics on and off for the past few months, it’s an area which I’m really interested in and really enjoy tinkering.

It’s now gotten to the stage where I’ve done almost enough reading and tinkering that I actually want to start trying to put some serious robots together and to that end I’ve been looking at some of the many robotics software frameworks which are available (just look at my robotics tag on delicious for some of the ones that I’ve deemed interesting enough to warrant further attention).

I’ve been pleased to find that there’s a high calibre crop of robotics frameworks which focus on reusable and modular components built upon a Service Oriented Architecture (SOA).

Other than being good software practice to modularise ones code the crop of SOA robotics frameworks also make it much easier for hobbyists like myself to get into robotics with a reasonably priced robotics kit and offload processing to a more powerful machine.

The big three SOA based robotics frameworks which have attracted my attention through their solid reputations and many projects built on them are MRDS (Microsoft Robotics Developer Studio), ROS (Robot Operating System) and Fawkes.

Both ROS and MRDS support the Lego MindStorms NXT 2.0, which is my current vessel for Robotics exploration (an excellent Christmas present from my wife), but I’m ruling out the MRDS (despite it’s good reputation) because it requires me to run Windows.

I’m also ruling out Fawkes, though it has recently being picked by the Fedora Robotics SIG as the basis for their robotics spin, because whilst it seems like a very promising framework their new starter documentation is lacking and they don’t yet support the NXT. I will no doubt be revisiting Fawkes in the future.

Right now I’m looking at the documentation for ROS but unfortunately it seems it’s a pain to set up on anything other than Ubuntu. Hopefully it’s just that the documentation is out of date…

I’ve also started putting together a layer for Yocto to include some of the robotics packages I’ve come across and their dependencies – I’d love to build a Yocto powered robot in the near future!

Finally writing this blog post was prompted by the Robot Magazine covering MRDS and ROS recently: “THE NEXT BIG THING! Service Oriented Architectures – Two leading systems, MRDS and ROS, point to the future of robotics“.


  1. ROS support for OS X is coming if I have anything to say about it. There is also a movement for ROS to run on Windows. But I will say that you are more likely to have success now and in the future if you _robot_ runs Ubuntu. ROS tools like rViz, dynamic reconfigure, and bag tools are my focus for my mac.

    Also, I wanted to point out that the latest version of Fawkes is making an effort to be ROS friendly.

    1. Hi William,

      Thanks for your comment. I discovered your work on ROS for OS X this afternoon, it looks great – stellar work!

      I’ll definitely be running some Linux flavour on my robot(s). Personally I would rather it be a custom, lightweight, distribution created with the Yocto Project. Particularly as it’s my intention to run visualisation tools, and computationally heavy nodes on a separate machine.
      We’ll see if I ever get any further than desire for ROS on Yocto, I’ve yet to figure out how much work it will be to cross-compile any more than the dependencies of ROS.

      Thanks for the pointer to Fawkes w/ROS. Looks like the Fawkes folks are trying to enable interoperability each way.

Comments are closed.