编写规范
节点命名空间: 在节点定义中,尽量使用命名空间来避免节点名称的冲突。例如,使用 来设置命名空间,然后在该命名空间内定义节点。
参数传递: 如果需要向节点传递参数,使用 标签来设置参数。这可以使你的节点更加灵活,可以根据需要在不同的启动文件中设置不同的参数值。
节点启动: 使用 标签来定义要启动的节点。确保提供正确的 pkg(包名)、type(节点类型)、**name(节点名称)**等信息。如果你的节点依赖于其他节点,可以使用 标签来引入其他launch文件。
条件启动: 如果你需要在特定条件下启动节点,可以使用 和 来设置条件。这可以根据需要灵活地启用或禁用节点。
参数文件: 如果你有大量的参数需要设置,可以使用 标签引入参数文件,以保持launch文件的清晰度。
编写示例
<launch>
<!-- 设置命名空间 -->
<group ns="my_namespace">
<!-- 启动节点 -->
<node pkg="my_robot_pkg" type="my_robot_node" name="my_robot" output="screen">
<param name="robot_name" type="string" value="TurtleBot"/>
</node>
</group>
<!-- 引入参数文件 -->
<rosparam file="$(find my_robot_pkg)/config/my_robot_params.yaml" command="load"/>
<!-- 启动时进行条件检查 -->
<if>
<launch-prefix unless="robot_sim">gnome-terminal -- bash -c</launch-prefix>
<param name="robot_sim" value="true"/>
</if>
</launch>