ROS2学习之旅(2)——配置ROS2环境
ROS2依赖于使用shell(终端)环境组合工作空间的概念。工作空间也就是‘workspace’是一个ROS术语指的是系统上使用ROS2进行开发的位置,也就是编写代码的地方。ROS2系统的安装目录称为'underlay',自己创建的工作空间称为'overlay'。我们可以通过source不同空间的环境变量脚本来更换所使用的workspace,包括ROS2的版本。在安装完毕ROS2之后(读者可以自行百度安装方法,推荐源码方式安装),需要对bash启动脚本进行设置。以下内容仅针对Linux系统。如果给您带来帮助,希望能给点个关注,以后还会陆续更新有关机器人的内容,点个关注不迷路~欢迎大家一起交流学习。
1.source一下setup文件
当你需要运行ROS 2命令,你需要在每一个新shell上运行如下命令:
source /opt/ros/foxy/setup.bash
后面的文件位置为ROS2的安装位置。
2.自动source
为了避免每次在新打开的shell进行source操作,可以将命令添加到shell的启动脚本里。在终端运行:
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
如果撤销此操作,直接打开.bahrc文件,删掉添加的内容即可。
3.自动进入工作区(不常用)
colcon_cd命令可以快速的将shell的当前工作目录更改为包的目录。以下为示例,colcon_cd some_ros_package会自动shell的当前工作目录更改为~/ros2_install:
echo "source /usr/share/colcon_cd/function/colcon_cd.sh" >> ~/.bashrc
echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc
4.检查环境变量是否设置成功
在shell运行:
printenv | grep -i ROS
检查变量ROS_DISTRO和ROS_VERSION是否设置。如果设置好了,则终端输出:
ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_DISTRO=foxy
如果没有正确设置,则检查ROS2的安装路径是否正确。
5.总结
在使用之前,需要正确配置ROS2开发环境。 这可以通过两种方式实现:在打开的每个新shell中source安装文件的源代码,或者将source命令添加到启动脚本中。 如果在定位或使用带有ROS 2的包时遇到任何问题,那么应该做的第一件事是检查环境变量,并确保被设置为想要的版本。
都看到这了,点个推荐再走吧~
未经允许,禁止转载。
ROS2学习之旅(2)——配置ROS2环境的更多相关文章
- ROS2学习之旅(4)——理解ROS2 Graph中的节点
ROS(2)图(ROS(2) graph)是一个同时处理数据的基于ROS2元素的网络,它包含了所有的可执行文件以及它们之间的连接.图中的基本元素包括:节点(nodes).话题(topics).服务(s ...
- ROS2学习之旅(12)——创建工作空间
workspace(工作空间)是包含ROS2 packages(包)的文件夹.在使用ROS 2之前,有必要在终端中source一下ROS 2的安装工作区,这样就可以在该终端中使用ROS 2的软件包. ...
- ROS2学习之旅(1)——初识ROS2
本系列用来记录ROS2的学习过程,有错误或者不合理的地方请大家指正.由于博主具有ROS1的学习经历,会添加一些与ROS1的一些对比,当然这对于ROS2本身的学习内容没有丝毫影响,欢迎大家积极与我在评论 ...
- 【SSH学习笔记】—从配置Struts1环境到简单实例
以下我将从一个简单点的计算器实例,介绍struts1的环境配置,以及其重要的两个核心类:ActionForm和Action 简单计算器实现思路: 1.提供一个输入界面,输入两个数字和运算符(+.-. ...
- 踩坑之旅:配置 ROS 环境
以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16660252.html 最近在学习机器人相关的导航算法, ...
- Java学习笔记之linux配置java环境变量(三种环境变量)
0x00 压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车 ...
- 假期学习【二】配置Scala环境(Ubuntu)以及配套Scala编程实验
1.配置Scala环境所需要的所有命令(Ubuntu系统下) 其中scala-2.13.1版本在官网:https://www.scala-lang.org/download/ 下载 2.出现该提示 ...
- ROS2学习之旅(13)——创建ROS2 功能包
一个功能包可以被认为是ROS2代码的容器.如果希望能够管理代码或与他人共享代码,那么需要将其组织在一个包中.通过包,可以发布ROS2工作,并允许其他人轻松地构建和使用它. 在ROS2中,创建功能包使用 ...
- ROS2学习之旅(15)——编写简单的服务和客户节点(C++)
当节点使用服务进行通信时,发送数据请求的节点称为客户节点,响应请求的节点称为服务节点.请求和响应的结构由.srv文件决定. 本文的例子是一个简单的整数加法系统:一个节点请求两个整数的和,另一个节点响应 ...
随机推荐
- [TcaplusDB知识库]TcaplusDB客户端及常用命令
数据库大都支持命令行访问,TcaplusDB也不例外,通过安装TcaplusDB客户端,您可以方便快捷地从命令行管理与访问数据库. TcaplusDB客户端 首先在 TcaplusServiceApi ...
- error – Public key for *.rpm is not installed (--nogpgcheck)
docker容器删除的东西比较多,有很多东西都没有,配置上源后发现有也问题 第一是源的选择不对应系统版本,第二是找不到gpgcheck文件 如果一时半会找不到gpgchenck file,使用 --n ...
- LESS语法学习笔记
LESS 通过编写less文件来快速生成css文件,对css的语法进行了扩展 Less语法 注释 单行注释不会被编译,多行才会被编译 变量 less:定义变量用@ scss:定义变量用$ @num: ...
- pyqt安装
一.安装PyQt5 pip install PyQt5 二.安装PyQt-tools pip install PyQt-tools *注:mac不需要安装PyQt-tools,能够正常使用,只支持Wi ...
- Question&&Answer
1.使用Navicat连接Ubuntu上面的MySql数据库失败 解决办法:Navicat版本的问题,尝试换用更高版本的Navicat解决了问题(当时使用了Navicat Premium_11.2.7 ...
- 批量执行异步任务CompletionService
批量执行异步任务CompletionService 核心思想,就是将异步结果放入到阻塞队列中,然后再消费队列,实现异步任务批量执行 接口方法说明 Future<V> submit(Call ...
- Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评
新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...
- 全景分割:CVPR2019论文解析
全景分割:CVPR2019论文解析 Panoptic Segmentation 论文链接: http://openaccess.thecvf.com/content_CVPR_2019/papers/ ...
- 行人检测与重识别!SOTA算法
行人检测与重识别!SOTA算法 A Simple Baseline for Multi-Object Tracking, Yifu Zhang, Chunyu Wang, Xinggang Wang, ...
- 用于ONNX的TensorRT后端
用于ONNX的TensorRT后端 解析ONNX模型以使用TensorRT执行. 另请参阅TensorRT文档. 有关最近更改的列表,请参见changelog. 支持的TensorRT版本 Maste ...