Skip to content

Commit 6d7ef4a

Browse files
authored
Add in REP-150: updated metapackages for ROS Melodic (ros-infrastructure#144)
* Add in REP-150 Signed-off-by: Chris Lalancette <[email protected]> * Fixes from review. 1. Add Tully back as one of the authors. 2. Remove collada_urdf from the packages for robot. 3. Remove all language prior to Melodic. 4. Fix the desktop_full variant to make urdf_tutorial a package. Signed-off-by: Chris Lalancette <[email protected]> * Add urdf_sim_tutorial to the list of packages in desktop_full. Signed-off-by: Chris Lalancette <[email protected]> * Fix up the wording around urdf tutorials. Signed-off-by: Chris Lalancette <[email protected]> * Move the changes up to the Motivation section. Signed-off-by: Chris Lalancette <[email protected]> * Fix Tully's email address. Signed-off-by: Chris Lalancette <[email protected]> * Update Tully's email address everwhere. * Move urdf_tutorial into desktop. * Remove an obsolete comment. Signed-off-by: Chris Lalancette <[email protected]> * More fixes from review. Signed-off-by: Chris Lalancette <[email protected]> * Remove duplicate rosconsole_bridge. Signed-off-by: Chris Lalancette <[email protected]> * More fixes from review. 1. Make ros and ros_comm packages as part of ros_core 2. Restore rosgraph_msgs and std_srvs as part of ros_core 3. Add angles to desktop Signed-off-by: Chris Lalancette <[email protected]>
1 parent fbee3fa commit 6d7ef4a

7 files changed

+211
-6
lines changed

rep-0003.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
REP: 3
22
Title: Target Platforms
3-
Author: Tully Foote <tfoote@willowgarage.com>, Ken Conley <[email protected]>
3+
Author: Tully Foote <tfoote@openrobotics.org>, Ken Conley <[email protected]>
44
Status: Active
55
Type: Informational
66
Content-Type: text/x-rst

rep-0100.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
REP: 100
22
Title: ROS Stack Separation
3-
Author: Tully Foote <tfoote@willowgarage.com>, Ken Conley <[email protected]>, Brian Gerkey <[email protected]>
3+
Author: Tully Foote <tfoote@openrobotics.org>, Ken Conley <[email protected]>, Brian Gerkey <[email protected]>
44
Status: Final
55
Type: Standards Track
66
Content-Type: text/x-rst

rep-0107.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
REP: 107
22
Title: Diagnostic System for Robots Running ROS
3-
Author: Tully Foote <tfoote@willowgarage.com>
3+
Author: Tully Foote <tfoote@openrobotics.org>
44
Status: Final
55
Type: Standards Track
66
Content-Type: text/x-rst

rep-0131.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
REP: 131
22
Title: ROS Groovy Variants
3-
Author: Tully Foote <tfoote@willowgarage.com>
3+
Author: Tully Foote <tfoote@openrobotics.org>
44
Status: Active
55
Type: Informational
66
Content-Type: text/x-rst

rep-0133.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
REP: 133
22
Title: Separation of build environment and source tree tools
3-
Author: Tully Foote <tfoote@willowgarage.com>, Dirk Thomas, Thibault Kruse <[email protected]>, William Woodall <[email protected]>
3+
Author: Tully Foote <tfoote@openrobotics.org>, Dirk Thomas, Thibault Kruse <[email protected]>, William Woodall <[email protected]>
44
Status: Active
55
Type: Informational
66
Content-Type: text/x-rst

rep-0142.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
REP: 142
22
Title: ROS Indigo and Newer Metapackages
3-
Author: Tully Foote <tfoote@willowgarage.com>
3+
Author: Tully Foote <tfoote@openrobotics.org>
44
Status: Active
55
Type: Informational
66
Content-Type: text/x-rst

rep-0150.rst

+205
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
REP: 150
2+
Title: ROS Melodic and Newer Metapackages
3+
Author: Tully Foote <[email protected]>, Chris Lalancette <[email protected]>
4+
Status: Active
5+
Type: Informational
6+
Content-Type: text/x-rst
7+
Created: 03-Nov-2017
8+
Post-History:
9+
10+
11+
Abstract
12+
========
13+
14+
This REP describes the metapackages for the ROS Melodic release and for releases that follow until otherwise replaced by a similar update REP.
15+
This REP updates REP 131 [3]_ and REP 142 [5]_ for changes in packages.
16+
17+
18+
Motivation
19+
==========
20+
21+
For a discussion on the general motivation and role of variants,
22+
please see REP 108 [1]_.
23+
24+
As of ROS Hydro we have completed the transition to using
25+
metapackages instead of variants.
26+
For more information on metapackages see REP 127 [2]_.
27+
28+
This document covers the common metapackages used for recommended
29+
installations.
30+
It is expressed in the ros/metapackages repository on github.com
31+
[4]_.
32+
33+
This REP proposes the same entrypoints as REP 108 and merely updates
34+
the variant definitions to reflect the organizational changes in ROS
35+
stacks.
36+
In particular, in ROS Melodic the `robot` metapackage is contracted to remove
37+
`robot_model` and instead explicitly list the necessary packages.
38+
39+
The definitions in this REP are more focused and concise for clearer
40+
purpose, and do not list all transitive dependencies explicitly.
41+
42+
43+
Specification
44+
=============
45+
46+
End-user entry points
47+
---------------------
48+
49+
We define the same three main entry points for ROS users as REP 108
50+
[1]_.
51+
52+
* desktop_full (recommended)
53+
* desktop
54+
* ros_base
55+
56+
Metapackages
57+
------------
58+
59+
ROS Core
60+
''''''''
61+
62+
The `ros_core` metapackage composes the core communication protocols.
63+
It may not contain any GUI dependencies.
64+
65+
::
66+
67+
- ros_core:
68+
packages: [catkin, cmake_modules, common_msgs, gencpp, geneus, genlisp,
69+
genmsg, gennodejs, genpy, message_generation, message_runtime,
70+
ros, ros_comm, rosbag_migration_rule, rosconsole_bridge,
71+
roscpp_core, rosgraph_msgs, roslisp, rospack, std_msgs, std_srvs]
72+
73+
ROS Base
74+
''''''''
75+
76+
The `ros_base` metapackage composes the `ros_core` metapackage with
77+
commonly used libraries.
78+
It may not contain any GUI dependencies.
79+
80+
::
81+
82+
- ros_base:
83+
extends: [ros_core]
84+
packages: [actionlib, bond_core, class_loader,
85+
dynamic_reconfigure, nodelet_core,
86+
pluginlib]
87+
88+
Robot metapackage
89+
'''''''''''''''''
90+
91+
The `robot` metapackage is defined to be core, stable, ROS libraries
92+
for any robot hardware.
93+
It is the "general robotics" libraries of ROS.
94+
It may not contain any GUI dependencies.
95+
96+
::
97+
98+
- robot:
99+
extends: [ros_base]
100+
packages: [control_msgs, diagnostics, executive_smach, filters, geometry,
101+
joint_state_publisher, kdl_parser, kdl_parser_py,
102+
robot_state_publisher, urdf, urdf_parser_plugin, xacro]
103+
104+
Capability variants
105+
'''''''''''''''''''
106+
107+
The capability variants organize commonly used libraries that are
108+
specific to a class of use case.
109+
We also define a `simulators` variant that provides an organizational
110+
role for higher-level variants.
111+
We discourage GUI dependencies in these stacks, if possible.
112+
113+
::
114+
115+
- perception:
116+
extends: [ros_base]
117+
packages: [image_common, image_pipeline,
118+
image_transport_plugins, laser_pipeline,
119+
perception_pcl, vision_opencv]
120+
121+
- simulators:
122+
extends: [robot]
123+
packages: [gazebo_ros_pkgs, rqt_common_plugins, rqt_robot_plugins,
124+
stage_ros]
125+
126+
- viz:
127+
extends: [ros_base]
128+
packages: [rqt_common_plugins, rqt_robot_plugins, rviz]
129+
130+
Desktop variants
131+
''''''''''''''''
132+
133+
The `desktop` variants are main entry points for users.
134+
The `desktop_full` is a "batteries included" experience for users and
135+
attempts to collect stable, well-documented libraries.
136+
These libraries may be specific to certain classes of robots, such as
137+
mobile robots, though they are not specific to a particular robot.
138+
The `desktop` variant is more minimal and only provides the stacks in
139+
the `robot` variant, plus visualization and debugging tools.
140+
Both of these variants contain tutorials for the stacks they provide.
141+
142+
::
143+
144+
- desktop:
145+
extends: [robot, viz]
146+
packages: [angles, common_tutorials, geometry_tutorials, ros_tutorials,
147+
roslint, urdf_tutorial, visualization_tutorials]
148+
- desktop_full:
149+
extends: [desktop, perception, simulators]
150+
packages: [urdf_sim_tutorial]
151+
152+
Institution-specific and robot-specific
153+
'''''''''''''''''''''''''''''''''''''''
154+
155+
Please see REP 108 [1]_ for discussion of institution-specific
156+
metapackages.
157+
158+
When creating robot or institution specific metapackages consider
159+
using the \*_robot and \*_desktop and \*_base form where * is the
160+
institution or robot name.
161+
162+
An institution is not required to provide a metapackage, they are
163+
mainly provided for convenience and identity.
164+
165+
166+
Backwards Compatibility
167+
=======================
168+
169+
The metapackages in this REP provide the same semantic top level
170+
entry points while simplifying the definitions.
171+
172+
173+
References
174+
==========
175+
176+
.. [1] REP 108: Diamondback Variants
177+
(http://www.ros.org/reps/rep-0108.html)
178+
179+
.. [2] REP 127: Specification of package manifest format
180+
(http://ros.org/reps/rep-0127.html)
181+
182+
.. [3] REP 131: Groovy Variants
183+
(http://www.ros.org/reps/rep-0131.html)
184+
185+
.. [4] ROS Metapackages Repository
186+
(https://github.com/ros/metapackages)
187+
188+
.. [5] REP 142: Indigo Variants
189+
(http://www.ros.org/reps/rep-0142.html)
190+
191+
192+
Copyright
193+
=========
194+
195+
This document has been placed in the public domain.
196+
197+
198+
..
199+
Local Variables:
200+
mode: indented-text
201+
indent-tabs-mode: nil
202+
sentence-end-double-space: t
203+
fill-column: 70
204+
coding: utf-8
205+
End:

0 commit comments

Comments
 (0)