ROS 2 Dashing Diademata安装和使用文档(含Linux、Windows和OS X)_ros2dashing版本install中没有bash文件-程序员宅基地

技术标签: ROS2学习笔记与高校课程分享  ROS 2 Dashing Diademata  

全部ROS 2课程参考资料下载链接:https://download.csdn.net/download/zhangrelay/11751608 

在win10安装和使用ROS 2 Dashing:https://blog.csdn.net/ZhangRelay/article/details/101685013

目前,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.


 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZhangRelay/article/details/90695078

智能推荐

npm安装报错npm ERR syscall spawn git解决方案_npm err! syscall spawn git-程序员宅基地

文章浏览阅读1.6w次,点赞10次,收藏32次。​错误内容 npm ERR! code ENOENT npm ERR! syscall spawn git npm ERR! path git npm ERR! errno -4058 npm ERR! enoent An unknown git error occurred npm ERR! enoent This is related to npm not being able to find a file.真人不说假话,困了我一个星期,..._npm err! syscall spawn git

一个技术总监的忠告:精通那么多技术为何还是做不好一个项目?-程序员宅基地

文章浏览阅读2.8k次。编写高质量可维护的代码既是程序员的基本修养,也是能决定项目成败的关键因素,本文试图总结出问题项目普遍存在的共性问题并给出相应的解决方案。1. 程序员的宿命?程序员的职业生涯中难免遇到烂项..._一个技术总监的忠告:精通那么多技术为何还是做不好一个项目?

React报错TypeError: Cannot read property ‘XX‘ of undefined,问题的解决_reactcannot read properties of undefined (reading -程序员宅基地

文章浏览阅读1.4w次,点赞9次,收藏8次。在使用react进行项目开发踩坑记录先说情况:使用接口从后台请求到了数据const [data, setData] = useState({});const loadClueBase = async() => { let res = await loadClueBaseInfo(); setData(res); console.log(res); }; useEffect(() => { loadClueBase(); }, []);使用u_reactcannot read properties of undefined (reading 'filter') typeerror: canno

C D S UeLog 处理RNTI,ENBID,CELLID的方法_enb id如何获取-程序员宅基地

文章浏览阅读1.8k次。思路根据目前的导出log格式,进行补充 3个信息 #!perl -wuse strict;use Data::Dumper;use File::Basename;my $BinPath = (map{s#\n##g;$_} `cd`)[0];$BinPath .= "\\";my $OutPutDir = $BinPath."..\\result\\";_enb id如何获取

ORACLE 时间间隔计算_oracle 计算日期间隔-程序员宅基地

文章浏览阅读1.3k次。.Oracle中两个Date相减,返回值单位为天。 如果想要秒可以:(date1-date2)*24*3600,时分同理。 如果想要月年等,这种情况还不知道怎么弄。2.Oracle的mod() 最近有个应用: 有个表,很大,里面的数据是每秒一条,有个插入时间列。现在有3个条件:starttime,endtime,intervaltime_oracle 计算日期间隔

Qt MinGW配置使用opencv 出现程序异常崩溃_qt opencv imread闪退-程序员宅基地

文章浏览阅读3.6k次。项目场景:Qt MinGW配置使用opencv 出现程序异常崩溃(imshow导致的)问题描述:Qt MinGW配置使用opencv 出现程序异常崩溃一般情况是环境变量没有配置好,需要在path中加自己编译过的opencv MINGW版本的库,具体可以参考:官网或者参考opencv学堂但我的错误不一般,两台电脑一样的环境变量,一样的代码,有一台就是不行。 原因分析:经过两三天疯狂的调试,甚至重新编译opencv源码,终于找到是哪里出问题了,原来是 用上 cv::imshow("_qt opencv imread闪退

随便推点

Win32 API消息函数:DispatchMessage_win32 console dispatchmessage-程序员宅基地

文章浏览阅读2k次。Win32 API消息函数:DispatchMessage函数功能:该函数调度一个消息给窗口程序。通常调度从GetMessage取得的消息。 函数原型:LONG DispatchMessage(CONST MSG★lpmsg); 参数: lpmsg:指向含有消息的MSG结构的指针。 返回值:返回值是窗口程序返回的值。尽管返回值的含义依赖于被调度的消息,但返回值通常被忽略。 _win32 console dispatchmessage

keil环境下stm32下载和擦除程序对Flash的影响_keil gd32 下载误擦除-程序员宅基地

文章浏览阅读1w次,点赞4次,收藏8次。一、烧录两个程序,读取FLASH(实测结果:两个区域都有程序,跟烧录的顺序没有关系)1、首先 烧录0x08004000开始的程序读取FLASH:只有0x08004000处有数据2、烧写0x08000 0000程序读取FLASH:0x08000000和 0x08004000处都有数据二、擦除Flash(实测结论:擦除一个,即擦除所有的芯片,跟顺序无关。不更_keil gd32 下载误擦除

layui table内嵌入select_layui tableselect-程序员宅基地

文章浏览阅读2.2k次。layui数据表格没有支持select的参数,因此需要手动加入模板进去到td中,具体使用方法如下HTML<script type="text/html" id="selectTool"> <select name="materialtype" lay-filter="materialtype" id="materialtype"> <option value="">请选择或输入</option> {{# layui.ea_layui tableselect

UGUI实现图片特效轮播,使用插件DOTWEEN_ugui实现图片特效轮播,使用插件dotween-程序员宅基地

文章浏览阅读1.1w次,点赞5次,收藏36次。今天我们来用unity3d的UGUI来实现图片的轮播,也就是经常在一些视频网站上的一些图片轮播。这次将使用到动画插件DOTWEEN,主要目的也是为了熟悉Dotween这个插件。图片轮播的原理是比较简单的,我将实现图片特效轮播,也是看了别人的网站后想在UGUI上面实现以下,正好刚刚学习了Dotween,拿来练练手。原理: 2张图片叠加在一起,且开始状态是2张图片都为一样的图片,切换之前,将后面的图片先_ugui实现图片特效轮播,使用插件dotween

OpenMV与树莓派3串口通信(UART)_openmv能连树莓派-程序员宅基地

文章浏览阅读9.1k次,点赞11次,收藏108次。这里是在一块前人用过的树莓派3上做的事情,所以有些配置步骤是没有或者说没用的。在此基础上,为了某个更远大的目标,需要我先实现OpenMV与树莓派之间的通信。1.树莓派想上网前人似乎已经配置过..._openmv能连树莓派

AD中FSMO五大角色的介绍及操作(转移与抓取)_五大角色强占完后的dns-程序员宅基地

文章浏览阅读313次。AD中FSMO五大角色的介绍及操作(转移与抓取)https://blog.csdn.net/jackhong520/article/details/79024730?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase图片抓取_五大角色强占完后的dns

推荐文章

热门文章

相关标签