ROS学习笔记(四)---使用 VScode 启动launch文件运行多个节点

ROS学习笔记文章目录

01. ROS学习笔记(一)---Linux安装VScode
02. ROS学习笔记(二)---使用 VScode 开发 ROS 的Python程序(简例)
03. ROS学习笔记(三)---好用的终端Terminator
一、什么是launch文件

虽然说Terminator终端是能够比较方便直观的看运行的节点,但有时候节点一多,输入的rosrun指令也会很多,这时候可以使用launch优化下启动节点的代码了。launch是启动文件,采用XML格式书写,roslaunch浏览XML文件是一行一行运行的。

下面是launch文件的几类标签。其中常用的有

launch 该标签是任何roslaunch文件的根元素。

node 用于启动和关闭节点,举例:

xml 复制代码
<node pkg="turtlesim" type="turtlesim_node" name="t1"/>
  • node ---> 包含的某个节点
  • pkg -----> 功能包
  • type ----> 被运行的节点文件
  • name --> 为节点命名
  • output-> 设置日志的输出目标

启动luanch节点的指令:

xml 复制代码
roslaunch 包名 launch文件名

二、如何使用launch文件

1.在vscode中创建launch文件夹

首先右击我们上一项目创建的功能包,然后选择"新建文件夹",命名为launch

2.创建.launch文件

选中 launch 文件夹右击 然后 添加 .launch 文件,如下的"start_turtle.launch"文件。然后点击保存!!很重要啊,不然后面会报错。

3.编辑launch文件

① 编写运行一个节点的launch文件,运行我们上一项目写好的一个打印输出的节点程序,

xml 复制代码
<launch>
    <node pkg="hello" type="helloworld_p.py" name="Hello_Vscode_p" output="screen" />
</launch>

其中,pkg是你的功能包名hello,type是你要运行的节点的程序名(python文件需要加.py

因为要打印输出,所以要显示在屏幕上,要添加output参数。然后保存。运行按下 Ctrl + "~"(那个小波浪号),在弹出来的窗口中输入,如果没有输入,可以点击右方的"+"号,看图。先source(source ./devel/setup.bash)一下,然后roslaunch(roslaunch hello start_turtle.launch)运行。最后可以看到打印的结果。

运行结果

② 添加多个节点。继续编写ROS自带的乌龟节点和乌龟键盘控制节点的程序

xml 复制代码
<launch>
    <node pkg="hello" type="helloworld_p.py" name="Hello_Vscode_p" output="screen" />
   <node pkg="turtlesim" type="turtlesim_node" name="t1"/>
    <node pkg="turtlesim" type="turtle_teleop_key" name="key1" />
</launch>

保存之后,同样先source一下,然后roslaunch。(将鼠标放在输出窗口终端通过↑↓←→就可以控制乌龟运动了)

同时你也可以下拉看到在窗口打印输出了

HelloWorld, 我是 VSCode!

这样就完成了运行一个launch文件,同时启动了3个节点(打印输出的hello.py,乌龟面板、乌龟键盘控制)的功能!

相关推荐
叫我:松哥3 分钟前
基于scrapy的网易云音乐数据采集与分析设计实现
python·信息可视化·数据分析·beautifulsoup·numpy·pandas
极智-9969 分钟前
GitHub 热榜项目-日榜精选(2026-01-24)| AI智能体工具、Python生态等 | remotion、VibeVoice、goose等
人工智能·python·github·ai智能体·大模型部署·语音ai
万变不离其宗_817 分钟前
DBeaver 使用笔记
笔记
im_AMBER20 分钟前
Leetcode 105 K 个一组翻转链表
数据结构·学习·算法·leetcode·链表
YMLT花岗岩28 分钟前
Python学习之-函数-入门训练-具有多个返回值的函数
python·学习
北鹤M28 分钟前
用MeteoStat计算任意时刻经纬度真实气象数据
人工智能·python
星瞳科技OpenMV32 分钟前
星瞳OpenMV官方机械臂教程|从零开始:Robot Arm机械臂快速上手
arm开发·图像处理·python·计算机视觉·ai·机器人·openmv
freepopo40 分钟前
学习空间设计:光影与收纳里的专注美学[特殊字符]
学习
石像鬼₧魂石43 分钟前
内网渗透学习框架:五维金字塔
windows·学习
写代码的【黑咖啡】1 小时前
Python中的lxml:高效XML处理库
xml·开发语言·python