目录
前言
最近一直在研究launch文件,因为这是初学者绕不过去的坎。
内容
这里我以一个案例作为演示。
xml
<launch>
<!-- 将 Urdf 文件的内容加载到参数服务器 -->
<!-- 加载机器人模型描述参数 -->
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find two_lidar_pkg)/urdf/xacro/two_lidar.xacro'" />
<!-- 启动 gazebo -->
<include file="$(find gazebo_ros)/launch/empty_world.launch" />
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen" />
<!-- 在 gazebo 中显示机器人模型 -->
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
args="-urdf -model mbot -param robot_description"/>
</launch>
这里面前面两行比较好理解,一个是导入机器人模型文件,另外一个就是启动gazebo仿真。
robot_state_publisher
xml
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen" />
这一行,经过我的验证,最主要的区别如下
没有这行的话,打开rviz后,这里面就是原始的map,没有下拉这些选项,因此,打开 rviz的时候,模型是白色的 。
output="screen"
xml
<!-- 在 gazebo 中显示机器人模型 -->
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
args="-urdf -model mbot -param robot_description"/>
这里面,很重要的就是output参数,我之前没有设置,导致gazebo打开的时候,模型是白色的,根本看不出是啥。
这应该是因为,你根本没有 在gazebo中显示机器人模型。
现在这个就好多了
结尾
当然,我这里面说的,不一定是对的,因为我也是初学者,大家可以结合仿真或者rviz,来看看这些到底起什么作用。