You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS2 Launch文件中exec与name参数的区别是什么?

ROS2 Launch文件中exec与name参数的区别

一、exec参数的作用

exec指定的是你要启动的可执行文件名称,这个文件必须属于pkg属性指定的ROS2功能包(比如你示例里的camera包)。

简单说,ROS2通过pkg找到功能包的安装路径,再通过exec确定要运行包里的哪个可执行程序。如果不填这个参数,ROS2根本不知道要启动什么程序。

比如camera包编译后生成的可执行文件叫camera_driver,那exec就该填camera_driver。

二、name参数的作用

name是节点在ROS2网络中的唯一身份标识,也就是节点名称。

  • 如果你不指定name,ROS2会默认把可执行文件的名称作为节点名;
  • 你可以自定义这个名称,比如把相机节点命名为front_camera,这样用ros2 node list命令就能看到这个名字;
  • 同一个可执行文件可以启动多个独立节点,只要给每个节点设置不同的name就行(比如同时启动前后两个相机,exec都是camera_driver,name分别设为front_camera和back_camera)。

三、示例填充

给你提供的launch文件补全实际参数后,会是这样:

<launch>
    <node pkg="camera" exec="camera_driver" name="front_camera">
    </node>
</launch>

核心区别总结

  • exec:决定运行哪个程序,对应功能包里的可执行文件
  • name:决定这个节点在ROS网络里叫什么,是节点的身份标签

内容的提问来源于stack exchange,提问作者Angelo D'Amante

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 19:00:52