前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ROS 2 Dashing Diademata安装和使用文档(含Linux、Windows和OS X)

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

作者头像
zhangrelay
发布2019-06-14 17:44:52
1.9K0
发布2019-06-14 17:44:52
举报

目前,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支持的语言环境,应该没问题。

代码语言:javascript
复制
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密钥:

代码语言:javascript
复制
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:

然后将库添加到源列表:

代码语言:javascript
复制
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库缓存。

代码语言:javascript
复制
sudo apt update

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

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

代码语言:javascript
复制
sudo apt install ros-dashing-desktop

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

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

代码语言:javascript
复制
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。

代码语言:javascript
复制
sudo apt install python3-argcomplete

Sourcing the setup script 导入配置脚本

Set up your environment by sourcing the following file.

通过如下命令设置环境。

代码语言:javascript
复制
source /opt/ros/dashing/setup.bash

You may want to add this to your .bashrc.

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

代码语言:javascript
复制
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的支持:

代码语言:javascript
复制
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

代码语言:javascript
复制
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

or from the ROS 2 build repository host

代码语言:javascript
复制
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.

代码语言:javascript
复制
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.


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年05月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Binary packages 安装包
  • Building from source 源码编译
  • Resources 资源
  • Setup Locale 区域设置
  • Setup Sources 设置安装源
  • Install ROS 2 packages 安装ROS 2包
  • Environment setup 环境设置
  • (optional) Install argcomplete 安装命令补全工具argcomplete
  • Sourcing the setup script 导入配置脚本
  • Install additional RMW implementations 安装附加RMW实现
  • Install additional packages using ROS 1 packages 使用ROS 1功能包等
  • Build your own packages 编译自定义功能包
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档