Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating REP2000 for Eloquent #203

Merged
merged 8 commits into from
Sep 3, 2019
Merged
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 116 additions & 4 deletions rep-2000.rst
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Ardent Apalone (December 2017 - December 2018)
| arm64 | X | | |
+--------------+-----------------------+------------------------------+------------------------+

Minumum language requirements:
Minimum language requirements:

- C11 [2]_
- C++14
Expand Down Expand Up @@ -140,7 +140,7 @@ Targeted platforms:
" [s] " Compilation from source, the ROS buildfarm will not produce any binary packages for these platforms.


Minumum language requirements:
Minimum language requirements:

- C11 [2]_
- C++14
Expand Down Expand Up @@ -243,7 +243,7 @@ Middleware Implementation Support:
Middleware implementation support is dependent upon the platform support tier.
For example a Tier 1 middleware implementation on a Tier 2 platform can only receive Tier 2 support.

Minumum language requirements:
Minimum language requirements:

- C11 [2]_
- C++14
Expand Down Expand Up @@ -352,7 +352,7 @@ Middleware Implementation Support:
Middleware implementation support is dependent upon the platform support tier.
For example a Tier 1 middleware implementation on a Tier 2 platform can only receive Tier 2 support.

Minumum language requirements:
Minimum language requirements:

- C++14
- Python 3.5
Expand Down Expand Up @@ -418,6 +418,114 @@ Build System Support:
- setuptools


Eloquent Elusor (November 2019 - November 2020)
---------------------------------------------------------------

Targeted platforms:

+--------------+-----------------------+------------------------------+------------------------+------------------------+
| Architecture | Ubuntu Bionic (18.04) | MacOS Mojave (10.14) | Windows 10 (VS2019) | Debian Buster (10) |
+==============+=======================+==============================+========================+========================+
| amd64 | Tier 1 [d][a][s] | Tier 1 [a][s] | Tier 1 [a][s] | Tier 3 [s] |
+--------------+-----------------------+------------------------------+------------------------+------------------------+
| arm64 | Tier 1 [d][a][s] | | | Tier 3 [s] |
+--------------+-----------------------+------------------------------+------------------------+------------------------+
| arm32 | Tier 2 [a][s] | | | Tier 3 [s] |
+--------------+-----------------------+------------------------------+------------------------+------------------------+

The following indicators show what delivery mechanisms are available for each platform.

" [d] " Debian packages will be provided for this platform for packages submitted to the rosdistro.

" [a] " Binary releases are provided as a single archive per platform containing all packages in the Eloquent ROS 2 repos file [6]_.

" [s] " Compilation from source.

Middleware Implementation Support:

+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+
| Middleware Library | Middleware Provider | Support Level | Platforms | Architectures |
+==========================+=====================+===============+=============================+======================================+
| rmw_fastrtps_cpp | eProsima Fast-RTPS | Tier 1 | All Platforms | All Architectures |
+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+
| rmw_connext_cpp | RTI Connext | Tier 1 | All Platforms except Debian | All Architectures except arm64/arm32 |
+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+
| rmw_opensplice_cpp | ADLink OpenSplice | Tier 2 | All Platforms except Debian | All Architectures |
+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+
| rmw_fastrtps_dynamic_cpp | eProsima Fast-RTPS | Tier 2 | All Platforms | All Architectures |
+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+

Middleware implementation support is dependent upon the platform support tier.
For example a Tier 1 middleware implementation on a Tier 2 platform can only receive Tier 2 support.

Minimum language requirements:

- C++14
- Python 3.6


Dependency Requirements:

+-------------+-------------------------------------------------+---------------------+
| | Required Support | Recommended Support |
+-------------+----------------+---------------+----------------+---------------------+
| Package | Ubuntu Bionic | MacOS** | Windows 10** | Debian Buster |
+=============+================+===============+================+=====================+
| CMake | 3.10.2 | 3.14.4 | 3.14.4 | 3.13.4 |
+-------------+----------------+---------------+----------------+---------------------+
| EmPY | 3.3.2 | 3.3.2 | 3.3.2 | 3.3.2 |
+-------------+----------------+---------------+----------------+---------------------+
| Gazebo | 9.0.0 | 9.9.0 | N/A | 9.8.0* |
+-------------+----------------+---------------+----------------+---------------------+
| Ogre | 1.10* |
+-------------+----------------+---------------+----------------+---------------------+
| OpenCV | 3.2.0 | 4.1.0 | 3.4.6* | 3.2.0 |
+-------------+----------------+---------------+----------------+---------------------+
| OpenSSL | 1.1.0g | 1.0.2r | 1.0.2r | 1.1.1c |
+-------------+----------------+---------------+----------------+---------------------+
| Poco | 1.8.0 | 1.9.0 | 1.8.0* | 1.9.0 |
+-------------+----------------+---------------+----------------+---------------------+
| Python | 3.6.5 | 3.7.3 | 3.7.3 | 3.7.3 |
+-------------+----------------+---------------+----------------+---------------------+
| Qt | 5.9.5 | 5.12.3 | 5.10.0 | 5.11.3 |
+-------------+----------------+---------------+----------------+---------------------+
| | **Linux only** |
+-------------+----------------+---------------+----------------+---------------------+
| PCL | 1.8.1 | N/A | N/A | 1.9.1 |
+-------------+----------------+---------------+----------------+---------------------+
| **RMW DDS Milddleware Providers** |
+-------------+----------------+---------------+----------------+---------------------+
| Connext DDS | 5.3.1*** | N/A |
+-------------+----------------+---------------+----------------+---------------------+
| Fast-RTPS | 1.9.0 |
+-------------+----------------+---------------+----------------+---------------------+
| OpenSplice | 6.9.190705OSS |
+-------------+----------------+---------------+----------------+---------------------+

" * " means that this is not the upstream version (available on the official Operating System repositories) but a package distributed by OSRF or the community (package built and distributed on custom repositories).

" ** " Rolling distributions will see multiple version changes of these dependencies during their lifetime.

" *** " It is anticipated that this will be increased to Connext DDS 6.0.0 pending migration patches [7]_.

This document only captures the version at the first release of a ROS distribution and will not be updated as the dependencies move forward.
These versions are thus a low watermark.


Package manager use for dependencies:

- Ubuntu, Debian: apt
- MacOS: Homebrew, pip
- Windows: Chocolatey, pip


Build System Support:

- ament_cmake
- cmake
- setuptools


Motivation
==========

Expand All @@ -442,7 +550,11 @@ References and Footnotes
.. [4] Crystal ROS 2 Repos File
(https://github.com/ros2/ros2/blob/crystal/ros2.repos)
.. [5] Dashing ROS 2 Repos File
(https://github.com/ros2/ros2/blob/dashing/ros2.repos)
.. [6] Eloquent ROS 2 Repos File
(https://github.com/ros2/ros2/blob/master/ros2.repos)
.. [7] Connext DDS 6.0.0 Migration
(https://github.com/ros2/rmw_connext/pull/351)

Copyright
=========
Expand Down