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
目录
相关文章
|
11月前
|
Ubuntu 机器人 Linux
|
4月前
|
Ubuntu 机器人 Shell
在Jetson TX2的Ubuntu18.04系统中安装ROS的教程
所有这些步骤并不复杂,但确实需要仔细一点。如果遇到问题,不要灰心,问题是解决问题的开始。保持耐心,细心阅读错误信息,通常情况下,问题的答案就藏在其中。祝ROS旅程顺利!
133 18
|
存储 自然语言处理 机器人
ROS2教程06 ROS2行动
这篇文章是关于ROS2(Robot Operating System 2)行动(Action)通信机制的教程,包括行动的概念、特点、命令行工具的使用,以及如何编写行动的客户端和服务器代码,并介绍了如何测试行动通信。
394 4
ROS2教程06 ROS2行动
|
机器人 Shell Python
ROS2教程05 ROS2服务
这篇文章是关于ROS2(Robot Operating System 2)服务的教程,涵盖了服务的概念、特性、命令行工具的使用,以及如何编写服务的服务器和客户端代码,并提供了测试服务通信机制的示例。
405 4
ROS2教程05 ROS2服务
|
11月前
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
589 0
|
11月前
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
482 0
|
Ubuntu Shell C++
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
799 1
|
机器人 Shell 开发者
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
这篇文章是关于ROS2(Robot Operating System 2)中功能包、依赖管理、工作空间配置和编译的教程,涵盖了ROS2工作空间的概念、如何获取和安装功能包的依赖、构建工作空间的步骤,以及如何创建和管理ROS2功能包,包括使用命令行工具对功能包进行操作的方法。
1872 0
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
|
编解码 机器人 C++
ROS2教程07 ROS2自定义消息接口
这篇文章是关于如何在ROS2(Robot Operating System 2)中创建和使用自定义消息类型的教程,包括消息类型的定义、特点、命令行工具的使用,以及如何编写和测试自定义消息类型接口的步骤。
647 0
ROS2教程07 ROS2自定义消息接口
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
394 1

推荐镜像

更多
  • ros