前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ROS 2 Foxy Fitzroy遇见Ubuntu 20.04

ROS 2 Foxy Fitzroy遇见Ubuntu 20.04

作者头像
zhangrelay
发布2020-08-02 22:26:18
1.5K0
发布2020-08-02 22:26:18
举报

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

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

 安装参考如下链接:

教程将全面适配dashing和foxy。

安装测试版ros2使用源:

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

安装正式版ros2使用源:

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

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

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

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

ROS2 镜像使用帮助

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

Debian/Ubuntu版本:  Ubuntu 20.04 LTS 

代码语言:javascript
复制
deb https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/ focal main

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

代码语言:javascript
复制
sudo apt install curl gnupg2
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update

代码语言:javascript
复制
- 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
代码语言:javascript
复制
+-------------+-------------------------------------------------+--------------------------------------+
|             |                        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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ROS2 镜像使用帮助
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档