首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >初识ros2 功能包建立与可执行文件的配置

初识ros2 功能包建立与可执行文件的配置

原创
作者头像
无暇
修改2026-01-31 13:52:15
修改2026-01-31 13:52:15
1230
举报
文章被收录于专栏:空暇空暇

有两个启动程序的选项:

  • 直接运行可执行文件,启动 ROS2 程序。
  • 启动启动文件,启动 ROS2 程序。
代码语言:javascript
复制
#直接运行可执行文件。命令结构如下
ros2 run <package_name> <executable_file>
第一个参数是包含可执行文件的软件包名称。
第二个参数是(该软件包内的)可执行文件的名称。

使用启动文件时,命令结构如下:
ros2 launch <package_name> <launch_file>
第一个参数是包含启动文件的软件包名称。
第二个参数是启动文件的名称(在该软件包内)。
代码语言:javascript
复制
在 ROS2 中,您可以创建两种类型的软件包:

Python 软件包
CMake (C++) 软件包
在本课程中,我们将重点讨论第一种类型。Python 包将包含 Python 可执行文件。

每个 Python 软件包都会有如下的文件和文件夹结构:

package.xml- 包含软件包元信息(软件包维护者、依赖关系等)的文件。

setup.py- 文件,其中包含如何编译软件包的说明。

setup.cfg- 包含如何安装软件包的说明。

src/\\<package_name>- 该目录以您的软件包命名。您将把所有 Python 脚本放在该文件夹中。默认情况下,它已经包含了一个空的__init__.py 文件。
代码语言:javascript
复制
 source /opt/ros/humble/setup.bash

ros2 pkg create --build-type ament_python <package_name> --dependencies <package_dependency_1> <package_dependency_2>

编译colcon build 
    colcon build --packages-select <package_name>
source install/setup.bash

列出所有包

代码语言:javascript
复制
ros2 pkg list
ros2 pkg list | grep <package>

ros2的程序编写

代码语言:javascript
复制
#!/usr/bin/env python
在 Python 文件的第一行放置shebang (或hashbang),指示应使用哪个解释器来执行脚本。

rclcpp:用于C++ 的 ROS2 客户端库。
rclpy:Python 的 ROS2 客户端库。
有一个RUST ros2_client 正在受到越来越多的关注 ,ROS2 客户端库,类似于原生 Rust 中的 rclcpp 或 rclpy 库。底层 DDS 实现,RustDDS,也是原生的 Rust。
代码语言:javascript
复制
import rclpy
def main(args=None):
    rclpy.init(args=args)
 使用ROS2 的 Python 客户端库来初始化程序所需的ROS2 通信和系统。
    rclpy.shutdown()
    关闭所有通过rclpy.init(args=args) 启动的与 ROS2 相关的系统连接。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档