Skip to content

Latest commit

 

History

History
138 lines (96 loc) · 3.64 KB

rep-2001.rst

File metadata and controls

138 lines (96 loc) · 3.64 KB

REP: 2001 Title: ROS Bouncy and Newer Variants Author: Tully Foote <[email protected]>, Mikael Arguedas <[email protected]>, Ruffin White <[email protected]> Status: Active Type: Informational Content-Type: text/x-rst Created: 16-Jul-2018 Post-History: 17-Sep-2018, 15-Mar-2019

Abstract

This REP describes the variants for the ROS Bouncy release and for releases that follow until otherwise replaced by a similar update REP.

Motivation

For a discussion on the general motivation and role of variants, please see REP 108 [1].

This document covers the common variants used for recommended installations. It is expressed in the ros2/variants repository on github.com [2].

The definitions in this REP are concise for clearer purpose, and do not list all transitive dependencies explicitly.

Specification

End-user entry points

We define three main entry points for ROS users.

  • desktop (recommended)
  • ros_base
  • ros_core

Variants

ROS Core

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]

ROS Base

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]

Desktop variants

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]

Institution-specific and robot-specific

Please see REP 108 [1] 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.

References

[1](1, 2) REP 108: Diamondback Variants (http://www.ros.org/reps/rep-0108.html)
[2]ROS Variants Repository (https://github.com/ros2/variants)

Copyright

This document has been placed in the public domain.