ROS Fuerte Turtle
ROS Fuerte Turtle is the fifth ROS ROS distribution release and was released on April 23, 2012. ROS Fuerte has major improvements that make it easier to integrate with other software frameworks and tools. This includes a rewrite of the build system, migration to the Qt framework, and continued transition to standalone libraries. ROS aims to make robotics code more reusable, and this release is a strong new foundation for the next generation of great robotics libraries.
Contents
Installation
Please see the installation instructions.
Stack contributors: debian build status
Platforms
ROS Fuerte Turtle is primarily targeted at the Ubuntu Lucid, Oneiric, and Precise 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. For more information on compatibility, please see REP 3: Target Platforms.
Major Updates and Library Versions
Strong new build foundation
The low-level ROS libraries (ros, ros_comm, actionlib) can now be easily compiled into non-ROS-based frameworks. This new pure-CMake-based build system, called catkin, makes it easy to integrate these libraries using standard CMake find_package and pkg-config tools. The old rosbuild-based build system is still available.
New filesystem layout
The low-level ROS libraries now install into a standard lib, include, share layout (documentation). This migration towards a Filesystem Hierarchy Standard layout enables easier integration of ROS with other tools.
Standalone ROS message libraries
ROS message data structures in the common_msgs, std_msgs, and rosgraph_msgs packages can now be easily used in non-ROS frameworks with minimal system dependendencies. This increases portability of code between different robot software frameworks.
Qt-based RViz
rviz has been rewritten to use the Qt framework, which improves integration with platforms like OS X. The new RViz also features numerous usability and compatibility improvements.
Gazebo 1.0
Gazebo 1.0 is a major rewrite of the software simulation library. It includes a new backend architecture that significantly boosts performance.
PCL 1.5
PCL 1.5 features a new tracking library, performance boosts, and other major improvements.
rosdep 2
rosdep has been rewritten and is now an external tool (you must install it separately). This enables rosdep to be updated more frequently to improve compatiblity with other platforms. The new rosdep also uses a centralized database (no more <stack>/rosdep.yaml), which makes it easier to submit new rules for inclusion.
New rospkg package/stack library
The new standalone rospkg Python library provides a stable API for manipulating ROS package/stack information.
Standalone/separate rosemacs
rosemacs is now a separate Emacs add-on so that it can be update more easily. NOTE: you must install rosemacs separately (see rosemacs page).
Relevant REPs:
REP 122: Filesystem Hierarchy Standard layout changes for ROS
REP 123: ROS_ETC_DIR, ROS_DISTRO environment variables and ROS_ROOT changes
REP 124: Changes to roslaunch and rosrun for REP 122 and catkin build system
Migrating
The Fuerte Migration Guide covers the most of the changes that you may need to do in order to upgrade to ROS Fuerte. Most of these changes are based on removing features that were deprecated in ROS Fuerte, and most are based on migrating libraries to standard system installs.
Deprecated/reorganized stacks
bullet is being migrated to the standalone library. Please see the Bullet 2.79 migration notes. It will be a standard system dependency in ROS Groovy.
common is now end-of-life/deprecated. bfl and actionlib are available as separate installs.
dynamic_reconfigure is now in a separate stack and no longer part of driver_common.
camera_drivers: No driver packages remain (<<Ticket(ros-pkg 5183)>>). It is now an empty umbrella stack, but remains as a documentation node.
pcl: should now be used as a standard system dependency, which means you must update your CMakeLists.txt to link against them directly and add include directories as appropriate.
rx: this stack is now end-of-life. Qt-based alternatives to the rx* tools will become available in ROS Groovy.
Change Lists
SIGs
Please see the planning page.