May 2011 Archives

Three more repositories were announced over the weekend:

LASA-ros-pkg: ROS node for position control of the Barrett WAM from EPFL-LASA.

roblab-whge-ros-pkg: The first contributed project is the ROSScan3D stack which creates 3D point clouds with semantic information like floors, walls, celling, room dimensions and the text of the doorplates found in this scan area. The 3D scan is created by a mobile robot, in this case a Roomba from iRobot, a Sick laser scanner LMS 100 and a Canon standard high resolution digital camera.

TYROS: The first published source there is TIChronos/src/ti_chronos_joy.cpp, which turns a Texas Instruments Chronos watch into a ROS-compatible joystick publisher. The included launch file works with turtlesim demo.


We have sent out t-shirts to our first round of winners of the ROS Documentation Contest.

Ugo Cupcic from the Shadow Robot Company provided complete documentation for the shadow robot stack. The stack includes not only the software necessary to get the Shadow Robot hardware up and running, but also includes a CyberGlove driver and a 3D Mouse driver.

While we can not approve of the robot's method for making "coffee", the pneumatic muscles 20 electric motors clearly allow the hand to be quite dexterous and capable of many useful tasks. The hand can also perform delicate operations such as picking up light bulbs or using tweezers, though it looks like it may need gloves to do the dishes.

David Lu!! from the Media and Machines Lab at Washington University in St. Louis is another great documentor providing documentation for several stacks.

The Polonius stack provides a GUI interface for researchers to perform Human Robot Interaction (HRI) experiments. The GUI provides a means for non-programmers to control a smach state machine and trigger actionlib events to control the robot during 'wizard of oz style' experiments.

The motion_capture stack provides tools for integrating data in c3d format from a motion capture systems into a point cloud in ROS.

Mr. Lu!! has also developed roswiki_node, a concept for meta documentation that generates wiki formatted documentation from a package's source code. A great idea that could use more contributors to expand the package's capabilities. The tool could also be useful for documenting your next ROS package.

Speaking of documentation, we still have t-shirts so Round Two of the ROS Documentation Contest is now open. So enter your documentation today!

Penn Teaches PR2 How to Read

| No Comments | No TrackBacks

Menglong Zhu at Penn has given PR2 a fantastic new skill: the ability to read. Using the literate_pr2 software he wrote, PR2 can drive around and read aloud the signs that it sees. Whether it's writing on a whiteboard, nameplates on a door, or posters advertising events, the ability to recognize text in the real world is an important skill for robots.

Although performing OCR on text is not a new technology, performing it in the real world is much more difficult as text can be written anywhere and first you have to find it. Menglong's code is able to detect areas of text in a camera image and perform text recognition on them separately.

This is another great contribution to ROS from the GRASP Lab. For more information, please see the literate_pr2 page on the ROS wiki.

TurtleBot going Open Source

| No Comments | No TrackBacks

Turtlebot / Open Source Hardware

Crossposted from

Last month, we introduced TurtleBot, a low-cost robot built on open source software. Today we're pleased to announce that the TurtleBot hardware is going open source!

We've had a great response to TurtleBot from hobbyists and developers, including a lot of interest from people who want to build their own robots, starting with components they already have. And we're delighted to see similar ROS-based low-cost mobile robots like Bilibot, POLYRO, and PrairieDog. So we decided that we can best support this emerging community by publishing all the information needed to build your own TurtleBot. Following the recently established Open Source Hardware (OSHW) definition, we will make available part numbers, CAD drawings for laser-cut hardware, board layouts and schematics, and all the necessary documentation.

Everything is coming together at, a portal for all things TurtleBot and a place for the community to exchange ideas, including your own designs. To stay up to date as the site develops, subscribe to the TurtleBot announcement list.

We're currently lining up suppliers of components; if you're interested in selling TurtleBot parts, send email to

g2o is available as a package under the vslam stack. g2o is an open-source C++ framework for optimizing graph-based nonlinear error functions. g2o has been designed to be easily extensible to a wide range of problems and a new problem typically can be specified in a few lines of code. The current implementation provides solutions to several variants of SLAM and BA.

A wide range of problems in robotics as well as in computer-vision involve the minimization of a non-linear error function that can be represented as a graph. Typical instances are simultaneous localization and mapping (SLAM) or bundle adjustment (BA). The overall goal in these problems is to find the configuration of parameters or state variables that maximally explain a set of measurements affected by Gaussian noise. g2o is an open-source C++ framework for such nonlinear least squares problems. g2o has been designed to be easily extensible to a wide range of problems and a new problem typically can be specified in a few lines of code. The current implementation provides solutions to several variants of SLAM and BA. g2o offers a performance comparable to implementations of state-of-the-art approaches for the specific problems.

Please see the vslam page for installation instructions.


If you have recently come into possession of a astromech droid such as an R2-D2 or R2-M5, good news, they are now compatible with ROS.

This R2-M5 built by Björn Giesler, a member of the R2 builder's club, has working motion control, voice recognition, SLAM and people tracking using a Kinect 3D sensor.

Source code and documentation is available here.

io2011.pngYesterday at Google I/O, developers at Google and Willow Garage announced a new rosjava library that is the first pure-Java implementation of ROS. This new library was developed at Google with the goal of enabling advanced Android apps for robotics.

The library, tools, and hardware that come with Android devices are well-suited for robotics. Smartphones and tablets are sophisticated computation devices with useful sensors and great user-interaction capabilities. Android devices can also be extended with additional sensor and actuators thanks to the Open Accessory and Android @ Home APIs that were announced at Google I/O,

The new rosjava is currently in alpha release mode and is still under active development, so there will be changes to the API moving forward. For early adopters, there are Android tutorials to help you send and receive sensor data to a robot.

This announcement was part of a broader talk on Cloud Robotics, which was given by Ryan Hickman and Damon Kohler of Google, as well Ken Conley and Brian Gerkey of Willow Garage. This talk discusses the many possibilities of harnessing the cloud for robotics applications, from providing capabilities like object recognition and voice services, to reducing the cost of robotics hardware, to enabling the development of user interfaces in the cloud that connect to robots remotely. With the new rosjava library, ROS developers can now take advantage of the Android platform to connect more easily to cloud services.

100 Repositories

| No Comments | No TrackBacks


ROS just reached a new milestone: 100 public, open-source repositories! From top robotics research labs around the world to companies to hobbyists, these repositories hold the many contributions of the quickly growing ROS community. Back in November when we celebrated the third anniversary of ROS, we had just hit 52 repositories. In six months, that number has nearly doubled.

The 100th repository is rl-texplore-ros-pkg from the University of Texas at Austin and focuses on the area of reinforcement learning. We look forward to their contributions, along with the many other members of the ROS community that have helped us reach this milestone.

polyro.jpgTim Payne (aka UglyBuddha) has posted a guide on Instructables for building your own POLYRO (oPen sOurce friendLY RObot) using an iRobot Create, Kinect, Dynamixels, and Logitech QuickCams.

This is an instructable on building a relatively low-cost wheeled robot platform, for developing ROS applications. Think of ROS as an operating system for your robot (providing hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more). THIS ROBOT IS NOT PLUG AND PLAY. ROS runs on Ubuntu, so you should feel comfortable working with Linux.

POLYRO is based off of the TurtleBot platform (from the good folks at Willow Garage) and inspired a great deal by Pi Robot (developed by Patrick Goebel). I designed this platform with Human-Robot Interaction (HRI) in mind. This is the first of many future iterations, so check for updates to the design. Please keep an open mind when following this tutorial. Many of the parts and tools can be substituted (or purchased for less) and there are many improvements to be made. As always, when working with power tools use the proper safety equipment.

For more information, checkout the writeup at PlasticPals.

Instructables: POLYRO

Thanks PlasticPals

WU-ros-pkg updates

| No Comments | No TrackBacks


Announcement from David Lu of Washington University in St. Louis to ros-users

Hey all,

Today I am pleased to announce the release of 2 new stacks and 1 new package as part of the Washington University repository.

First, the Polonius stack. Polonius is a robot control interface designed for running Wizard of Oz style experiments. This work was presented in poster form at HRI2011, and was also used to control a short robot theatre piece we put on last September, the video for which is being presented at the Robots and Art workshop at ICRA next week.

Second, the motion_capture stack. This contains our initial work at incorporating motion capture data into ROS, initially just using the c3d data format. Tools for analyzing this sort of data will be released in the future.

Third, a ROS Wiki documentation tool, roswiki_node. This package contains code to make documentation a bit easier by automatically generating the CS/NodeAPI code used on the wiki automatically using your source code.

Feedback is always welcome, either by emailing me or through our SourceForge project page.

Cheers, and Happy May.

-David Lu!!

Find this blog and more at

Monthly Archives

About this Archive

This page is an archive of entries from May 2011 listed from newest to oldest.

April 2011 is the previous archive.

June 2011 is the next archive.

Find recent content on the main index or look in the archives to find all content.