ROS2教程(入门级):Ubuntu 20.04 设置 ROS 2 Foxy 环境

您所在的位置:网站首页 20级怎么读 ROS2教程(入门级):Ubuntu 20.04 设置 ROS 2 Foxy 环境

ROS2教程(入门级):Ubuntu 20.04 设置 ROS 2 Foxy 环境

2023-09-07 12:25| 来源: 网络整理| 查看: 265

Ubuntu 20.04 设置 ROS 2 Foxy 环境

目标: 这个博客讲述的是如何在Ubuntu上设置ROS 2 foxy的环境。官网地址:Configuring your ROS 2 environment

背景知识

ROS 2 依赖的工作空间是通过终端的环境来配置的。“工作空间”是ROS 2中指代你开发ROS 2所在的系统的位置。ROS 2的核心工作空间叫做"the underlay",大概是基础或者地基;本地工作空间的子序列都叫"overlay",大概就是覆盖物的意思。还是蛮形象的,本地子工作空间都是核心工作空间的覆盖物。当我们使用ROS 2进行开发的时候,往往都有多个工作同时活跃。

组合的工作空间让我们在不同版本的ROS 2上,或者不同组的包(packages)上,进行开发变得容易。同时,它也允许我们在同一台机器上安装多个不同版本的ROS 2,并在它们之间切换。

这是在你开启了一个新的终端之后,通过sourcing设置文件实现的,或者可以把source的命令直接添加到你的终端启动脚本中。如果没有source设置文件,你就不能使用ROS 2.

前提条件

在你开始后续的博客内容之前,确保你已经安装好了ROS 2.如果还没有,或者不确定,可以看我之前的博客:Ubuntu 20.04 安装ROS 2 foxy

特别提醒

以下的指令,默认都是使用bash终端,如果你使用的是zsh,需要将指令中的文件的后缀.bash改为.zsh。

任务 source设置文件

你需要在每一个新启动的终端中先运行下面的命令,类似:

source /opt/ros/foxy/setup.bash

备注

实际的命令依赖于你的ROS 2安装在哪里。如何你遇到问题了,需要确认你的安装路径。

将source命令添加到终端的启动脚本

如果你不想每次开启一个新的终端都要手动source一次设置文件,那么你可以将命令增加到你的终端启动脚本里面:

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

如果希望更换一个新的版本或者去掉,需要到你的系统的终端启动脚本中找到新加的命令,并且进行修改或者删除。

将colcon_cd添加到你的终端启动脚本中

colcon_cd 这句指令可以让你的终端快速的将当前的工作文件夹改为一个包的文件夹。

echo "source /usr/share/colcon_cd/function/colcon_cd.sh" >> ~/.bashrc echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc

值得注意的是,上面两句话出问题,可能有两种原因,一个是没有安装colcon_cd,如果是这个问题,可以进行安装。

sudo apt install python3-colcon-common-extensions

第二个原因是,你使用了源码或者别的方式安装的,需要确认安装的工作空间,具体可以参考这个文档 。

查看环境变量

当你在使用ROS 2的时候出错了,你可以使用下面这一句命令,检查你的环境是不是正确的。

printenv | grep -i ROS

检查一下,像 ROS_DISTRO 和 ROS_VERSION 是不是已经被设置了。比如,如果你用的是Foxy,你会看到:

ROS_VERSION=2 ROS_PYTHON_VERSION=3 ROS_DISTRO=foxy

如果环境变量有问题,你可以回退到安装教程中看看检查一下安装过程。如果需要更具体的帮助,可以去社区 里面寻求回答。

变量ROS_DOMAIN_ID

你可以通过这篇文章了解更多关于domain ID 这个变量的内容。

一旦你已经使用了一个独特的整数作为你的ROS 2 的代理组,你可以用下面的指令来设置环境变量。

export ROS_DOMAIN_ID=

为了保持不同终端的设置一致,你可以将下面的指令增加到你的终端启动脚本中:

echo "export ROS_DOMAIN_ID=" >> ~/.bashrc 总结

ROS 2 的开发环境需要被正确的设置,要么是你启动每一个新的终端之后都source一次,要么将这么设置写入终端的启动脚本中。如果你在使用ROS 2 的包的时候,遇到任何问题,第一个需要做的事情就是检查环境变量。

你可以在接下来的教程里面,学习到更多关于ROS 2相关的内容。可以关注我或者订阅我的专栏:ROS 2专栏。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3