[Documentation] [TitleIndex] [WordIndex

Migration guide

For ROS Jade Turtle, these packages have been changed and provide some form of migration notes or tutorials for users which depend on these packages:

Make sure to consult the ROS Indigo Igloo migrations page if you are coming from Hydro or older: indigo/Migration

Eigen CMake Module in cmake_modules

The package cmake_modules currently contains a CMake Module for finding Eigen. This was originally in catkin and was added there because Eigen wasn't shipping a CMake Module at all. Now Eigen does ship a CMake Module of its own and so we're deprecating our version of that module. The deprecation warning looks something like this:

The FindEigen.cmake Module in the cmake_modules package is deprecated.
Please use the FindEigen3.cmake Module provided with Eigen.
Change instances of find_package(Eigen) to find_package(Eigen3).
Check the FindEigen3.cmake Module for the resulting CMake variable names.

We may remove this Eigen module from cmake_modules in K-turtle. If you want to support both, you can do something like this (leaving your dependency on cmake_modules for now):

find_package(Eigen3)
if(NOT EIGEN3_FOUND)
  # Fallback to cmake_modules
  find_package(cmake_modules REQUIRED)
  find_package(Eigen REQUIRED)
  set(EIGEN3_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS})
  set(EIGEN3_LIBRARIES ${EIGEN_LIBRARIES})  # Not strictly necessary as Eigen is head only
  # Possibly map additional variables to the EIGEN3_ prefix.
else()
  set(EIGEN3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
endif()
# Use ${EIGEN3_...} variables in either case below

If you just want to update to the new style, simply replace instances of find_package(EIGEN [...]) with find_package(EIGEN3 [...]) and change any variables starting with EIGEN_ to start with EIGEN3_ instead.

Also, when passing Eigen on as a transitive dependency in your catkin_package() call, use the INCLUDE_DIRS (and optionally the LIBRARIES) option(s) instead of the DEPENDS option. This way there is no issue for downstream packages which would need to deal with the difference in _INCLUDE_DIRS and _INCLUDE_DIR between the two Modules. For example:

catkin_package(
  # ...
  INCLUDE_DIRS ${EIGEN3_INCLUDE_DIRS}
  # ...
)

geneus

Support for message / service in EusLisp has been added as a default supported language. If you want to try ROS with EusLisp please take a look at the roseus/Tutorials.

Gazebo Simulator

The Gazebo official versions supported in ROS Jade are the 5.x series of releases. ROS Indigo uses gazebo 2.x series so there are many new features to enjoy in the gazebo 5.x versions, such as: Multiple physics engine support, Clone running simulations, Digital Elevation Models, Unified command-line tool (gz), Javascript interface, Oculus Rift and Razer Hydra support or the C++11 Integration among many others. All them are available at the Gazebo 5.x changelog file.

Migration

The rosdep key for Gazebo has been split into two different keys: gazebo5 and libgazebo5-dev. If a package implements a plugin or any development on top of Gazebo, please use libgazebo5-dev as a build_depend and gazebo5 as a run_depend. If your package just uses the gazebo simulator but does not use any gazebo library or header, you can use gazebo5 as a run_depend.

To help with the migration of the gazebo 2.x code that is no longer valid in gazebo 5.x, it is recommended to read carefully the Migration notes provided by the Gazebo team.


2024-12-21 15:00