启用命名空间的启动文件
为了演示如何在指定命名空间内启动机器人,我们提供了位于 franka_bringup/launch/example.launch.py 的示例启动文件。
默认情况下,example.launch.py 配置为从位于 franka_bringup/launch/ 目录的 YAML 文件 franka.ns-config.yaml 中读取机器人基本配置。你也可以通过命令行指定路径来使用不同的 YAML 文件。
franka.ns-config.yaml 文件指定关键参数,包括:
机器人的 URDF 文件路径。
机器人实例使用的命名空间。
机器人实例的其他特定配置细节。
example.launch.py “包含” franka.ns-launch.py,该文件定义了机器人操作所需的核心节点。
franka.ns-launch.py 文件依赖于 ns-controllers.yaml 来配置 ros2_controller 框架。该配置确保控制器以与命名空间无关的方式加载,支持跨多个命名空间的一致行为。
ns-controllers.yaml 文件设计为可容纳零个或多个命名空间,前提是所有命名空间共享相同的节点配置参数。
每个配置和启动文件(franka.ns-config.yaml、example.launch.py、franka.ns-launch.py 和 ns-controllers.yaml)都包含详细的内联文档,指导用户理解其结构和使用方法。有关 ROS 2 中命名空间的更多信息,请参考 ROS 2 文档。
要执行 ns-controllers.yaml 中定义的任意示例控制器,可以使用 example.launch.py 启动文件,并通过命令行参数指定所需的控制器名称。
首先 - 根据你的设置修改 franka.ns-config.yaml。
然后,例如,要运行 move_to_start_example_controller,使用以下命令:
ros2 launch franka_bringup example.launch.py controller_name:=move_to_start_example_controller