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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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<
### 创建 ROS Launch 文件 为了创建一个有效的 ROS (Robot Operating System) `launch` 文件,需遵循 XML 结构来定义节点、参数以及它们之间的关系。下面是一个基于给定信息构建的简单实例。 #### 定义基本框架 启动文件通常以 `<launch>` 标签开始并结束,在此标签内可以声明多个节点和其他配置项: ```xml <launch> </launch> ``` #### 添加节点描述 在上述结构内部加入具体的节点说明,例如控制海龟机器人的键盘操作节点: ```xml <node pkg="turtlebot_teleop" type="turtlebot_teleop_key.py" name="turtlebot_teleop_keyboard" output="screen"> <param name="scale_linear" value="0.5" type="double"/> <param name="scale_angular" value="1.5" type="double"/> <remap from="turtlebot_teleop_keyboard/cmd_vel" to="/cmd_vel"/> </node> ``` 这段代码片段指定了来自 `turtlebot_teleop` 包中的 Python 脚本作为执行程序,并设置了线性和角速度的比例因子[^2]。 #### 设置重映射规则 通过 `<remap>` 元素实现话题名称替换功能,使得不同组件间的消息传递更加灵活方便。这里将默认的速度指令主题路径修改为全局 `/cmd_vel` 主题。 #### 参数调整 利用 `<param>` 来设定节点所需的各项参数值,如上面例子中所示,分别设定了直线运动和旋转动作对应的缩放比例。 最终完整的 launch 文件如下所示: ```xml <launch> <!-- turtlebot_teleop_key already has its own built-in velocity smoother --> <node pkg="turtlebot_teleop" type="turtlebot_teleop_key.py" name="turtlebot_teleop_keyboard" output="screen"> <param name="scale_linear" value="0.5" type="double"/> <param name="scale_angular" value="1.5" type="double"/> <remap from="turtlebot_teleop_keyboard/cmd_vel" to="/cmd_vel"/> </node> </launch> ``` 要运行这个 launch 文件,可以在终端输入命令 `roslaunch beginner_tutorials example.launch` [^1]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值