WIKI : explore_lite - ROS Wiki

一、安装explore_lite

sudo apt-get install ros-noetic-explore-lite

二、launch文件配置

在ros的share目录下,找到explore_lite的功能包,其中launch文件夹下面有两个,配置explore_lite即可。 

explore_costmap.launch配置文件如下,其中需要注意的是costmap_topic 和 costmap_updates_topic。

<launch>
<node pkg="explore_lite" type="explore" respawn="false" name="explore" output="screen">
  <param name="robot_base_frame" value="base_link"/>
  <param name="costmap_topic" value="move_base/global_costmap/costmap"/>
  <param name="costmap_updates_topic" value="move_base/global_costmap/costmap_updates"/>
  <!--指定是否发布可视化边界-->
  <param name="visualize" value="true"/>  
  <!--计算新边界和重新考虑目标的频率(Hz)-->
  <param name="planner_frequency" value="0.33"/>
  <!--时间以秒为单位。当机器人在 progress_timeout 没有任何进展时,当前目标将被放弃。-->
  <param name="progress_timeout" value="30.0"/>
  <!--用于加权边界。这个乘法参数影响前沿权重的前沿潜在分量(到前沿的距离)。-->
  <param name="potential_scale" value="3.0"/>
  <!--用于加权边界。这个乘法参数影响前沿权重的前沿方向分量。此参数目前不执行任何操作,仅用于向前兼容。-->
  <param name="orientation_scale" value="0.0"/>
  <!--用于加权边界。这个乘法参数影响边界权重(边界大小)的边界增益分量。-->
  <param name="gain_scale" value="1.0"/>
  <!--变换机器人姿势时使用的变换容差。-->
  <param name="transform_tolerance" value="0.3"/>
  <!--将边界视为探索目标的边界的最小大小。以米为单位。-->
  <param name="min_frontier_size" value="0.5"/>
</node>
</launch>

注意:启动自主建图的步骤:

        1、启动cartographer 或者 gmapping 建图,发布 /map 话题

        2、启动 move_base 保证接收到 goal 后能够发布 /cmd_vel 话题

        3、启动 explore_lite launch文件即可

附:

1、各个节点后的节点图

 2、move_base launch相关的配置

<launch>
  <!-- Arguments -->
  <arg name="odom_frame_id"   default="odom"/>
  <arg name="base_frame_id"   default="base_link"/>
  <arg name="global_frame_id" default="map"/>
  <arg name="laser_topic"     default="scan"/>
  <arg name="cmd_vel_topic"   default="cmd_vel" />
  <arg name="odom_topic"      default="odom" />
  <arg name="move_forward_only" default="true"/>

  <!-- move_base -->
  <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
    <param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS" />
    <rosparam file="$(find robot_navigation)/config/test_costmap_common_params.yaml" command="load" ns="global_costmap" />
    <rosparam file="$(find robot_navigation)/config/test_costmap_common_params.yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find robot_navigation)/config/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find robot_navigation)/config/global_costmap_params.yaml" command="load" />
    <!-- <rosparam file="$(find robot_navigation)/config/base_global_planner_params.yaml" command="load" /> -->
    <rosparam file="$(find robot_navigation)/config/move_base_params.yaml" command="load" />
    <rosparam file="$(find robot_navigation)/config/dwa_local_planner_params.yaml" command="load" />
    
    <param name="global_costmap/global_frame" value="$(arg global_frame_id)"/>
    <param name="global_costmap/robot_base_frame" value="$(arg base_frame_id)"/>
    <param name="local_costmap/global_frame" value="$(arg odom_frame_id)"/>
    <param name="local_costmap/robot_base_frame" value="$(arg base_frame_id)"/>
    <param name="DWAPlannerROS/global_frame_id" value="$(arg odom_frame_id)"/>
    
    <param name="DWAPlannerROS/min_vel_x" value="0.0" if="$(arg move_forward_only)" />
    
    <remap from="cmd_vel" to="$(arg cmd_vel_topic)"/>
    <remap from="laser_topic" to="$(arg laser_topic)"/>
    <remap from="odom" to="$(arg odom_topic)"/>

  </node>
</launch>

3、一个launch启动所有自主建图的节点

<launch>
    <!--参数配置,运动是否只向前,flase 则表示小车可以后退操作-->
    <arg name="move_forward_only" default="true" />  
    <!--启动gmapping建图-->
    <include file="$(find robot_navigation)/launch/gmapping.launch" />

    <!--启动move_base-->
    <include file="$(find robot_navigation)/launch/move_base.launch">
        <arg name="move_forward_only" value="$(arg move_forward_only)"/>
    </include>

    <!--启动explore_costmap-->
    <include file="$(find explore_lite)/launch/explore_costmap.launch" />
   
</launch>

三、常见问题

1、启动各个节点以后,并没有开始路径规划,小车未移动。

        检查节点各个话题是否能对应上,tf 树是否正确,另外小车的基体坐标系是base_link还是base_footprint。

2、节点话题都对应的上,小车还是不走的情况。

        检查cartographer 或者gmapping的地图发布频率,建议发布速度为5Hz。或者检查gmapping建图中map_update_interval这个参数,改为0.01。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐