- my_move_base.launch
启动move_base节点,并且加载所有配置文件,代码如下:
<launch>
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen" clear_params="true">
<rosparam file="$(find myrobot_navigation)/config/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find myrobot_navigation)/config/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find myrobot_navigation)/config/local_costmap_params.yaml" command="load" />
<rosparam file="$(find myrobot_navigation)/config/global_costmap_params.yaml" command="load" />
<rosparam file="$(find myrobot_navigation)/config/base_local_planner_params.yaml" command="load" />
</node>
</launch>
- 创建一个运行所有导航功能节点的顶层launch文件mrobot_navigation/launch/my_nav_demo.launch,代码如下:
<launch>
<param name="use_sim_time" value="false" />
<arg name="map" default="map.yaml" />
<node name="map_server" pkg="map_server" type="map_server" args="$(find myrobot_navigation)/maps/$(arg map)"/>
<include file="$(find myrobot_navigation)/launch/my_move_base.launch" />
<node pkg="fake_localization" type="fake_localization" name="fake_localization" output="screen" />
<node pkg="tf" type="static_transform_publisher" name="map_odom_broadcaster" args="0 0 0 0 0 0 /map /odom 100" />
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find myrobot_navigation)/rviz/nav.rviz"/>
</launch>
- 启动机器人模型,还需要创建一个mrobot_bringup/launch/fake_mrobot_with_laser.launch文件
<launch>
<param name="/use_sim_time" value="false" />
<arg name="urdf_file" default="$(find xacro)/xacro --inorder '$(find mrobot_description)/urdf/mrobot_with_rplidar.urdf.xacro'" />
<param name="robot_description" command="$(arg urdf_file)" />
<node name="arbotix" pkg="arbotix_python" type="arbotix_driver" output="screen" clear_params="true">
<rosparam file="$(find mrobot_bringup)/config/fake_mrobot_arbotix.yaml" command="load" />
<param name="sim" value="true"/>
</node>
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher">
<param name="publish_frequency" type="double" value="20.0" />
</node>
</launch>