ROS 2 Foxy Fitzroy遇见Ubuntu 20.04

新版ROS2即将发布,现在可以选择测试版,使用并无必要,正式版发布至少3-6个月各种基础功能包才能跟上。旧版ROS1发布进度明显慢于ROS2,推荐使用melodic或kinetic,如果您之前没有接触过ROS,请不要再学习ROS1了,毕竟相关技术和代码规范与ROS2差异巨大。重心应该在机器人相关应用和算法研究,不要过分依赖工具。

ROS 2 Foxy Fitzroy遇见Ubuntu 20.04_第1张图片

ROS 2 Foxy Fitzroy遇见Ubuntu 20.04_第2张图片

目前一共有440个包,远远少于dashing的800+。

 安装参考如下链接:

  • https://index.ros.org/doc/ros2/Installation/Foxy/

教程将全面适配dashing和foxy。

安装测试版ros2使用源:

  • deb http://packages.ros.org/ros2-testing/ubuntu focal main

安装正式版ros2使用源:

  • deb http://packages.ros.org/ros2/ubuntu focal main

 教程请优先参考第一手官方文档,更新很快:

  • https://index.ros.org/doc/ros2/Tutorials/

ROS 2 Foxy Fitzroy遇见Ubuntu 20.04_第3张图片

  • source /opt/ros/foxy/setup.bash 

ROS 2 Foxy Fitzroy遇见Ubuntu 20.04_第4张图片

 使用新立得安装工具包适合初学者,方便快捷。

ROS2 镜像使用帮助

新建 /etc/apt/sources.list.d/ros2-latest.list,内容为:

Debian/Ubuntu版本:  Ubuntu 20.04 LTS 

deb https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/ focal main

然后再输入如下命令,信任 ROS 的 GPG Key,并更新索引:

sudo apt install curl gnupg2
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update

- cmake
- setuptools

Foxy Fitzroy (May 2020 - May 2023)
----------------------------------

Targeted platforms:

+--------------+-----------------------+-------------------------+----------------------+--------------------+---------------+
| Architecture | Ubuntu Focal (20.04)  | MacOS Mojave (10.14)    | Windows 10 (VS2019)  | Debian Buster (10) | OpenEmbedded /|
|              |                       |                         |                      |                    | webOS OSE     |
+==============+=======================+=========================+======================+====================+===============+
|    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]     |   Tier 3 [s]  |
+--------------+-----------------------+-------------------------+----------------------+--------------------+---------------+
|    arm32     |     Tier 2 [d][a][s]  |                         |                      |     Tier 3 [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 |
|                          |                     |               | and OpenEmbedded            |                                      |
+--------------------------+---------------------+---------------+-----------------------------+--------------------------------------+
| rmw_cyclonedds_cpp       | Eclipse Cyclone DDS | Tier 1        | All Platforms               | 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.7

+-------------+-------------------------------------------------+--------------------------------------+
|             |                        Required Support         |        Recommended Support           |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| Package     |  Ubuntu Focal  |     MacOS**   |   Windows 10** | Debian Buster  | OpenEmbedded**      |
+=============+================+===============+================+================+=====================+
| CMake       |     3.16.3     |     3.14.4    |     3.14.4     |      3.13.4    | 3.16.1 / 3.12.2**** |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| EmPY        |                                      3.3.2                                             |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| Gazebo      |     11.0.0*    |     11.0.0    |      N/A       |      11.0.0*   |        N/A          |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| Ignition    |             Citadel*           |      N/A       |     Citadel*   |        N/A          |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| Ogre        |                                      1.10*                       |        N/A          |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| OpenCV      |     4.2.0      |     4.2.0     |     3.4.6*     |      3.2.0     |  4.1.0 / 3.2.0****  |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| OpenSSL     |     1.1.1d     |     1.1.1f    |     1.1.1f     |      1.1.1d    | 1.1.1d / 1.1.1b**** |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| Poco        |     1.9.2      |     1.9.0     |     1.8.0*     |      1.9.0     |        1.9.4        |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| Python      |     3.8.0      |     3.8.2     |     3.8.0      |      3.7.3     |  3.8.2 / 3.7.5****  |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| Qt          |     5.12.5     |     5.12.3    |     5.10.0     |      5.11.3    | 5.14.1 / 5.12.5**** |
+-------------+----------------+---------------+----------------+----------------+---------------------+
|                              |         **Linux only**                                                |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| PCL         |     1.10.0     |     N/A       |     N/A        |      1.9.1     |       1.10.0        |
+-------------+----------------+---------------+----------------+----------------+---------------------+
|                                **RMW DDS Milddleware Providers**                                     |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| Connext DDS |                              5.3.1              |               N/A                    |
+-------------+----------------+---------------+----------------+----------------+---------------------+
| Cyclone DDS |                                 0.5.1 (Eusebius)                                       |
+-------------+----------------+---------------+----------------+----------------+---------------------+
|  Fast-RTPS  |                                      1.10.0                                            |
+-------------+----------------+---------------+----------------+----------------+---------------------+

" * " 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.
The versions shown for OpenEmbedded are those provided by the 3.1 Dunfell release series; the versions provided by the other supported release series are listed here: https://github.com/ros/meta-ros/wiki/Package-Version-Differences .
Note that the OpenEmbedded releases series for which a ROS distro has support will change during its support time frame, as per the OpenEmbedded support policy shown here: https://github.com/ros/meta-ros/wiki/Policies#openembedded-release-series-support .
However, it will always be supported by least one stable OpenEmbedded release series.

" \**** " webOS OSE provides this different version.

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
- OpenEmbedded: opkg


Build System Support:

- ament_cmake
- cmake
- setuptools

 

你可能感兴趣的:(ROS 2 Foxy Fitzroy遇见Ubuntu 20.04)