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 ...
最新文章
- C# DataTable 转换成ListT
- io分析神器blktrace
- 优化缩短关中断的时间
- java 画图保存图片_将绘图保存到图像文件,而不是使用Matplotlib显示它
- std::get(std::tuple)
- 网络编程3之TCP/IP协议
- php接口调用实例源代码,小蚂蚁学习APP接口开发(7)—— APP接口实例——读取缓存方式开发APP接口的代码案例...
- 【STM32】DMA相关函数和类型
- Django的Field(字段)
- IntelliJ IDEA 中配置、使用 SVN
- linux必备工具,Linux装机必备工具
- easycode不推荐使用_为什么MySQL不推荐使用uuid或者雪花id作为主键?
- java邮箱找回密码_java实现邮箱找回密码 简单邮件
- plsql oracle client没有正确安装(plsql连接远程数据库)
- 对springboot整合mybatis -- 不一样的看法
- 小白系统初始化配置资源失败怎么办
- Idea2021激活码
- 城市内涝及桥洞隧道积水在线监测系统
- 男は失恋夜盗11台奔スポーツカーエンブレム腹いせ(写真)
- 数据挖掘与机器学习:机器学习 --- 决策树