电子说
ros2有两个启动程序的选项:
直接运行可执行文件,启动 ROS2 程序。
启动启动文件,启动 ROS2 程序。
#直接运行可执行文件。命令结构如下 ros2 run < package_name > < executable_file > 第一个参数是包含可执行文件的软件包名称。 第二个参数是(该软件包内的)可执行文件的名称。 使用启动文件时,命令结构如下: ros2 launch < package_name > < launch_file > 第一个参数是包含启动文件的软件包名称。 第二个参数是启动文件的名称(在该软件包内)。
在 ROS2 中,您可以创建两种类型的软件包: Python 软件包 CMake (C++) 软件包 在本课程中,我们将重点讨论第一种类型。Python 包将包含 Python 可执行文件。 每个 Python 软件包都会有如下的文件和文件夹结构: package.xml- 包含软件包元信息(软件包维护者、依赖关系等)的文件。 setup.py- 文件,其中包含如何编译软件包的说明。 setup.cfg- 包含如何安装软件包的说明。 src/< package_name >- 该目录以您的软件包命名。您将把所有 Python 脚本放在该文件夹中。默认情况下,它已经包含了一个空的__init__.py 文件。
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
列出所有包
ros2 pkg list ros2 pkg list | grep < package >
ros2的程序编写
#!/usr/bin/env python 在 Python 文件的第一行放置shebang (或hashbang),指示应使用哪个解释器来执行脚本。 rclcpp:用于C++ 的 ROS2 客户端库。 rclpy:Python 的 ROS2 客户端库。 有一个RUST ros2_client 正在受到越来越多的关注 ,ROS2 客户端库,类似于原生 Rust 中的 rclcpp 或 rclpy 库。底层 DDS 实现,RustDDS,也是原生的 Rust。
import rclpy
def main(args=None):
rclpy.init(args=args)
使用ROS2 的 Python 客户端库来初始化程序所需的ROS2 通信和系统。
rclpy.shutdown()
关闭所有通过rclpy.init(args=args) 启动的与 ROS2 相关的系统连接。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !