AMCL简介

概述

amcl是一种机器人二维运动的概率定位系统。它实现了自适应(或kld采样)蒙特卡罗定位方法(如Dieter Fox所述),该方法使用粒子过滤器跟踪机器人对已知地图的姿态。

1 算法

只适用于激光扫描

2 example

amcl scan:=base_scan

3 节点

3.1 amcl

3.1.1 订阅

scan (sensor_msgs/LaserScan)
tf (tf/tfMessage)
initialpose (geometry_msgs/PoseWithCovarianceStamped)
map (nav_msgs/OccupancyGrid)

3.1.2 发布主题

amcl_pose (geometry_msgs/PoseWithCovarianceStamped)
particlecloud (geometry_msgs/PoseArray)
tf (tf/tfMessage) 从odom到map

3.1.3 服务

static_map (nav_msgs/GetMap)

3.1.4 关键参数

use_map_topic (bool, default: false)
当true时,amcl将订阅map topic,而不是调用服务去获得地图。

~odom_frame_id (string, default: “odom”)
Which frame to use for odometry.

~base_frame_id (string, default: “base_link”)
Which frame to use for the robot base

~global_frame_id (string, default: “map”)
The name of the coordinate frame published by the localization system

与里程计定位的区别:
odometry:得到的是机器人base相对于odom(然而odom可能漂移)
AMCL简介_第1张图片
acml:估计的是base坐标系关于全局map坐标系的,但是发布的是odom关于map的变换。
AMCL简介_第2张图片

你可能感兴趣的:(ROS导航)