ROS学习(4)——launch文件的编写

文章介绍了如何在ROS中通过创建和使用launch文件来批量启动多个节点,以提高工作效率。首先,通过添加launch文件夹和编辑launch文件来定义节点的启动参数。例如,文中展示了启动hello_vs、turtlesim_node和turtle_teleop_key节点的launch文件。接着,通过在终端运行roslaunch命令来执行launch文件,启动整个系统。此外,还分享了一个小技巧,即在.bashrc文件中添加命令以避免每次新开终端时手动执行source./devel/setup.bash。

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

对于一个复杂的系统,会有十几个、几十个甚至是上百个节点在运行,如果我们每次都是采取“打
开终端、运行 rosrun 指令”来启动应用程序,显得效率非常低。我们需要一个更方便的方式来启动系统。ROS 中提供了“使用 launch 文件 + roslaunch”命令来完成系统的启动。具体的实现方法如下:

一、添加launch文件

  • 选定功能包右击 ——> 添加 launch 文件夹
  • 选定 launch 文件夹右击 ——> 添加 launch 文件
  • 编写launch文件

二、编写launch文件

下面是一个launch文件示例:

<launch>
    <node pkg="hello" type="hello_vs" name="hello" output="screen" />
    <node pkg="turtlesim" type="turtlesim_node" name="t1"/>
    <node pkg="turtlesim" type="turtle_teleop_key" name="key1" />
</launch>
  • node ——包含的某个节点
  • pkg —— 节点所在的功能包的名字
  • type —— 节点的二进制可执行文件的名字
  • name —— 节点启动后,可有 ROS 识别出的节点名称。我们在编写节点时,通过 ros::init(argc, argv, “node_name”)已经指定了节点名,当节点启动后,这个启动文件(*.launch)会给我们一个重新命名节点的机会。
  • output—— 设置日志的输出目标。通过启动文件启动节点后,默认节点输出信息会输入到一个日志文件而不是屏幕上。想要在屏幕上打印信息,需要加“output="screen”

     所以上面的launch文件示例是实现了hello_vs.cpp文件里面的功能,还有同时启动乌龟节点的

     功 能。

三、运行launch文件

  • 在vscode界面ctrl+shift+B编译文件
  • 打开一个终端运行:
roscore
  • 重新打开一个终端输入命令
source ./devel/setup.bash
roslaunch package_name launch_file_name

运行界面如下

小技巧——ROS省略命令“source ./devel/setup.bash”

因为每次新开一个终端都要输入命令“source ./devel/setup.bash” ,很麻烦,我们可以通过

sudo gedit ~/.bashrc

打开.bashrc文件,然后在中写入命令

source /home/***/your_ws/devel/setup.bash 

其中***是你的计算机名。具体操作可以参考ROS省略命令“source ./devel/setup.bash“

要创建一个ROSlaunch文件,你可以按照以下步骤进行操作: 1. 首先,在你的ROS工作空间中找到你想要创建launch文件的功能包。可以使用命令`cd <workspace>/src/<package_name>`进入该功能包的目录。 2. 在功能包的目录下创建一个名为`launch`的文件夹。你可以使用命令`mkdir launch`来创建。 3. 进入`launch`文件夹,使用文本编辑器创建一个新的launch文件。你可以使用命令`touch <launch_file_name>.launch`来创建一个空的launch文件4. 打开这个新创建的launch文件,并按照你的需求编写launch文件的内容。你可以参考ROSlaunch文件语法和示例来编写你的launch文件。在launch文件中,你可以指定要启动的节点、节点的参数配置以及节点之间的关系等。 5. 保存并关闭launch文件。 6. 现在,你可以使用`ros2 launch`命令来启动你的launch文件。使用命令`ros2 launch <package_name> <launch_file_name>`,将会启动整个系统,包括所有在launch文件中指定的节点和它们的配置。 总结起来,要创建一个ROSlaunch文件,你需要在功能包中创建一个名为`launch`的文件夹,并在其中创建一个launch文件。然后,按照你的需求编写launch文件的内容,并使用`ros2 launch`命令来启动该launch文件。 #### 引用[.reference_title] - *1* *3* [ROS2入门教程—创建一个launch文件](https://blog.youkuaiyun.com/qq_29923461/article/details/120404577)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ROS学习4)——launch文件编写](https://blog.youkuaiyun.com/bulletstart/article/details/130794565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啵啵鱼爱吃小猫咪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值