ROS2教程 02 功能包

简介: 本文是关于ROS2(机器人操作系统2)中功能包(package)管理的教程,介绍了如何检查功能包的依赖、创建新功能包、列出可执行文件、列出所有功能包、查询功能包的位置和描述信息,以及为C++和Python功能包配置必要的文件。

一、检查别人的功能包依赖

当移植别人的功能包到本机时,需要在工作空间目录下检查功能包依赖是否健全

rosdepc install -i --from-path src --rosdistro humble -y

此处使用的rosdistro为ROS2 Humble LTS版本,根据需要修改此处

#All required rosdeps installed successfully

当返回该语句时,说明功能包的依赖健全
这是一个良好的习惯

二、自己创建功能包

ROS官方关于创建功能包的资料
ROS 2 中的包使用 ament 作为其构建系统,并使用 colcon 作为其构建工具
不同的包的存放位置都为工作空间下的src
功能包中有些文件是必须包含的,这对于c++与python来说有些不同

For C++

CMakeLists.txt 记录功能包编译规则
package.xml 描述功能包属性的信息,包含功能包的依赖信息、版权信息等

For Python

package.xml 包含这个包的元信息(版权信息以及依赖声明等)

setup.py 包含如何安装这个包的指导内容和“entry_points”配置的程序入口

setup.cfg 当包有执行性文件时,这个文件是必须的,以便于ros2 run 可以执行相应的文件

/- 一个与你的包同名的目录,方便ROS2 tools查找你的包,这个目录下包含__init__.py

1.创建功能包:

在工作空间的src目录下

python

ros2 pkg create --build-type ament_python <package_name>

例子:

ros2 pkg create --build-type ament_python learning_pkg_python

C++

ros2 pkg create --build-type ament_cmake <package_name>

例子:

ros2 pkg create --build-type ament_cmake learning_pkg_cplus

三、功能包相关的其他指令

1. 列出可执行文件

可以添加后缀(包名),来列出某个功能包的可执行文件

ros2 pkg executables packagename

2. 列出所有包

ros2 pkg list

3. 输出包所在前缀位置

ros2 pkg prefix  packagename

4. 列出包的清单描述信息

ros2 pkg xml packagename
目录
相关文章
|
21天前
|
存储 自然语言处理 机器人
ROS2教程06 ROS2行动
这篇文章是关于ROS2(Robot Operating System 2)行动(Action)通信机制的教程,包括行动的概念、特点、命令行工具的使用,以及如何编写行动的客户端和服务器代码,并介绍了如何测试行动通信。
49 4
ROS2教程06 ROS2行动
|
21天前
|
机器人 Shell Python
ROS2教程05 ROS2服务
这篇文章是关于ROS2(Robot Operating System 2)服务的教程,涵盖了服务的概念、特性、命令行工具的使用,以及如何编写服务的服务器和客户端代码,并提供了测试服务通信机制的示例。
24 4
ROS2教程05 ROS2服务
|
21天前
|
传感器 算法 数据可视化
ROS2教程04 ROS2话题
这篇文章是关于ROS2(Robot Operating System 2)的教程,主要介绍了ROS2中话题的概念、特性、使用方式,以及如何编写发布者和订阅者的代码。
24 3
ROS2教程04 ROS2话题
|
21天前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
37 1
ROS2教程02 ROS2的安装、配置和测试
|
14天前
|
Ubuntu Shell C++
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
30 1
|
21天前
|
传感器 自然语言处理 机器人
ROS2教程03 ROS2节点
本文是关于ROS2(机器人操作系统2)节点的教程,涵盖了节点的概念、特性、使用方法,以及如何编写、测试和使用ROS2节点相关的命令行工具。文章介绍了节点的独立性、任务执行、跨硬件分布和多语言编写能力。详细解释了如何启动节点、查看节点信息、编写节点代码(包括面向过程和面向对象的方法),以及如何为功能包添加依赖和入口点。此外,还探讨了重映射节点名称和使用节点命令行工具的方法,如 `ros2 node info` 和 `ros2 node list`。适合已安装ROS2 Humble和Ubuntu 22.04操作系统,并具有Shell基础知识的读者学习。
20 1
|
21天前
|
算法 数据可视化 机器人
ROS2教程01 ROS2介绍
本文是ROS2(机器人操作系统的下一代)的介绍教程,内容包括ROS2的诞生背景、核心功能、特点、框架以及与ROS1的比较。文章涵盖了ROS2的通信系统、框架和工具、生态系统、全球性社区支持、完全开源、跨平台特性、多机协同能力、实时系统支持和更强的稳定性。此外,还提供了ROS2架构的详细介绍资源链接,适合对ROS2感兴趣的读者学习和了解。
48 1
|
21天前
|
机器人 Shell 开发者
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
这篇文章是关于ROS2(Robot Operating System 2)中功能包、依赖管理、工作空间配置和编译的教程,涵盖了ROS2工作空间的概念、如何获取和安装功能包的依赖、构建工作空间的步骤,以及如何创建和管理ROS2功能包,包括使用命令行工具对功能包进行操作的方法。
55 0
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
|
21天前
|
编解码 机器人 C++
ROS2教程07 ROS2自定义消息接口
这篇文章是关于如何在ROS2(Robot Operating System 2)中创建和使用自定义消息类型的教程,包括消息类型的定义、特点、命令行工具的使用,以及如何编写和测试自定义消息类型接口的步骤。
13 0
ROS2教程07 ROS2自定义消息接口
|
4月前
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
133 1

推荐镜像

更多