ROS Electric Emys


Electric Emys was released on August 30, 2011 and is the fourth ROS distribution release. Electric Emys includes stable libraries for arm_navigation and PCL and also expands ROS support to many new platforms like Android and Arduino.


Please see the installation instructions.

Stack contributors: debian build status


ROS Electric Emys is primarily targeted at the Ubuntu Lucid through Natty releases, though it can also be installed on various Linux systems like Red Hat, Debian, and Gentoo. It can also be used on OSes like Mac OS X, FreeBSD, Android, and Windows, though with more limited compatibility.


Batteries included, but modular

  • We strive to integrate ROS with the best open-source software libraries for robotics out there, while maintaining a modular system that allows you to pick and choose exactly what you need. "Smaller, lighter" was a theme of our Diamondback release, and we've continued that with ROS Electric by streamlining integration and making it more portable. We are now using standard system installs of many libraries, such as OpenCV, assimp, yaml-cpp, TinyXML, and Eigen, so that you can use them the same with or without ROS.

    ROS Electric separates many of the lower-level ROS libraries into smaller components so that you only have to use what you need. KDL, nodelet, filters, xacro, and pluginlib are now available separately, and KDL in ROS is now maintained directly by the Orocos developers. We have also updated ROS to allow unary stacks.

wizardArm navigation 1.0

  • The arm navigation library has reached its 1.0 release, which has a stable ROS API. The arm navigation library enables you to execute collision-free motion plans and control for a robot arm manipulator. It is compatible with multiple motion planners, including ompl and sbpl. This release includes a new setup wizard to help you configure arm navigation for your robot manipulator. It also includes new visualization tools for working with motion planners and a powerful experimental GUI tool for generating, saving, and playing back planning scenes.

    Please see the updated tutorials for a guide to these new tools.

Interactive markers

  • Thanks to David Gossow, the rviz 3D visualization tool now has "interactive markers": programmable user interface components. You can use these to create custom GUIs, such as controls for moving the arms, gripper, and base of your robot.

PCL 1.1


    The most recent release of Point Cloud Library is available with ROS. This release contains lots of new features, optimizations, and bug fixes, and we have also performed numerous user tests to improve PCL's documentation and tutorials. Please see the PCL 1.1 change list for more information.

OpenCV 2.3, standalone

  • The vision_opencv stack now integrates with the standalone version of OpenCV and has been updated to OpenCV 2.3 (change list). We are now hosting a debian binary package of OpenCV 2.3, which is used for both standalone installations of OpenCV as well as ROS integration.

Android, Pure Java

  • Damon Kohler at Google has created a new rosjava library that is written in pure Java and is compatible with Android. We will soon be releasing components that let you create UIs on Android devices to interact with ROS robots as well as use sensors on Android devices in your robot system.


  • Michael Ferguson and Adam Stambler have created a new rosserial library that lets you use Arduino hardware with ROS. This library sets up a point-to-point connection with Arduino hardware so that you can send ROS messages back and forth with another system.


  • Daniel Stonier (Yujin Robot) is hosting a win_ros stack that collects libraries and tools for using ROS on Windows. Daniel has also provided numerous patches to integrate the in-progress rosbuild2 system that provides more direct integration with standard Windows build toolchains.


  • Debian binaries of several ROS stacks are now available for armel systems. This enables binary installs on platforms like the PandaBoard and Gumstix.

Python 3

  • Thanks to Michael Karg (TUM), Severin Lemaignan (LAAS), and Lorenz Mösenlechner (TUM) for numerous patches to many of the ROS libraries compatible with Python 3. This update enables seamless use of ROS with the MORSE simulator.

ROS core improvements

The ROS package system and rosdep install tool were upgraded for ROS Electric to help make ROS smaller and easier to use with more platforms. For information, please see the REPs below.

Other improvements

New image processing nodelets

  • image_pipeline has gained a nodelet for emulating ROI/binning. depth_image_proc introduces new nodelets for depth-RGB registration and working with depth images.

Improved camera_calibration and image_proc

  • camera_calibration is now faster, more robust, more configurable, and gives better feedback to the user. image_proc has gained new edge-aware and VNG debayering algorithms, dynamic_reconfigure support, and support for 16-bit encodings and YUV.

robot_model: COLLADA/URDF integration and new urdf tools


  • New performance optimizations that result in up to 100x speedup in some cases.



  • New and updated joystick message migrated from joy package.

camera_info_manager URLs

  • Allow substitution variables in camera_info_manager URLs.

Migration from Diamondback

The following packages have been migrated to standard system installs.

Please see their pages to help you migrate.

Several deprecated features have been removed, including:

  • ros::Message base class

  • rosrecord package

  • roslib messages: Header, Clock, and Log

New/Reorganized stacks:

Change Lists

Planning (old)

Please see the planning document.

Wiki: electric (last edited 2011-08-31 20:19:02 by KenConley)