ROS2最新版本Dashing Diademata安装教程,并且Run你的第一个经典例程“小海龟”

本文主要是介绍ROS2最新版本Dashing Diademata安装教程,并且Run你的第一个经典例程“小海龟”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装系统及一些包无疑是让人头大的事,你会遇到许多莫名其妙的报错,写这篇文章的主要原因也在于此,希望对你有所帮助。
此教程的系统环境是VMware Workstation 15 Pro 虚拟机 + ubuntu 18.04

玩笑时刻:最近有点痴心于明朝衰败原因的历史,阅读了一些历史资料和书籍,属于边整理刚刚结束的ROS2019暑期学校资料,边看历史资料的繁忙阶段,另外本文第三部分主要也是来自于本次暑期学校作报告的一个大牛的博客,关注ROS技术的同学也可以关注一下华东师范大学主办的ROS暑期学校,每年举办一次。也不知道CSDN是否可以发布历史人文类的博客,或者找个类似的平台写写历朝兴衰史的分析类的文章来打发时间(hhhhhh,或许以后老了可以完成这个转行人文历史的心愿)

一. 更换国内源

第一步挺重要的,自己测试过,使用默认的源虽然可以获取到Ros-Dashing安装包并开始安装,但最后会有几个小的依赖包无法安装。

1.复制源文件备份,以防万一

我们要修改的文件是sources.list,它在目录/etc/apt/下,sources.list是包管理工具apt所用的记录软件包仓库位置的配置文件,同样类型的还有位于同目录下sources.list.d文件下的各种.list后缀的各文件。

命令如下:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2.编辑源列表文件

命令如下:(也可使用gedit,即sudo gedit /etc/apt/sources.list)

sudo vim /etc/apt/sources.list

3.在此源列表文件中添加源, 我添加的是中科大的源,另外还有清华源、阿里源等等,可参考此篇博客:https://blog.csdn.net/xiangxianghehe/article/details/80112149

##中科大源deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

4.更新软件列表

sudo apt-get update

二、安装ROS2 Dashing版本

  1. 区域设置
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

2.设置安装源

sudo apt update && sudo apt install curl gnupg2 lsb-release
curl http://repo.ros2.org/repos.key | sudo apt-key add -
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'

3.安装ROS2-Dashing包

sudo apt update
sudo apt install ros-dashing-desktop

4.安装colcon(ROS2中的编译工具,与ROS1中的catkin_make作用类似)以及命令补全工具

sudo apt install  python3-colcon-common-extensions
sudo apt install python3-argcomplete (命令补全工具)

5.导入配置脚本

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

6.安装附加RMW实现(关于PMW可参考 https://www.ncnynl.com/archives/201801/2262.html)

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)

7.ros_dashing_ros1_bridge(可实现ROS1与ROS2通信的一个包)

为了安装此包,应该先添加ROS1的源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update

然后即可安装bridge

sudo apt install ros-dashing-ros1-bridge

三. 使用ROS2运行“小海龟”

此部分来自于 zhangrelay:机器人操作系统二(ROS2)- 启程 Departure
原文链接:https://blog.csdn.net/ZhangRelay/article/details/98627866?utm_source=app

创建工作空间,下载例程并编译

mkdir  ~/ros2_ws
git clone https://github.com/zhangrelay/ros2_tutorials
cd ros2_tutorials
colcon build

设置环境变量,设置后即可在其他路径命令行中打开此例程中的demo

  echo "source /home/yandc/ros2_ws/ros2_tutorials/install/setup.bash " >> ~/.bashrcsource ~/.bashrc

可以使用下面的常用命令运行以及查看例程
ros2 run turtlesim turtlesim_node (运行小海龟仿真)
ros2 topic list (查看topic)
ros2 run turtlesim draw_square (运行小海龟画矩形)
ros2 topic echo /turtle1/pose (查看pose节点的信息)

另外作者也给出了一个思考题:回顾roslaunch, 写一个ros2 launch,同时启动turtlesim_node和draw_spuare

实现此功能操作过程如下

cd ~/ros2_ws/ros2_tutorials/turtlesim/launch
vim draw_square.launch.py

在打开的draw_square.launch.py文件中添加下面代码

from launch import LaunchDescription
import launch_ros.actionsdef generate_launch_description():return LaunchDescription([launch_ros.actions.Node(node_namespace= "ros2", package='turtlesim', node_executable='turtlesim_node', output='screen'),launch_ros.actions.Node(node_namespace= "ros2", package='turtlesim', node_executable='draw_square', output='screen'),])

然后运行

ros2 launch draw_square.launch.py

运行结果如下:

在这里插入图片描述
运行很长时间的结果(可以查看源码draw_square.cpp,可以发现在每次画完矩形后都会偏移一定角度继续画矩形,积累下来就会出现下图所示结果)
在这里插入图片描述
比较权威的资料:ROS2官方文档与教程:https://index.ros.org/doc/ros2/


2019年8月8日
西安市碑林区沙坡村职业技术学院

这篇关于ROS2最新版本Dashing Diademata安装教程,并且Run你的第一个经典例程“小海龟”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/322698

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装