本文参考这篇博客:点击链接
一、roslaunch是一个至关重要的工具,它能够帮助我们高效地启动ROS节点、参数服务器和其他必要的组件。
二、在ROS中,一个复杂的机器人项目通常由多个节点(Node)组成,每个节点负责不同的任务,例如传感器数据处理、运动控制、用户界面等。在项目启动时,需要同时启动这些节点,并且要确保它们之间的通信和协调工作。
三、ros中启动单个节点命令
rosrun 包名 可执行文件名
当然肯定是一次启动多个节点是更方便的
四、
启动单个节点 vs. 启动多个节点:
rosrun只能启动一个节点,适用于单个节点的快速启动。
roslaunch可以同时启动多个节点,适用于复杂的ROS系统和多节点协同工作的场景。
参数设置和传递:
rosrun通过命令行参数传递参数给节点。
roslaunch可以在启动文件中定义和设置节点的参数,并且支持从参数文件加载参数。
五、
<launch>
<!-- 启动can_data_publisher节点 -->
<node name="can_data_publisher" pkg="comm" type="wulingreport" output="screen">
</node>
</launch>
元素用于定义一个要启动的ROS节点。它包含以下属性:
1.name:节点的名称can_data_publisher,用于标识节点。
2.pkg:节点所在的包名comm
3.type:节点的类型wulingreport,即节点可执行文件的名称
4.args:可选属性,用于传递给节点的命令行参数。
5.output:可选属性,用于定义节点的输出选项,可以是"screen"(输出到屏幕),“log”(输出到日志文件),或"none"(无输出)。
六、
<arg name="argument_name" default="default_value" />
元素用于定义参数化的参数,可以在启动时传入不同的参数值。它包含以下属性:
name:参数的名称
default:default_value参数的默认值,如果在启动命令中传入参数,则可以使用默认值。
七、
<include file="file" />
允许将其他的roslaunch文件包含在当前文件中,实现模块化配置,包含一个file属性,用于指定的包含的roslaunch文件的路径。
通过使用includ