ROS2 Humble学习笔记 (3)

一、前言

上一篇学习笔记中,我们学习使用Colcon来管理包的方法,并跟随教程了解到了客户端库(rcl: ros2 client library)。现在我们继续学习Intermediate部分的教程.这部分将设计使用rosdep来管理依赖关系;编写action相关的代码;以及综合多个节点到一个进程中。此外还会了解到launch, tf2, RViz等工具的使用。

这部分内容的组织和前两篇稍有不同。这里每一节课程都会对应一个二级目录,而不是想前两篇一样全部作为第二章这个二级目录以下的子目录。

二、使用rosdep管理依赖关系

本篇内容对应官方docs的这篇文章:Managing Dependencies with rosdep.

这篇教程将介绍怎么使用rosdep管理外部依赖。请注意目前rosdeo仅支持linux和macos系统,暂不支持windows系统。

(其实在上一篇中已经讲解了rosdep的一些用法。)

2.1 rosdep简介

rosdep是一个依赖项管理工具,可以处理软件包和外部库。它本身是一个命令行工具,可以利用自身对系统和依赖管理的了解们在特定平台上找到适合安装的软件包。然后借用系统软件包管理工具(比如ubuntu上的apt, Fedora上的dnf, Archlinux上的pacman)来安装这些软件包。它通常在构建工作区之前被调用,用于安装工作区中软件包的依赖包。它可以在单个软件包或软件包目录(如工作区)上运行。

需要注意的是尽管名字中带有ros,但是rosdep并不只适用于ros,。实际上它可以作为一个独立的依赖项工具。(rosdep是一个python包,可以很轻易的安装它)

2。2 package.xml文件