内容发布更新时间 : 2024/12/23 2:04:57星期一 下面是文章的全部内容请认真阅读。
《机器人控制理论与技术》课程论文
SLAM技术浅析
学号:115110001089 姓名:金威
摘要:本文首先对SLAM技术进行了介绍,然后对现有的SLAM技术算法作了简要分析,选取应用范围较广的扩展卡尔曼滤波算法(EKF-SLAM)法进行了说明,最后对SLAM技术现有的问题和难点作了总结归纳。 关键词:SLAM技术;扩展卡尔曼滤波算法; 一、引言
移动机器人同步定位与建图问题 (Simulataneous local-ization and map building,SLAM) 是机器人能否在未知环境中实现完全自主的关键问题之一。
已知环境地图的定位问题和已知定位的地图创建问题已经被广泛研究,提出了多种有效的解决途径。 而当地图和机器人的位置都事先未知时,问题就变得更加复杂,出现了许多独有的新特征。在这种情况下, 要求机器人在一个完全未知的环境中从一个未知的位置出发,在递增地建立环境的导航地图同时,利用已建立的地图来同步刷新自身的位置。
SLAM指的是机器人在自身位置不确定的条件下,在完全未知环境中创建地图,同时利用地图进行自主定位和导航。
SLAM问题可以描述为: 机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和传感器数据进行自身定位,同时建造增量式地图。 这样一种不断迭代的过程,曾有人形象地比喻为“鸡和蛋”的问题。被学术界简称为SLAM问题。随着移动机器人应用环境日趋复杂和非结构化,其已成为自主移动机器人面临的急需解决的重要基础性难题,日益受到关注。 二、SLAM发展
可靠导航是移动机器人实现自主的先决条件之一,它包括回答:“ 我在哪里?” “ 我要去哪里?”和“我怎样到达那里?”这三个问题。移动机器人的同步定位和地图创建问题 Simulataneous local-ization and map building,SLAM ) 要求机器人在一个完全未知的环境中从一个未知的位置出发,利用传感器对环境的观测递增地建立环境的导航地图,同时根据已建立的地图同步确自己的位置,从而全面地回答“我在哪里?” 这一问题。SLAM技术具有重要的理论和价值,被很多学者认为是移动机器人实现真正自主的关键。甚至称其为自主移动机器人界的
《机器人控制理论与技术》课程论文
“ 圣杯 ( Holy grail)。机器人的定位可分为相对定位和绝对定位两种。前者是根据机器人本身或从环境中提取某些 特征信息,如物体外部几何结构点、里程信息等,结合上一次的位置和姿态来判断出机器人的当前位姿, 该方法灵活性高,有利于机器人的导航与定位,但误差累积较大会造成定位精度降低。 而后者是通过人们在环境中预先设置的路标或显眼节点等来计算机 器人实时 的位姿,此法快速可靠,但适用范围较窄,在无法设置路标场合难以工作。 通常将以上两种方法相结合来提高机器人的定位精度。
随着SLAM技术的发展,产生的许多SLAM算法。包括扩展卡尔曼滤波算法(EKF-SLAM)、粒子滤波算法 (Fast-SLAM)、扩展信息滤波算法(EIF-SLAM)、扫描匹配算法(DP-SLAM)、解耦算法(D-SLAM)、压缩扩展卡尔曼滤波算法(CEKF-SLAM)、快速扩展信息滤波算 法 (FEIF-SLAM)、无迹卡尔曼滤波算法 (UKFSLAM)、Rao -Blackwelled 粒 子 滤 波 算 法 (RBPR -SLAM)、Uncented FastSLAM法(UFastSLAM)法等。 较常用的是 EKF、Fast-SLAM、UKF、RBPF 以及 UFastSLAM法。EKF 的数学严谨,估计准确,但线性相关较差,UKF不适于解决存在非线性和高斯噪声情况。粒子滤波算法对线性和噪声没有要求,但问题的维数较高时计算量较大,难以满足系统实时性要求。 FEIF是EIF的对称形式,保留了 EIF 的优点,但滤波的一致性更好。而UKF 比 EKF 有着更好的滤波一致性,并且适用于室外大的复杂环境。RBPF 对解决非线性和非高斯噪声时具有很好的特性。相比Fast-SLAM和RBPF-SLAM在雅各比线性逼近非线性功能不足的 问题,UncentedFastSLAM 就能更好地解决线性逼近问题,并且有很好下面,对在SLAM领域应用较广泛的扩展卡尔曼滤波的slam算法进行介绍。
三、扩展卡尔曼滤波算法(EKF-SLAM)原理
扩展 Kalman 滤波( EKF) 是非线性系统的线性估计 ,广泛应用于定位 、创建地图和导航等算法上,同时它也是多种 SLAM 算法的基础 3.1 SLAM 问题的概率描述
首先介绍相关的符号表示:离散时间k=1,2,…:xk是机器人在k时刻的实际位置(位姿包括机器人位置和朝向);uk 表示控制变量 ,它使得机器人位姿从
xk?1改变到 xk; mi表示第 i 个路标的实际位置; zki表示k 时刻在位姿xk 处对
《机器人控制理论与技术》课程论文
第i个路标的测量值 ; zk表示 k 时刻得到的总测量值。另外,我们用大写字母来表示以上变量的集合 : 状态集合:
XK??x0,x1,...,xk,???Xk?1,xk?控制输入集合:
UK??u1,u2,...,uk???UK?1,uk?所有路标集合(即地图) 测集合:
;
M??m1,m2,...,ml?,其中l是整个地图上路标的个数; 观
Zk??z1,z2,...,zk???ZK?1,zk?测量模型。 运动模型:
;
基于上面的符号表示, 我们可用概率表示SLAM 中两个重要模型 : 运动模型和
p?xk|uk,xk?1?
是在已知 k 时刻机器人控制输入uk 和 k -1 时刻位姿xk?1 的条件下求 取 k 时刻位姿 xk的条件概率。 运动模型可由机器人的运动学和动力学特性求得。测量模型:
p(zk|xk,M)是在已知 k 时刻机器人位姿xk 和路标位置集合
M 的条件下求取k 时刻测量值 zk 的条件概率。 测量模型在使用栅格地图的情况下可通过反复测量传感器数据而求得。 整个 SLAM 问题可以用概率
p(xk,M|Uk,Zk)表示 ,其含义是在已知所有控制输入 Uk 和观测值Zk的
条件下求取机器人位姿 xk 和地图 M 的联合条件概率 。 基于机器人运动是 Markov 过程和周围环境是静态的这两个假设 , 应用 Bayes 公式 , 得到下式
p(xk,M|Uk,Zk)???p(zk|xk,M)?p?xk|uk,xk?1?p?xk1,M|UK?1,ZK?1?dxk?1?x这是一个回归算式, 其中P
K?1K?1,M|U,Z?k1