ROS2 Dashing源码编译和安装
ROS2 Dashing源码编译和安装
安装前的准备
1 |
官方教程: 环境信息: |
可选项:
- 安装系统备份和恢复工具timeshift,避免发生灾难性错误后无法恢复,使用方法:链接
- 修改DNS(有助于避免安装过程中频繁出现的网络超时,如果你可以科学上网更好),教程链接
- 修改apt源(提高其它工具的下载速度)教程链接
搭建编译环境
ROS2在规划之初就约定了各个依赖的版本,具体请到此链接查看:REP 2000
我们使用的环境为18.04,所以对应的各个依赖项的版本如下:
搭建步骤
1. 设置语言环境
1 |
sudo locale-gen en_US en_US.UTF-8 |
ROS编译及运行需要将语言编码设置为UTF-8,中文系统可以不需要设置(未测试)
2. 添加ROS 2 apt仓库
1 |
#首先使用如下所示的apt授权我们的GPG密钥: #然后将存储库添加到您的源列表中: |
3. 安装开发工具和ROS工具
1 |
sudo apt update && sudo apt install -y \ |
4. 获取ROS 2代码
创建一个工作区并克隆所有存储库:
1 |
mkdir -p ~/ros2_dashing/src |
注:此步骤可能因为网络原因失败,多试几次
vcs是一个版本管理工具,你可以理解为它为git、svn等做了统一的封装
5. 使用rosdep安装依赖
1 |
sudo rosdep init |
注:在执行最后一步时可能会失败,rosdep的本质相当于一个安装脚本(多个 sudo apt install),所以失败后重新执行几次,直到提示所有安装操作都成功即可。
6. 在工作区中构建代码
1 |
cd ~/ros2_dashing/ |
这个指令是编译所有ROS packages,所以在执行过程中可能会出现错误,官方文档中给出的解决方案如下:
Note: if you are having trouble compiling all examples and this is preventing you from completing a successful build, you can use AMENT_IGNORE in the same manner as CATKIN_IGNORE to ignore the subtree or remove the folder from the workspace. Take for instance: you would like to avoid installing the large OpenCV library. Well then simply $ touch AMENT_IGNORE in the cam2image demo directory to leave it out of the build process.
翻译:
注意:如果在编译所有示例时遇到麻烦,并且这妨碍了您成功完成构建,则可以AMENT_IGNORE按照与CATKIN_IGNORE相同的方式使用,以忽略子树或从工作空间中删除文件夹。例如:您希望避免安装大型OpenCV库。那么,只需在demo目录中将其排除在构建过程之外即可。$ touch AMENT_IGNOREcam2image
我的解决方案:
重新单独构建失败的packages,指令如下:
colcon build --package-select [PKG_NAME]
有的失败的包可能并不需要,不必理会。
至此,所有编译安装完成。
环境设置
. ~/ros2_dashing/install/setup.bash
安装命令自动补全工具
sudo apt install python3-argcomplete
在一个终端中,获取安装文件的源代码,然后运行C ++ talker
:
. ~/ros2_dashing/install/local_setup.bash ros2 run demo_nodes_cpp talker
在另一个终端源中,安装文件,然后运行Python listener
:
. ~/ros2_dashing/install/local_setup.bash ros2 run demo_nodes_py listener
您应该看到talker
这是Publishing
消息的listener
说法以及这些消息的说法。这可以验证C ++和Python API是否正常工作。
备用编译器¶
使用gcc以外的其他编译器来编译ROS 2很容易。如果分别为工作的C和C ++编译器设置环境变量CC
和CXX
可执行文件,并重新触发CMake配置(通过使用--force-cmake-config
或删除要受影响的软件包),则CMake将重新配置并使用其他编译器。
锵¶
要将CMake配置为检测和使用Clang:
sudo apt install clang export CC=clang export CXX=clang++ colcon build --cmake-force-configure
待办事项:使用ThreadSanitizer,MemorySanitizer
保持最新¶
请参阅维护ROS 2的源签出以定期刷新源安装。
故障排除¶
故障排除技术可以在这里找到。
卸载¶
如果您按照上面的指示使用colcon安装了工作区,则“卸载”可能只是打开一个新终端而不是获取工作区
setup
文件的问题。这样,您的环境将表现为系统上没有安装Dashing。如果您还试图释放空间,则可以使用以下方法删除整个工作区目录:
rm -rf ~/ros2_dashing
ROS2 Dashing源码编译和安装相关推荐
- ROS Dashing源码编译和安装
ROS Dashing源码编译和安装 前置准备 安装前的准备 可选项: 搭建编译环境 搭建步骤 1. 设置语言环境 2. 添加ROS 2 apt仓库 3. 安装开发工具和ROS工具 4. 获取ROS ...
- ubuntu 环境下调试mysql源码_【转】Ubuntu 16.04下 Mysql 5.7.17源码编译与安装
Ubuntu 16.04下 Mysql5.7.17源码编译与安装 系统环境 一. 系统安装条件 1.cmake MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数. sudo ...
- 源码编译构建安装内核kernel
源码编译构建安装内核kernel 荣涛 2021年10月27日 文档修改日志 日期 修改内容 修改人 备注 2021年10月27日 创建 荣涛 2021年10月28日 添加可能的问题 荣涛 1. 引言 ...
- Atlas 2.2.0源码编译及安装步骤
Atlas 2.2.0源码编译及安装步骤 一.源码编译 1. 下载源码 2. 前置环境安装 3. 修改版本号 4. 修改源码中 atlas与kafka版本兼容问题 5. 开始编译 6. 问题锦集 二. ...
- make无法执行——源码编译、安装
在进行软件源码编译.安装时 ,出现make无法执行的情况下,是缺少基础开发包 执行命令即可: apt-get install build-essential
- Spark入门教程(二)Spark2.2源码编译及安装配置
Spark2.2源码下载 点此进入官网下载地址: 下载Spark spark官网下载截图 //下载好后用传输工具传输到我们的linux上并解压缩 tar -zxvf spark-2.2.0.tgz 源 ...
- Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误
25. 集群搭建 25.1 HADOOP集群搭建 25.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据 ...
- nginx 源码编译、安装
nginx 源码编译安装 下载Nginx安装包,Nginx 官网下载,并解压 cd /usr/local/src wget http://nginx.org/download/nginx-1.21.5 ...
- 源码编译、安装libffi
1. 下载源码编译安装 wget ftp://sourceware.org/pub/libffi/libffi-3.3.tar.gz cd libffi-3.3 ./configure --prefi ...
最新文章
- eclipse 重启/打开内置浏览器
- Mac下搭建solr搜索引擎与PHP扩展开发(上)
- python怎么打开交互式窗口-使用pycharm进行交互式shell调试
- java 级联下拉列表_java 下拉框级联(年月日级联)
- mysql getline_getMessage(),getFile,getLine获取异常用法
- NOIP2017 列队——动态开点线段树
- 关于mysql中select出数据未排序问题
- WPF事件中的sender就是事件源
- DM***+GET***测试
- 围棋对杀,为何总是只差一气
- 浅谈一下对runloop的理解
- 深入理解计算机系统 第二章要点
- 去掉txt文本某些字符
- png为啥在html显示不出来,网页无法显示PNG图片的解决方法
- JPA报 Error executing DDL
- 业务与信令-第5章VoLTE原理
- Powermill汽车件模具五轴数控CNC编程视频教程
- 彻底解决WPS右键没有新建文件的问题
- OpenSIPS 核心函数
- HDU 2190 悼念512汶川大地震遇难同胞——重建希望小学
热门文章
- Linux中查看redis版本
- 2012中兴软件笔试 回忆录
- c语言筛选奇数怎么表示,在excel表格中,有列数据1至100,如何筛选奇数或偶数?-excel怎么筛选奇数,excel按奇偶数筛选...
- zabbix mysql 密码_zabbix小结(十二)zabbix密码修改
- Qt封装TDMS文件实现动态添加组以及动态写入通道数据
- Firefly-RK3399 Linux内核编译
- JPG转CAD,JPG图片如何转换成CAD图纸?
- 中考计算机考试试题2018,2017年中考信息技术试题及答案
- 如何使用Audition消除音乐中的人声
- 电脑如何设置定时任务,定时执行