ROS Learning-010 beginner_Tutorials 编写简单的启动脚本文件(.launch 文件)

本文介绍了在ROS Indigo环境下如何编写和运行.launch启动脚本,包括创建带有命名空间的节点,以及使用roslaunch命令启动脚本。内容涉及启动脚本的作用、结构,以及如何通过launch文件控制多个节点的启动和交互。
摘要由CSDN通过智能技术生成

ROS Indigo beginner_Tutorials-09 编写简单的启动脚本文件

我使用的虚拟机软件:VMware Workstation 11
使用的Ubuntu系统:Ubuntu 14.04.4 LTS
ROS 版本:ROS Indigo


.launch文件 :

下面我们将介绍,如何编写一个启动脚本程序:(.launch文件)

还记得我们在 创建ROS软件包教程 中创建的第一个程序包(beginner_tutorials)吗,现在我们要使用它。在 beginner_tutorials 软件包里新建一个名为 launch 的文件夹。(用来保存 launch 启动脚本的):

$ roscd  beginner_tutorials
$ mkdir launch
$ cd launch
$ gedit turtlemimic.launch    #使用你喜欢的编译器打开turtlemimic.launch,对其进行编辑

添加下面的代码:

<launch>
        <group ns="turtlesim1">
                <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
        </group>

        <group ns="turtlesim2">
                <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
        </group>
</launch<
  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ROS2中,可以使用launch文件启动多个节点。可以使用Python编写launch文件,以便在启动时传递参数。下面是一个简单的例子,演示如何启动两个节点并分别传递参数。 ```python from launch import LaunchDescription from launch_ros.actions import Node def generate_launch_description(): return LaunchDescription([ Node( package='my_package', executable='node_1', name='node_1', arguments=['arg1', 'arg2'] ), Node( package='my_package', executable='node_2', name='node_2', arguments=['arg3', 'arg4'] ) ]) ``` 在这个例子中,我们通过`Node`类创建了两个节点,分别为`node_1`和`node_2`。`arguments`参数用于传递启动参数。在这里,我们将`arg1`和`arg2`传递给`node_1`,将`arg3`和`arg4`传递给`node_2`。最后,我们将这些节点添加到`LaunchDescription`中,以便在启动时一起启动。 如果你需要启动多个.launch.py文件,可以在一个launch文件中添加多个Node。例如,下面是一个演示如何同时启动两个.launch.py文件的示例。 ```python from launch import LaunchDescription from launch_ros.actions import Node def generate_launch_description(): return LaunchDescription([ Node( package='my_package', executable='node_1', name='node_1', arguments=['arg1', 'arg2'] ), Node( package='my_package', executable='node_2', name='node_2', arguments=['arg3', 'arg4'] ), Node( package='my_package', executable='node_3', name='node_3', arguments=['arg5', 'arg6'] ), Node( package='my_package', executable='node_4', name='node_4', arguments=['arg7', 'arg8'] ) ]) ``` 在这个例子中,我们通过`Node`类创建了四个节点,其中`node_1`和`node_2`属于第一个.launch.py文件,`node_3`和`node_4`属于第二个.launch.py文件。由于这些节点在同一个launch文件中,因此它们可以同时启动,并且你可以像前面一样使用`arguments`参数传递启动参数。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值