机器人定位(amcl)与导航

机器人定位(amcl)与导航

说明

  • 在gmapping成功构建地图的基础上进行定位与导航的仿真
  • amcl是移动机器人二维环境下的概率定位系统,根据订阅到的地图数据配合激光扫描特征,使用粒子滤波获取最佳定位点
  • move_base包可以用来达到一个给定的导航目标点。当选择机器人行走的路径时,move_base包合并base_local_planner基本局部规划器、全局代价地图和局部代价地图的里程数据。

步骤

完整建图

  • 参考激光雷达(iplidar)gmapping构建地图

配置

  • 增加rplidar_amcl_demo.launch文件

roscd turtlebot_navigation
touch launch/rplidar_amcl_demo.launch

  • 具体代码为:
<launch>

   
  <include file="$(find turtlebot_bringup)/launch/minimal.launch"/>

  
  <arg name="laser_type" default="rplidar" />
  <include file="$(find turtlebot_navigation)/laser/driver/rplidar_laser.launch" />


  
  <node name="map_server" pkg="map_server" type="map_server" args="$(find turtlebot_navigation)/maps/test_map.yaml" />

  
  <include file="$(find turtlebot_navigation)/launch/includes/amcl/$(arg laser_type)_amcl.launch.xml"/>

  
  <arg name="custom_param_file" default="$(find turtlebot_navigation)/param/$(arg laser_type)_costmap_params.yaml"/>
  <include file="$(find turtlebot_navigation)/launch/includes/move_base.launch.xml">
    <arg name="custom_param_file" value="$(arg custom_param_file)"/>
  include>


  <include file="$(find turtlebot_rviz_launchers)/launch/view_navigation.launch"/>

launch>

测试

  • 新终端,启动roscore

roscore

  • 启动rplidar_amcl_demo.launch

roslaunch turtlebot_navigation rplidar_amcl_demo.launch

  • 运行结果

    • 载入地图
      机器人定位(amcl)与导航_第1张图片

    • 指定目标点,进行路径规划
      机器人定位(amcl)与导航_第2张图片

你可能感兴趣的:(ros学习)