cob3_irex_640w.jpg

The Care-O-bot 3 is a mobile manipulation robot designed by Fraunhofer IPA that is available both as a commercial robotic butler, as well as a platform for research. The Care-O-bot software has recently been integrated with ROS, and, in just short period of time, already supports everything from low-level device drivers to simulation inside of Gazebo.

The robot has two sides: a manipulation side and an interaction side. The manipulation side has a SHUNK Lightweight Arm 3 with SDH gripper for grasping objects in the environment. The interaction side has a touchscreen tray that serves as both input and "output". People can use the touchscreen to select tasks, such as placing drink orders, and the tray can deliver objects to people, like their selected beverage.

The goals of the Care-O-bot research program are to:

  • provide a common open source repository for the hardware platform
  • provide simulation models of hardware components
  • provide remote access to the Care-O-bot 3 hardware platform

Those first two goals are supported by the care-o-bot open source repository for ROS, which features libraries for drivers, simulation, and basic applications. You can easily download the source code and perform a variety of tasks in simulation, such as driving the base and moving the arm. These support the third goal of providing remote access to physical Care-O-Bot hardware via their webportal.

cob3_tech_specs.640w.jpg

For sensing, the Care-O-bot uses two SICK S300 laser scanners, a Hokuyu URG-04LX laser scanner, two Pike F-145 firewire cameras for stereo, and Swissranger SR3000/SR4000s. The cob3_driver stack provides ROS software integration for these sensors in the sick_s300, cob3_camera_sensors, and cob3_hokuyo packages.

The Care-O-bot runs on a CAN interface with a SHUNK LWA3 arm, SDH gripper, and a tray mounted on a PRL 100 for interacting with its environment. It also has a SHUNK PW 90 and PW 70 pan/tilt units, which give it the ability to bow through its foam outer shell. The CAN interface is supported through several Care-O-bot ROS packages, including generic_can and canopen_motor, as well as wrappers for libntcan and libpcan. The SHUNK components are supported by the sdh, powercube_chain, libm5api packages.

The video below shows the Care-O-bot in action. NOTE: as the Care-O-bot source code is still being integrated with ROS, the capabilities you see in the video are not part of the ROS repository.

Stanford_Junior.640w.jpg

Junior is the Stanford Racing team's autonomous car that most famously finished in a close second at the DARPA Urban Challenge. It successfully navigated a difficult urban environment that required obeying traffic rules, parking, passing and many other challenges of real-world driving.

Those of you familiar with Junior are probably saying, "Junior doesn't use ROS! It uses IPC!"

That's mostly true, but researchers have recently started using ROS-based perception libraries in Junior's obstacle classification system.

From the very start, one of the goals of ROS was to keep libraries small and separable so that you could use as little, or as much, as you want. In the case of the tiny i-Sobot, a developer was able to just use ROS's PS3 joystick driver. When frameworks get too large, they becomes much more difficult to integrate with other systems.

In the case of Junior, Alex Teichman was able to bring his image descriptor library for ROS onto Junior. He has been using this library, along with ROS point cloud libraries, to develop Junior's obstacle classification system. Other developers on the team will also be allowed to choose ROS for their programs where appropriate.

You can find out more about Alex's image descriptor library at ros.org/wiki/descriptors_2d.

In addition to core robotics libraries, like navigation, the ROS Box Turtle release also comes with a variety of tools necessary for developing robotics algorithms and applications. One of the most commonly used tools is rviz, a 3-D visualization environment that is part of the ROS Visualization stack.

Whether it's 3D point clouds, camera data, maps, robot poses, or custom visualization markers, rviz can display customizable views of this information. rviz can show you the difference between the physical world and how the robot sees it, and it can also help you create displays that show users what the robot is planning to do.

You can watch the video above for more details about what the ROS rviz tool has to offer, and you can read documentation and download the source code at: ros.org/wiki/rviz.

Robots Using ROS: Aldebaran Nao

| No Comments | No TrackBacks

The Aldebaran Nao is a commercially available, 60cm tall, humanoid robot targeted at research lab and classrooms. The Nao is small, but it packs a lot into its tiny frame: four microphones, two VGA cameras, touch sensors on the head, infrared sensors, and more. The use of Nao with ROS has demonstrated how quickly open-source code can enable a community to come together around a common hardware platform.

rvizThe first Nao driver for ROS was released by Brown University's RLAB in November of 2009. This initial release included head control, text-to-speech, basic navigation, and access to the forehead camera. Just a couple of days later, the University of Freiburg's Humanoid Robot Lab used Brown's Nao driver to develop new capabilities, including torso odometry and joystick-based tele-operation. Development didn't stop there: in December, the Humanoid Robot Lab put together a complete ROS stack for the Nao that added IMU state, a URDF robot model, visualization of the robot state in rviz, and more.

The Nao SDK already comes with built-in support for the open-source OpenCV library. It will be exciting to see what additional capabilities the Nao will gain now that it can be connected to the hundreds of different ROS packages that are freely available.

Brown is also using open source and ROS as part of their research process:

Publishing our ROS code as well as research papers is now an integral part of disseminating our work. ROS provides the best means forward for enabling robotics researchers to share their results and more rapidly advance the state-of-the-art.

-- Chad Jenkins, Professor, Brown University

The University of Freiburg's Nao stack is available on alufr-ros-pkg. Brown's Nao drivers are available on brown-ros-pkg, along with drivers for the iRobot Create and a Gstream-based webcam driver.

There have been several new releases containing patches, new features, and unstable updates.

Two of our ROS stacks have gone to their "unstable" release cycle: common_msgs and vision_opencv. We will be using this release cycle to develop new features for the next stable release.

For our patch releases, web_interface and and laser_drivers have both been updated with bug fixes.

pr2_calibration, which is an unstable library still under active development, has reached it's 0.3.0 release.

Change lists

Robots Using ROS: i-Sobot

| No Comments | No TrackBacks

ROS is starting to gain traction in Japan thanks to some dedicated early adopters and community-based translation efforts. Last year, the ROS Navigation stack was ported to Tokyo University's Kawada HRP2-V robot, and now it's finding use with hobby robots as well.

ROS libraries are designed to be small and easily broken apart. In this case, a small use of ROS has led to the claim of "smallest humanoid robot controlled by ROS." As the video explains, ROS isn't running on the robot. The i-Sobot is hooked up to an Arduino, which talks to a PC, which uses the ROS PS3 joystick driver. We're always thrilled to see code being reused, whether it's something as big as the ROS navigation stack, or something as small as a PS3 joystick driver.

The video and demo was put together by "Ogutti", who has been maintaining a Japanese blog on ROS at ros-robot.blogspot.com/. Most recently, he has been blogging about using the Care-O-bot 3 simulation libraries.

In addition to Ogutti's Japanese ROS blog, you can go to ros.org/wiki/ja to follow the progress of the Japanese translation efforts for the ROS documentation.

What's in the Box: Navigation

| No Comments | No TrackBacks

Now that the ROS Box Turtle release is out, we'd like to highlight some of its core capabilities, and share some of the features that are in the works for the next release.

First up is the ROS Navigation stack, perhaps the most broadly used ROS library. The Nagivation stack is in use throughout the ROS community, running on robots both big and small. Many institutions, including Stanford University, Bosch, Georgia Tech, and the University of Tokyo, have configured this library for their own robots.

The ROS Navigation stack is robust, having completed a marathon -- 26.2 miles -- over several days in an indoor office environment. Whether the robot is dodging scooters or driving around blind corners, the Navigation stack provides robots with the capabilities needed to function in cluttered, real-world environments.

You can watch the video above for more details about what the ROS Navigation stack has to offer, and you can read documentation and download the source code at: ros.org/wiki/navigation.

Robots Using ROS: STAIR 1

| No Comments | No TrackBacks

stair_april2007_small.jpgWith so many open-source repositories offering ROS libraries, we'd like to highlight the many different robots that ROS is being used on. It's only fitting that we start where ROS started with STAIR 1: STanford Artificial Intelligence Robot 1. Morgan Quigley created the Switchyard framework to provide a robot framework for their mobile manipulation platform, and it was the lessons learned from building software to address the challenges of mobile manipulation robots that gave birth to ROS.

Solving problems in the mobile manipulation space is too large for any one group. It requires multiple teams tackling separate challenges, like perception, navigation, vision, and grasping. STAIR 1 is research robot built to address these challenges: a Neuronics Katana Arm, a Segway base, and an ever-changing array of sensors, including a custom laser-line scanner, Hokuyo laser range finder, Axis PTZ, and more. The experience developing for this platform in a research environment provided many lessons for ROS: small components, simple reconfiguration, lightweight coupling, easy debugging, and scalable.

STAIR 1 has tackled a variety of research challenges, from accepting verbal commands to locate staplers, to opening doors, to operating elevators. You can watch the video of STAIR 1 operating an elevator below, and you can watch more videos and learn more about the STAIR program at stair.stanford.edu. You can also read Morgan's slides on ROS and STAIR from an IROS 2009 workshop.

In addition to the many contribution made to the core, open-source ROS system, you can also find STAIR-specific libraries at sail-ros-pkg.sourceforge.net/, including the code used for elevator operation.

Box Turtle

We are excited to announce that our first ROS Distribution, "Box Turtle", is ready for you to download. We hope that regular distribution releases will increase the stability and adoption of ROS.

A ROS Distribution is just like a Linux distribution: it provides a broad set of libraries that are tested and released together. Box Turtle contains the many 1.0 libraries that were recently released. The 1.0 libraries in Box Turtle have stable APIs and will only be updated to provide bug fixes. We will also make every effort to maintain backwards-compatibility when we do our next release, "C Turtle".

There are many benefits of a distribution. Whether you're a developer trying to choose a consistent set of ROS libraries to develop against, an instructor needing a stable platform to develop course materials against, or an administrator creating a shared install, distributions make the process of installing and releasing ROS software a more straightforward process. The Box Turtle release will allow you to easily get bug fixes, without worry about new features breaking backwards compatibility.

With this Box Turtle release, installing ROS software is easier than ever before with Ubuntu debian packages. You can now "apt-get install" ROS and its many libraries. We've been using this capability at Willow Garage to install ROS on all of our robots. Our plugs team was able to write their revamped code on top of the Box Turtle libraries, which saved them time and provided greater stability.

Box Turtle includes two variants: "base" and "pr2". The base variant contains our core capabilities and tools, like navigation and visualization. The pr2 variant comes with the libraries we use on our shared installs for the PR2, as well as the libraries necessary for running the PR2 in simulation. Robots vary much more than personal computers, and we expect that future releases will include variants to cover other robot hardware platforms.

We have new installation instructions for ROS Box Turtle. Please try them out and let us know what you think!

The following stacks have been updated with bug fixes:

Change lists