May 2010 Archives

Robots Using ROS: Penn Quadrotors

| No Comments | No TrackBacks

ROS has taken to the air! In a video that's quickly making the rounds on the Internet, you can see quadrotors from Penn's GRASP Lab performing all sorts of "aggressive" acrobatic stunts, from flying through narrow windows to landing on vertical perches. The entire system uses a mix of high-level ROS software for modularization and communication, as well as low-level microcontroller code.

The goal of this project was to fly a quadrotor precisely along aggressive trajectories. The basic components of the system are the quadrotor, a control laptop, and the Vicon motion capture system. The onboard microcontroller runs an attitude control loop at 1 kHz. The control laptop runs the higher-level position control loop. The control computer communicates with the quadrotor via an XBee link.

Communication between different programs on the control computer is done through ROS. A motion-capture node sends pose messages to a central controller, which in turn outputs control messages to code that sends the commands to the quadrotor. Experimentation was performed in a 3D simulator using a quadrotor model that contains a very accurate description of the dynamics of the actual quadrotor. The simulator communicates through ROS in a similar way as the hardware does, allowing for minimal overhead to switch between experimentation in simulation and on the actual quadrotor. ROS made it easy to modularize the code and write programs for each aspect of the entire problem independently.

Daniel Mellinger's Quadrotor Page

Thanks to Daniel Mellinger of Penn for helping to put together this post.

ROS and OpenRTM-aist

| No Comments | No TrackBacks

Geoffrey Biggs has released a patch that integrates ROS seamlessly into OpenRTM-aist. OpenRTM-aist users can download a patch that adds in ROS transport.

Although I guess it's not a common thing yet, there have been murmurings for quite a while now here in Japan about a desire to be able to use OpenRTM-aist and ROS together. We would gain the huge range of functional software and the persistent channel-based communications of ROS, and keep the strong life-cycle and execution management of OpenRTM-aist.

So here's a patch for OpenRTM-aist that does exactly that.

This patch adds a new transport type to OpenRTM-aist specifically for communicating across ROS channels. No doubt someone will find the ability to use a persistent channel for communication useful, but the main benefit is that it gives nearly-seamless communications between components written for OpenRTM-aist and nodes written for ROS. Your network of distributed components/nodes no longer has to be in just one framework.

There are no wrappers involved. It's all native communication using the same ROS libraries as you would use in a pure-ROS system - no translation layers means maximum efficiency. You create a port type for the ROS transport, and off you go. If you already know ROS, you'll feel right at home using the ports.

The one caveat is why I say nearly-seamless: we still don't have a unified set of types (also, there are some issues with the typing system in OpenRTM-aist that we're working to sort out). Fortunately, the types issue is a hot topic amongst framework designers at the moment, so I hope we will have solved that problem before too long. :)

I have attached both the patch, for OpenRTM-aist-1.0.0, and a set of examples for each port type (publisher/subscriber/client/server). I hope to get a web page up on the OpenRTM-aist site shortly with a more detailed explanation of usage; for now, the examples and the doxygen comments in the source will point you in the right direction - it's all pretty simple.

Comments, suggestions, and improvements are welcome.

The Media and Machines Lab at Washington University in St. Louis has integrated several of their robots with ROS, including an iRobot B21r and several Videre ERRATICs. They are also maintaining wu-ros-pkg, which is a repository of research projects, drivers, and utilities related to these robots.

Wash U.'s B21r, known as Lewis, is best known for being a mobile robot photographer. Lewis is currently being used for HRI research, and they are also reimplementing the photographer functionality in ROS. Lewis is fully integrated with ROS, including sensor data from 48 sonar sensors, 56 bump sensors, 2 webcams, and a Hokuyo laser rangerfinder. There is also Directed Perception PTU-46 pan-tilt unit that they have mounted the webcams on (driver).

The B21r community will be happy to know that Wash U. has deeply integrated this platform with ROS. They have created an urdf model, complete with meshes for visualizing in rviz, and they have also integrated the B21r with the ROS navigation stack. They are also providing an rwi stack, which includes their rflex driver. The rflex driver is capable of driving other iRobot/RWI robot platforms, including the B18, ATRV, and Magellan Pro.

Wash U. has also integrated their four Videre ERRATICs with ROS. They've named these robots Blood, Sweat, Toil, and Tears, and have equipped them with Hokuyo laser rangerfinders and webcams. The ERRATICs enable them to explore research in multi-robot coordination and control. They're also developing on iRobot Creates using drivers from brown-ros-pkg.

The research at the Media and Machines Lab has led to several interfaces and visualizations for using robots. This includes RIDE (Robot Interactive Display Environment), which takes cues from Real Time Strategy (RTS) video games to provide an interface for easily controlling multiple robots simultaneously. They have also developed a visualization for mapping sensor data over time for search tasks and a 3D interface for binocular robots. RIDE is available in the ride stack, and much of their other research will soon be released in wu-ros-pkg.

ROS 1.0.4 Released

| No Comments | No TrackBacks

ROS 1.0.4 (stable/boxturtle) has been released. This release fixes a regression in roscpp's getParamCached() method that meant it hit the master every time it was called if the parameter didn't exist.

Full 1.0 changelist

Several patch releases have been made, including ROS 1.1.7, which fixes issues with roslaunch and paramiko on Ubuntu Jaunty. The rest of the patch releases are for Box Turtle and are listed below.

Change lists

ROS 1.1.6 has been released. This will be one of the last releases in the 1.1.x series as we are quickly approaching feature freeze. You can read the change list for more information. NOTE: ROS 1.1.5 contains an error with the gtest package and should not be used.

Several other stacks in the C-Turtle unstable development series have been updated as well, including:

Change lists

ICRA 2010 Montage

| No Comments | No TrackBacks

Here's a montage from the Willow Garage blog featuring PR2, Kuka's LWR, Barrett's WAM arm, Aldebaran Nao, Meka Robotics, Care-O-bot 3, Dynamaid, homer@UniKoblenz, and more.

ICRA Thanks

| No Comments | No TrackBacks

PR2 gets some refreshment from Care-O-bot

We had a really great time meeting everyone at ICRA and hearing about the various ways in which you are using ROS. We already knew about some of the robots using ROS, but we didn't expect to hear that ROS is already in use on boats and quad-rotor helicopters. There are also a dozen different robots using the ROS navigation stack. Thanks to all of you who took the time to talk with us, participate in tutorials, and show us new uses of ROS.

It was exciting to see open source gaining momentum with commercial robotics companies. Gostai was there to promote the newly open source URBI, SRI was promoting its open-source Karto mapping library, and Robosoft was also promoting its new open source offering with the Kompai robot. There should be a lot more news on the open-source front soon, so stay tuned!

Many of you asked how you can get your open-source repositories added to the index. The answer is easy: just send us an e-mail on ros-users. We'd love to hear about what you're doing and we're looking forward to doing more "Robots Using ROS" posts in the future.

PR2 Beta Recipients Announced!

| No Comments | No TrackBacks

11!The 11 recipients for the PR2 Beta Program have been announced! You can read the announcement on

While the program will leverage the common hardware platform of the PR2, it is also a big benefit to the broader ROS community as a whole. All of the participants will be releasing work as open source, and much of this work will be immediately applicable to other robot platforms. For example:

  • KU Leuven will be working on improving integration between ROS and Orocos, as well as integrating ROS with other open-source libraries like Blender.
  • JSK will be working on integrating ROS, OpenRAVE, and EusLisp.
  • Bosch will be providing sensors like accelerometers, gyros, pressure sensors, and skins to participants, which will hopefully lead to new approaches and libraries for these types of sensors.

These are just a few examples, and you can read the announcement for more. There will be numerous libraries in perception, mapping, planning, manipulation, and more that we hope the ROS community will be able to build upon.

Many of the participating institutions have already started ROS repositories, including:

These repositories and more will be very active over the next two years, and we encourage the greater ROS community to take part by using the many open-source libraries for ROS in exciting new applications for robotics.


| No Comments | No TrackBacks


ROS will be on display at ICRA 2010. Here are some of the highlights:

Around the Floor

Willow Garage will be demoing various ROS libraries and tools in their booth.

Karto Robotics from SRI will be demoing in the Willow Garage and Gostai booths.

Scheduled Events

Radu Bogdan Rusu and Matei Ciocarlie will give a talk on, "Combining Perception and Manipulation in ROS" as part of the Workshop on Representations for Object Grasping and Manipulation. This will discuss the upcoming point cloud library, pcl, and manipulation stacks which are currently being developed for future versions of ROS.
When: Monday May 3, 12:00pm. Where: Dena'ina Center, Tubughnenq' 4.

Gary Bradski will give a talk on OpenCV and Radu Bogdan Rusu will give a talk on the Point Cloud Library in the Workshop on Best Practice in 3D Perception and Modeling for Mobile Manipulation.
When: Monday, May 3, 9:00 - 09:30 (OpenCV), 10:00 - 10:30 (PCL). Where: Dena'ina Center, Kahtnu 1.

Care-O-bot 3 and PR2 will participating in the Mobile Manipulation Challenge.
Where: Idlughet 3. When: Wednesday May 4th, 14:15 - 15:00 (PR2), Thursday May 5th, 15:00 - 15:45 (Care-O-bot 3).

ROS Tutorial will take place on Friday. This event is full.

Paper Presentations

Jürgen Sturm (University of Freiburg) will present "Vision-Based Detection for Learning Articulation Models of Cabinet Doors and Drawers in Household Environments", which details some of the techniques used in the articulation_models package.
When: Tuesday, May 4, 2010, 08:30−08:45. Where: Egan Center Lower Level Room 9/10.

Eitan Marder-Eppstein (Willow Garage) will present "The Office Marathon: Robust Navigation in an Indoor Office Environment", which details the techniques used in the ROS navigation stack. The experimental code is provided here.
When: Tuesday, May 4, 9:15 to 9:30 am. Where: Egan Center Street Level, Room Cook Hall.

Wim Meeussen (Willow Garage) will present "Autonomous Door Opening and Plugging in with a Personal Robot", which is implemented in the pr2_doors stack. The experimental code is provided here.
When: Tuesday, May 4, 2010, 14:50−15:05. Where: Egan Center Lower Level Room 1.

Ellen Klingbeil (Stanford) will present "Autonomous Operation of Novel Elevators for Robot Navigation", which is implemented in the elevator packages in sail-ros-pkg.
When: Tuesday, May 4, 2010, 15:35−15:50. Where: Egan Center Lower Level Room 1.

Jeremy Maitin-Shephard (Berkeley) will present "Cloth Grasp Point Detection Based on Multiple-View Geometric Cues with Application to Robotic Towel Folding", which details the techniques used for the very popular towel-folding video demonstration.
When: Wednesday, May 5, 2010, 09:15−09:30, Where: Egan Center Lower Level Room 13/14.

Ioan Şucan (Rice University) will present "Combining Planning Techniques for Manipulation Using Realtime Perception", which discusses a combined framework for motion planners (OMPL, CHOMP, SBPL) led to the development of the arm_navigation and motion_planners stacks. More information here. When: Wednesday, May 5, 2010, 15:20−15:35. Where: Egan Center Lower Level Room 13/14.

Ben Cohen (Penn) will present "Search-Based Planning for Manipulation with Motion Primitives", which discusses some of the techniques used in the sbpl package. More information here. When: Wednesday, May 5, 2010, 15:35−15:50. Where: Egan Center Lower Level Room 13/14.

Benjamin Pitzer (Bosch RTC) will present "Automatic Reconstruction of Textured 3D Models", which is demonstrated in this video and builds upon packages in bosch-ros-pkg.
When: Thursday, May 6, 2010, 09:45−10:00. Where: Egan Center Lower Level Room 3.

Anthony Mallet (LAAS/CNRS) will present "GenoM3: Building Middleware-Independent Robotic Components", which aims to bring greater interoperability among robotics platforms.
When: Thursday, May 6, 2010, 15:20−15:35. Where: Egan Center Lower Level Room 6.

geometry 1.1.2 and robot_model 1.1.2

This announces geometry 1.1.2 and robot_model 1.1.2 are released into latest. These are unstable releases, with API changes. Unless you are working toward the next release it is recommended to remain on boxturtle.

Note: There are some permutations of updating which creates a linking error for undefined references into bullet. If you get these errors, use rosmake with the --pre-clean option and it will work fine. This has only been observed when following a specific sequence of updates.

point_cloud_perception 0.1.6

PCL (Point Cloud Library) 0.1.6 and the point_cloud_perception stack have been released!

We're slowly adding more functionality, fixing bugs, and writing documentation and tutorials for early adopters. Please check out for more information and don't forget to keep an eye on the tutorials section. PCL requires the latest branch, which is unstable and only recommended if you want to play with cutting edge features.

We are going to have two talks about PCL at ICRA (check out our schedule for details), so please stop by, and come talk to us afterwards. We're also going to showcase some of the PCL functionality at the Willow Garage booth. Looking forward to see you there!

Thanks to everyone that contributed!

point_cloud_perception change list

Find this blog and more at

Monthly Archives

About this Archive

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

April 2010 is the previous archive.

June 2010 is the next archive.

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