专栏首页机器人课程与技术ROS 2 Dashing Diademata安装和使用文档(含Linux、Windows和OS X)

ROS 2 Dashing Diademata安装和使用文档(含Linux、Windows和OS X)

目前,ROS 2最常见的三个版本(期待国产“ROS”早日普及):

ROS 2 Bouncy Bolson

ROS 2 Crystal Clemmys

ROS 2 Dashing Diademata

2018年7月发布

2018年12月发布

2019年5月发布

支持到2019年7月

支持到2019年12月

支持到2021年5月

 对于ROS 2,官方建议尽可能使用最新版本。个人推荐ROS 2 Dashing Diademata,毕竟支持时间较长,2年。

ROS 2 Bouncy/Crystal/Dashing可共存!可以同时安装在系统中使用。

关于更多详细信息,请参考:ROS 2.0 Target Platforms

对应ROS 2 Dashing Diademata的安装和使用,支持安装包和源码编译,同步支持Linux、Windows和OS X。

ROS 2系列教程侧重基础内容和资讯信息

ROS 1系列教程将全面深度融合AI主题进行更新

Binary packages 安装包

We provide ROS 2 binary packages for the following platforms:

为以下平台提供ROS 2安装包:

Building from source 源码编译

We support building ROS 2 from source on the following platforms:

持在以下平台上从源代码编译ROS 2:


Resources 资源

Setup Locale 区域设置

Make sure you have a locale which supports UTF-8. If you are in a minimal environment, such as a docker container, the locale may be something minimal like POSIX. We test with the following settings. It should be fine if you’re using a different UTF-8 supported locale.

确保支持UTF-8的语言环境。如果处于最小的环境中,例如docker容器,则语言环境可能与POSIX一样精简。使用以下设置进行测试。如果使用不同的UTF-8支持的语言环境,应该没问题。

sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

Setup Sources 设置安装源

To install the Debian packages you will need to add our Debian repository to your apt sources. First you will need to authorize our gpg key with apt like this:

要安装Debian软件包,需要将Debian库添加到apt源代码中。首先,需要使用以下方式获取授权的gpg密钥:

sudo apt update && sudo apt install curl gnupg2 lsb-release
curl http://repo.ros2.org/repos.key | sudo apt-key add -

And then add the repository to your sources list:

然后将库添加到源列表:

sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

Install ROS 2 packages 安装ROS 2包

Update your apt repository caches after setting up the repositories.

设置库后更新apt库缓存。

sudo apt update

Desktop Install (Recommended): ROS, RViz, demos, tutorials.

桌面安装(推荐):ROS、RViz、案例、教程。

sudo apt install ros-dashing-desktop

ROS-Base Install (Bare Bones): Communication libraries, message packages, command line tools. No GUI tools.

ROS-Base安装(裸版):通信库、消息包、命令行工具、没有GUI工具。

sudo apt install ros-dashing-ros-base

See specific sections below for how to also install the ros1_bridgeTurtleBot packages, or alternative RMW packages.

有关如何安装ros1_bridgeTurtleBot软件包其他RMW软件包信息,请参阅下面的特定部分。

Environment setup 环境设置

(optional) Install argcomplete 安装命令补全工具argcomplete

ROS 2 command line tools use argcomplete to autocompletion. So if you want autocompletion, installing argcomplete is necessary.

ROS 2命令行工具使用argcomplete来自动完成补全。因此,如果想要自动完成,则需要安装argcomplete。

sudo apt install python3-argcomplete

Sourcing the setup script 导入配置脚本

Set up your environment by sourcing the following file.

通过如下命令设置环境。

source /opt/ros/dashing/setup.bash

You may want to add this to your .bashrc.

通过如下命令添加到.bashrc。同样适用于zshrc等。

echo "source /opt/ros/dashing/setup.bash" >> ~/.bashrc

Install additional RMW implementations 安装附加RMW实现

By default the RMW implementation FastRTPS is used. If using Ardent OpenSplice is also installed.

To install support for OpenSplice or RTI Connext on Bouncy:

默认情况下,使用RMW实现FastRTPS。如果还使用了Ardent OpenSplice。

在Bouncy上安装对OpenSplice或RTI Connext的支持:

sudo apt update
sudo apt install ros-dashing-rmw-opensplice-cpp # for OpenSplice
sudo apt install ros-dashing-rmw-connext-cpp # for RTI Connext (requires license agreement)

By setting the environment variable RMW_IMPLEMENTATION=rmw_opensplice_cpp you can switch to use OpenSplice instead. For ROS 2 releases Bouncy and newer, RMW_IMPLEMENTATION=rmw_connext_cpp can also be selected to use RTI Connext.

If you want to install the Connext DDS-Security plugins please refer to this page.

通过设置环境变量,RMW_IMPLEMENTATION=rmw_opensplice_cpp可以切换为使用OpenSplice。对于ROS 2发布Bouncy和更新版本,RMW_IMPLEMENTATION=rmw_connext_cpp也可以选择使用RTI Connext。

如果要安装Connext DDS-Security插件,请参阅此页面

Install additional packages using ROS 1 packages 使用ROS 1功能包等

The ros1_bridge as well as the TurtleBot demos are using ROS 1 packages. To be able to install them please start by adding the ROS 1 sources as documented here.

If you’re using Docker for isolation you can start with the image ros:melodic or osrf/ros:melodic-desktop (or Kinetic if using Ardent). This will also avoid the need to setup the ROS sources as they will already be integrated.

Now you can install the remaining packages:

ros1_bridge还有TurtleBot演示使用ROS 1包。为了能够安装它们,请首先添加ROS 1源,如此处所述

如果使用Docker进行隔离,则可以从图像开始,ros:melodic或者osrf/ros:melodic-desktop如果使用Ardent则使用Kinetic)。这也将避免设置ROS源的需要,因为它们已经被集成。

现在可以安装剩余的包:

. code-block:: bash

sudo apt update sudo apt install ros-dashing-ros1-bridge

The turtlebot2 packages are not currently available in Dashing.

目前,Dashing中不提供turtlebot2软件包。

Build your own packages 编译自定义功能包

If you would like to build your own packages, refer to the tutorial "Using Colcon to build packages".

如果想编译自己的包,请参阅教程“使用Colcon编译包”


其他系统安装和使用说明参考官方原文文档


其他资讯(来源ROS官网)

We’re especially excited to let you know that Dashing Diademata is the first long(er)-term support (LTS) release for ROS 2. Dashing Diademata是ROS 2的第一个长期限支持(LTS)版本。After several years of development, and following a big boost in productivity over the past half year from new contributors, including the TSC membership, we’ve reached a level of maturity with ROS 2 such that we’re extending the support period for Dashing to be two years, through May 2021.

So whether you’re looking for a platform on which to build a new application, or planning to migrate an existing ROS 1 system, Dashing should be your starting point. Over the coming two years, we’ll be providing patches for Dashing. While we can’t guarantee API compatibility between ROS distributions, for the updates to Dashing we aim to maintain API and ABI stability. This matches what we’ve done in the past with ROS 1 LTS distributions.

To get an idea of what’s in this release and how to update existing code from ROS 2 Crystal, be sure to read the Dashing release page.

Here are a few features and improvements we would like to highlight in this release:

  • Components are now the recommended way to write your node. They can be used standalone as well as being composed within a process and both ways are fully support from launch files.
  • 现在,组件是编写节点的推荐方法。它们既可以单独使用,也可以在一个进程中组合使用,并且两种方式都完全支持launch文件。
  • The intra-process communication (C++ only) has been improved - both in terms of latency as well as minimizing copies.
  • The Python client library has been updated to match most of the C++ equivalent and some important bug fixes and improvements have landed related to memory usage and performance.
  • Parameters are now a complete alternative to dynamic_reconfigure from ROS 1 including constraints like ranges or being read-only.
  • By relying on (a subset of) IDL 4.2 for the message generation pipeline it is now possible to use .idl files (beside .msg / .srv / .action files). This change comes with support for optional UTF-8 encoding for ordinary strings as well as UTF-16 encoded multi-byte string.
  • Command line tools related to actions and components.
  • Support for Deadline, Lifespan & Liveliness QoS
  • MoveIt 2.0 alpha release
  • MoveIt 2.0 alpha版本
  • OpenEmbedded Thud (2.6)/webOS OSE as Tier 3 supported platform

We’re looking forward to getting your feedback and contributions, and to hearing about your new applications based on Dashing! If you have demonstrations of Dashing from your own work that you can share, feel free to post in this thread.

We also invite you to release your ROS 2 packages in Dashing! A huge thanks to all those who’ve already participated in our pre-release testing and packaging effort.

And finally the name of the next ROS 2 release scheduled for November 2019 will be:

Eloquent Elusor

In light of the build.ros.org security issue we have decided to retire the key previously used to sign ROS 2 apt repositories.

We believe the ROS 2 repositories to be intact. We have no reason to believe that any malicious access or use of the GPG key occurred. To be abundantly cautious we are updating the repository signing key to curb future abuse of the potentially exposed key but the packages in the repository are unchanged. When we perform the first sync for Dashing later today it will update the signing key for all ROS 2 repositories.

Adding the new repository key

You may get the key from the GPG keyserver network, which requires apt-key and GnuPG

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

or from the ROS 2 build repository host

curl http://repo.ros2.org/repos.key | sudo apt-key add -

Removing the old key from your apt keyring

This key is still used for ROS 1 packages on packages.ros.org and the key has not been updated there yet. Removing the key will prevent updates from the ROS and ROS testing (shadow fixed) repositories until they are redeployed.

If you’re only using packages from ROS 2, you can safely remove this key now. No package updates will be pushed to repositories signed with this key. Unless you need to install ROS 1 packages not previously installed on your system, you could remove it now to be as safe as possible.

sudo apt-key del 421C365BD9FF1F717815A3895523BAEEB01FA116

After the ROS 1 repository has been redeployed there will be no future legitimate use of this key and you should remove it from your systems. When that redeployment occurs we will make another announcement and update this thread.


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ROS机器人程序设计(原书第2版)补充资料 (零) 源代码、资料和印刷错误修订等 2017年02月22日更新

    可参考:https://www.shiyanlou.com/courses/854  邀请码 U23ERF8H

    zhangrelay
  • ROS(1和2)机器人操作系统相关书籍、资料和学习路径

    ROS发展10年了,已经逐渐成为通用的机器人操作系统标准。ROS 2相关资料链接:http://blog.csdn.net/zhangrelay/article...

    zhangrelay
  • 在Ubuntu 18.04 LTS安装ROS 2 Bouncy版机器人操作系统

    ROS 1和ROS 2同步开发发行,目前最新ROS 1的版本号为M,而ROS 2的版本号为B,ROS 2 Bouncy正式发布。

    zhangrelay
  • 在Ubuntu 18.04 LTS安装ROS 2 Bouncy版机器人操作系统

    ROS 1和ROS 2同步开发发行,目前最新ROS 1的版本号为M,而ROS 2的版本号为B,ROS 2 Bouncy正式发布。

    zhangrelay
  • 2018年智能机器人技术综合实训专题一系统基础

    此部分对应教材:《ROS机器人项目开发11例》,采用翻转课堂模式,并未按书中章节顺序授课。

    zhangrelay
  • ROS机器人程序设计(原书第2版)及完整可运行例子仿真demo代码

    https://github.com/AaronMR/Learning_ROS_for_Robotics_Programming_2nd_edition

    用户1908973
  • Science: 位于人类听觉皮层的语调编码

    来自美国加州大学旧金山分校的研究人员C.Tang等人近期在《Science》杂志上发文,他们使用颅内电极记录癫痫病人听具有不同声学特征(如声调轮廓,声学内容,音...

    用户1279583
  • JS-完美运动框架(封装)

    xing.org1^
  • winform窗体MaximizeBox

    跟着阿笨一起玩NET
  • go微服务系列之一

    hey,好久没有发博客了,最近换了新东家有点忙(其实是忙着学习,不是工作,毕竟为了money放弃了较擅长的java投向了go),很多要学的;这是在新公司接触微服...

    李海彬

扫码关注云+社区

领取腾讯云代金券