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环境的更多相关文章

  1. ROS2学习之旅(4)——理解ROS2 Graph中的节点

    ROS(2)图(ROS(2) graph)是一个同时处理数据的基于ROS2元素的网络,它包含了所有的可执行文件以及它们之间的连接.图中的基本元素包括:节点(nodes).话题(topics).服务(s ...

  2. ROS2学习之旅(12)——创建工作空间

    workspace(工作空间)是包含ROS2 packages(包)的文件夹.在使用ROS 2之前,有必要在终端中source一下ROS 2的安装工作区,这样就可以在该终端中使用ROS 2的软件包. ...

  3. ROS2学习之旅(1)——初识ROS2

    本系列用来记录ROS2的学习过程,有错误或者不合理的地方请大家指正.由于博主具有ROS1的学习经历,会添加一些与ROS1的一些对比,当然这对于ROS2本身的学习内容没有丝毫影响,欢迎大家积极与我在评论 ...

  4. 【SSH学习笔记】—从配置Struts1环境到简单实例

    以下我将从一个简单点的计算器实例,介绍struts1的环境配置,以及其重要的两个核心类:ActionForm和Action  简单计算器实现思路: 1.提供一个输入界面,输入两个数字和运算符(+.-. ...

  5. 踩坑之旅:配置 ROS 环境

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16660252.html 最近在学习机器人相关的导航算法, ...

  6. Java学习笔记之linux配置java环境变量(三种环境变量)

    0x00 压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车 ...

  7. 假期学习【二】配置Scala环境(Ubuntu)以及配套Scala编程实验

    1.配置Scala环境所需要的所有命令(Ubuntu系统下) 其中scala-2.13.1版本在官网:https://www.scala-lang.org/download/  下载  2.出现该提示 ...

  8. ROS2学习之旅(13)——创建ROS2 功能包

    一个功能包可以被认为是ROS2代码的容器.如果希望能够管理代码或与他人共享代码,那么需要将其组织在一个包中.通过包,可以发布ROS2工作,并允许其他人轻松地构建和使用它. 在ROS2中,创建功能包使用 ...

  9. ROS2学习之旅(15)——编写简单的服务和客户节点(C++)

    当节点使用服务进行通信时,发送数据请求的节点称为客户节点,响应请求的节点称为服务节点.请求和响应的结构由.srv文件决定. 本文的例子是一个简单的整数加法系统:一个节点请求两个整数的和,另一个节点响应 ...

随机推荐

  1. VMware vRealize Suite 8.3 发布 - 多云环境的云计算管理解决方案

    概述 VMware vRealize Suite 是一种多云环境的云计算管理解决方案,为 IT 组织提供了一个基于 DevOps 和 ML 原则的基础架构自动化.一致运维和监管的现代平台. vReal ...

  2. windows下nginx配合nodejs进行反向代理

    本文原创,转载请附上原作者链接!https://www.cnblogs.com/LSWu/articles/14848324.html 1.安装node.js 从node.js官网上下载node.js ...

  3. 排查利器:Tcpdump抓包 & Wireshark解析

    在工作这一块,免不了和其他开发人员打交道.比如,和其他部门 or 公司联调,甚至是和自己部门的人联调的时候.这时候,对接问题就很容易暴露出来,特别是Tcp/Udp会话的时候,很容易就会呈现出公说公有理 ...

  4. 高频访问SQLite数据库

    SQLite 是一款开源的 SQL 数据库引擎,由于其自包含.无服务.零配置和友好的使用许可(完全免费)等特点,在桌面和移动平台被广泛使用. 在应用开发过程中,如果想保存点数据,自然而然地就会想到 S ...

  5. PyTorch 神经网络

    PyTorch 神经网络 神经网络 神经网络可以通过 torch.nn 包来构建. 现在对于自动梯度(autograd)有一些了解,神经网络是基于自动梯度 (autograd)来定义一些模型.一个 n ...

  6. 简化可视SLAM应用程序的开发

    简化可视SLAM应用程序的开发 Easing the development of visual SLAM applications 同步定位和映射(SLAM)描述了一个设备(如机器人)使用传感器数据 ...

  7. 编译原理-翻译程序(Translator)

    分为编译程序(compiler)和解释程序(interpreter) 编译程序:把源程序(高级语言编写)转换成目标程序(汇编语言或机器语言编写). 解释程序:对源程序边翻译边执行. 编译型语言 优点: ...

  8. 深度解读MRS IoTDB时序数据库的整体架构设计与实现

    [本期推荐]华为云社区6月刊来了,新鲜出炉的Top10技术干货.重磅技术专题分享:还有毕业季闯关大挑战,华为云专家带你做好职业规划. 摘要:本文将会系统地为大家介绍MRS IoTDB的来龙去脉和功能特 ...

  9. windows 安装Git详解

    windows 安装Git详解 一.Git简介 Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Lin ...

  10. SSH远程登录相关教程

    命令概述 命令 英文 ssh 用户名@ip secure shell scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 secure copy 在 Linux 中 SSH 是 非常常用 ...