June 2009 Archives

ROS 0.6.1 Released

| No Comments | No TrackBacks

ROSROS 0.6.1 has been released. This is a minor bug-fix update. Updating is not essential unless you've encountered the problems mentioned below.


  • rosrecord: fix_md5sums.py executable permission was not set. If you need to use fix_md5sums.py script and you do not want to download the 0.6.1 release, you can simply set the executable bit manually by running:
    chmod +x `rospack find rosrecord`/scripts/fix_md5sums.py
  • roscpp:
    • gcc 4.4 support
    • Added operator= overload on NodeHandle
    • Bug fix for serializing array of times
  • roslisp
    • Bug fix for dealing with lookup-hostname-ip-address
    • Bug fix for fixed-size arrays

ROS 0.6 Released

| No Comments | No TrackBacks

ROS 0.6

ROS 0.6.0 has been released! Our big goals for this release were to make bag files more robust, add in UDP transport for C++ users and prepare for our upcoming releases of stacks (e.g. navigation). With previous releases, bag files would become unreadable if the messages they were recorded from were changed. The new bag file format enables bag files to always be read and comes with tools for migrating them in the event of changes. As a result of these updates, all of your existing bag files will need to be updated. There are more instructions on our more detailed change list.

Related to our bag file changes, we've also changed our md5sum calculation for message versions to make it easier to move, rename, and add comments to messages. You can now perform these changes without altering the md5sum.

We've added in UDP as an experimental transport to our C++ library. This UDP transport is currently point-to-point and targeted at low-latency applications for ROS, such as teleoperation.

Another major update is the introduction of the searchParam API to the Parameter Server. In the past, it was difficult to push node down into child namespaces and still have them share common parameters. For example, you may wish to set a parameter like the robot description in a parent namespace and have all children easily read from it. The searchParam API solves this problem by allowing you to search for a parameter in parent namespaces, returning the parameter key that is closest to your node's namespace.

There are many other updates in this release, so please consult the detailed list of changes. You can also consult our roadmap to get a preview of the remaining features we are planning for ROS as we move towards a 1.0 release.

ROS 0.5.3 Released

| No Comments | No TrackBacks

ROSROS 0.5.3 has been released, which is a minor update to our ROS 0.5 release. Most of the changes in this release address installation and build compatibility issues. We are in the process of transitioning our build and installation process to better support a broader range of Linux platforms as well as provide for more automated installation. Release notes are below.

Change List

  • rosbuild: small fixes to support CMake 2.4.6
  • roslaunch: add dependency on rosout
  • rospy: bug fix to private command-line parameters
  • rosdep: updated dependency database with Debian package names
  • rosconfig: beginnings of a fully-automated installation method

Orocos RTT and ROS integrated

| No Comments | No TrackBacks

Integrating ROS with other robot software frameworks, such as OpenRAVE, Player, and Euslisp, has been important to us as it allows developers to leverage the strengths of each. No framework can be the best at everything, so it's important to allow developers to choose the tools they need. This video shows the integration between ROS and the Orocos Real Time Toolkit (RTT), which was done by Orocos developer Ruben Smits during a month-long visit to Willow Garage. Ruben became a vital member of our Milestone 2 team and still managed to have time to build this great, seamless integration.

While ROS has good support for distributing components over the network, RTT offers hard realtime communication between components. This demo combines the best of both worlds: the realtime low level control is handled by a set of RTT components that directly control the the PR2 robot hardware, but the communication between the controllers is visible to the whole ROS network.

The integration makes the RTT components appear as ROS components, without breaking the realtime communication between the RTT components. This allows RTT developers to use tools developed for ROS, such as rviz and rxplot, to visualize the communication between controllers.

-- Wim Meeusen

The science of robotics has suffered from the inability of researchers to replicate each other's results. Replicating results begins by being able to run demonstrations in different laboratories, often on different hardware. The JSK lab at the University of Tokyo and Willow Garage have recent had some success in this area.

In March, Professors Inaba, Okada and four students visited Willow Garage to create demos on PR2 robots combining their infrastructure with ROS. At ICRA in May, Ken Conley from Willow Garage worked with the JSK team to bring ROS and those same demonstrations up on an HRP-2V robot from Kawada industries. The HRP-2V combines the torso of an HRP-2 walking humanoid with an omni-directional wheeled base, producing a platform that is similar in structure to the PR2, but with different sensor configuration, different kinematics, etc...

On both occasions, the combined team was able to complete their work in under a week, demonstrating that replicating results in robotics is possible at a relatively low cost.


ROS is set up for distributed Open Source development. The system is designed to be built from a federation of repositories, each potentially run by a different organization. We've been happy to see three new ROS package repositories sprout up (besides those already hosted by Stanford, CMU, MIT, and TUM).

bosch-ros-pkg: Bosch has been extending our navigation stack to support frontier-based exploration and they have been contributing patches back to the personalrobots repository. Their wrapper for libgphoto2 has also been getting some use on the ros-users mailing list

gt-ros-pkg: Georgia Tech's Healthcare Robotics Lab has already contributed several packages and the Humanoid Robotics Lab and Socially Intelligent Machines Lab will be participating as well.

wu-ros-pkg: Washington University is also setting up a ROS package repository (which the many Wash-U alumni at Willow Garage are happy to see). Bill Smart's presentation, "Is a Common Middleware for Robotics Possible?" at IROS 2007 helped guide the philosophy and goals of ROS in its earliest stages, especially the focus on making reusable libraries.

ROS 0.5.1 Released

| No Comments | No TrackBacks

ROSROS 0.5.1 has been released, which is a minor update to our ROS 0.5 release. This release includes enhancements to roscpp, such as timer callbacks, that build upon the recently releaased Node Handle API. There have also been changes to roslaunch that group together log files from the same launch as well as changes to rospy to prepare for upcoming changes to "bag" files. Release notes are below, or you can view the full list of changes.

Change List

  • roslaunch: changed location of log files so that logs from the same launch are collected together in the same directory. This makes it easier to find results of a run and prevents log filename recycling.
  • roscpp
    • Timer callbacks allow you to receive a callback at a specified rate. See the "timers" tutorial in the roscpp_tutorials package.
    • Transport hints let you specify TCP_NODELAY per subscription.
    • All nodes now advertise "~get_loggers" and "~set_logger_level" services, which can be called through the rosservice tool.
    • Publish calls should no longer take a large amount of time (spikes up to 100ms were seen).
    • Subscriptions created through the NodeHandle API can no longer block the ROS thread. Queue size should now behave properly.
    • Added Publisher::getNumSubscribers() call
  • rospy
    • refactored much of the genmsg_py code to add dynamic message generators, fix handling of uint8[] types, fix handling of string constants, and add more tests.
    • bug fix to rospy.myargv() handling
    • get_time/get_rostime now throw an exception if init_node has not been called

  • rxtools: New rxloggerlevel tool which lets you change the logger levels of roscpp nodes while they are running
  • rostopic: rostopic hz now prints "no new messages" if no new messages have been received since last print
  • rosmsg: rosmsg show now properly includes constants
  • rospack
    • profile output marks directories that contain no manifest
    • recover from bad cache location of a package
  • rosbuild: recover from bad cache location of rospack
  • rosrecord: rosplay now complains clearly and exits if asked to play a non-existent .bag file

Find this blog and more at planet.ros.org.

Monthly Archives

About this Archive

This page is an archive of entries from June 2009 listed from newest to oldest.

May 2009 is the previous archive.

July 2009 is the next archive.

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