Skip to content

Commit

Permalink
REP-2001 ROS 2 Variants initial draft (ros-infrastructure#176)
Browse files Browse the repository at this point in the history
* REP-2001 ROS 2 Variants initial draft

* add missing pluginlib

* add rcutils and rmw explicitly

* add angles to desktop

* list all repositories explicitly

* typo

* remove navigation cartographer and astra repos from desktop

* alpha order fixup

* update status and Post-History now that it's been approved
  • Loading branch information
mikaelarguedas authored Sep 17, 2018
1 parent a445fe4 commit c5d526b
Showing 1 changed file with 138 additions and 0 deletions.
138 changes: 138 additions & 0 deletions rep-2001.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
REP: 2001
Title: ROS Bouncy and Newer Variants
Author: Tully Foote <[email protected]>, Mikael Arguedas <[email protected]>
Status: Active
Type: Informational
Content-Type: text/x-rst
Created: 16-Jul-2018
Post-History: 17-Sep-2018


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, 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, sros2, 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] 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.


..
Local Variables:
mode: indented-text
indent-tabs-mode: nil
sentence-end-double-space: t
fill-column: 70
coding: utf-8
End:

0 comments on commit c5d526b

Please sign in to comment.