|Title:||ROS Bouncy and Newer Variants|
|Author:||Tully Foote <tfoote at openrobotics.org>, Mikael Arguedas <mikael at openrobotics.org>, Ruffin White <roxfoxpox at gmail.com>|
This REP describes the variants for the ROS Bouncy release and for releases that follow until otherwise replaced by a similar update REP.
For a discussion on the general motivation and role of variants, please see REP 108 .
This document covers the common variants used for recommended installations. It is expressed in the ros2/variants repository on github.com .
The definitions in this REP are concise for clearer purpose, and do not list all transitive dependencies explicitly.
We define three main entry points for ROS users.
- desktop (recommended)
The ros_core variants composes the core communication protocols. It may not contain any GUI dependencies.
- ros_core: packages: [ament_cmake, ament_cmake_ros, ament_index, ament_lint, ament_package, class_loader, common_interfaces, console_bridge, googletest, launch, libyaml_vendor, osrf_pycommon, osrf_testing_tools_cpp, pluginlib, poco_vendor, rcl, rcl_interfaces, rclcpp, rclpy, rcutils, rmw, rmw_implementation, ros2cli, rosidl, rosidl_dds, rosidl_defaults, rosidl_python, rosidl_typesupport, ros_environment, sros2, tinyxml2_vendor, uncrustify] And at least one of the following rmw_implementation: - Fast-RTPS: [Fast-CDR, Fast-RTPS, rmw_fastrtps] - Connext: [rmw_connext, rosidl_typesupport_connext] - Opensplice: [rmw_opensplice, rosidl_typesupport_opensplice]
The ros_base metapackage composes the ros_core metapackage with commonly used libraries. It may not contain any GUI dependencies.
- ros_base: extends: [ros_core] packages: [geometry2, kdl_parser, orocos_kinematics_dynamics, robot_state_publisher, tinyxml_vendor, urdf, urdfdom, urdfdom_headers]
The desktop metapackage is the main entry point for users. It provides all commonly used libraries as well as visualization tools and tutorials.
- desktop: extends: [ros_base] packages: [angles, demos, depthimage_to_laserscan, example_interfaces, examples, joystick_drivers, laser_geometry, navigation_msgs, pcl_conversions, realtime_support, resource_retriever, rviz, teleop_twist_joy, teleop_twist_keyboard, tlsf, vision_opencv]
Please see REP 108  for discussion of institution-specific metapackages.
When creating robot or institution specific metapackages consider using the *_robot and *_desktop and *_base form where * is the institution or robot name.
An institution is not required to provide a metapackage, they are mainly provided for convenience and identity.
|||(1, 2) REP 108: Diamondback Variants (http://www.ros.org/reps/rep-0108.html)|
|||ROS Variants Repository (https://github.com/ros2/variants)|
This document has been placed in the public domain.