ros2学习之教程-入门: CLI Tools(命令行工具) 创建启动文件(launch)

① 背景

这个launch 是.py 文件,和ros1 差别很大
到目前为止,在教程中,您一直在为运行的每个新节点打开新终端。当您创建越来越多的节点同时运行的更复杂的系统时,打开终端并重新输入配置详细信息将变得乏味。

启动文件允许您同时启动和配置许多包含ROS 2节点的可执行文件。

使用ros2 launch命令运行一个启动文件将立即启动整个系统-所有节点及其配置。

② 前提

  • rqt_graph 和turtlesim 包
  • 文本编辑器
  • 环境

③ 任务

Ⅰ 准备

创建 文件夹

mkdir launch

创建 urtlesim_mimic_launch.py 启动文件

touch launch/turtlesim_mimic_launch.py

Ⅱ 写py文件

from  launch import LaunchDescription
from launch_ros.actions import Node

def generate_launch_description():
    return LaunchDescription([
        Node(
            package='turtlesim',
            node_namespace='turtlesim1',
            node_executable='turtlesim_node',
            node_name='sim'
        ),
        Node(
            package='turtlesim',
            node_namespace='turtlesim2',
            node_executable='turtlesim_node',
            node_name='sim'
        ),
        Node(
            package='turtlesim',
            node_executable='mimic',
            node_name='mimic',
            remappings=[
                ('/input/pose', '/turtlesim1/turtle1/pose'),
                ('/output/cmd_vel', '/turtlesim2/turtle1/cmd_vel'),
            ]
        )
    ])

mimic的/input/pose主题已重新映射到/turtlesim1/turtle1/pose,主题也已映射/output/cmd_vel到/turtlesim2/turtle1/cmd_vel。这意味着mimic将订阅/turtlesim1/sim的姿势主题,并将其重新发布以供/turtlesim2/sim速度指令主题订阅。换句话说,turtlesim2将模仿turtlesim1的动作。

代码以后在讲

Ⅲ 启动

正常来说 通过找包里的 文件来启动,

ros2 launch <package_name> <launch_file_name>

我们也可以通过绝对路径启动

cd launch
ros2 launch turtlesim_mimic_launch.py

在这里插入图片描述

rqt_graph 看系统

和之前多终端启动的差别
在这里插入图片描述

④ 总结

启动文件简化了具有许多节点和特定配置详细信息的复杂系统的运行。您可以使用Python创建启动文件,然后使用命令运行它们。ros2 launch

发布了90 篇原创文章 · 获赞 505 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_36628778/article/details/105277589