ptam tracking

来源:互联网 发布:ubuntu自启动程序 编辑:程序博客网 时间:2024/06/05 03:07

并行追踪与制图(Parallel Tracking and Mapping)简称PTAM,于2007年由英国牛津大学主动视觉实验室的Georg Klein和David Murray提出。PTAM在机器导航,机器探索,人机互动,三维重建等方面都有应用。在这之前已经有人尝试用slam(simultaneous localization and mapping)算法来进行机器探索。PTAM系统主要是通过双核处理器将追踪和制图分开在两个线程中来实现。追踪线程用来对相机的位姿进行实时的追踪,制图线程用来绘制从视频帧中观察得到的特征点以形成三维的地图,主要是为我们的追踪线程提供数据源,不要求其为实时的操作。两个独立线程的应用,使得一些计算复杂的优化技术在不要求实时性的情况下得以运行,从而为机器导航提供了精确性和鲁棒性。




1、同时定位与地图创建允许机器人在未知环境中,依靠自身所带的传感器递增式地创建环境地图,并同时给出机器人所在位置。

2、移动机器人的定位有两种类型:全局定位/绝对定位(Global/Absolute Localization)位置跟踪(Position Tracking)
全局定位:给定环境地图,在没有其他先验信息的情况下,机器人依靠自身所带来的传感器获得的信息确定其在地图中的位置。全局定位用来解决“Lost Robot”问题,对机器人位置进行初始化。全局定位必须要求有一个预先知道的环境地图。匹配技术或数据关联方法常用于移动机器人全局定位,通过比较当前的局部地图信息与全局地图信息,确定机器人的位置。但是由于环境的近似性和对称性,一般的匹配方法不能保证有效地解决全局定位问题。目前,基于贝叶斯滤波技术的概率方法成为解决全局定位问题的流行方法。通过递归地计算在机器人位置空间上的概率分布,来确定机器人在工作环境中最可能的位置。
位置跟踪:基于一定的初始信息,对机器人的位置进行跟踪估计。一般地,可将机器人位姿看作是系统状态,运用滤波技术对机器人的位姿进行滤波估计。最常用的方法是卡尔曼滤波。卡尔曼滤波是一种经典的线性最优递归估计算法。它将机器人的位姿表示为一个高斯概率分布函数,均值方差即为机器人的位姿估计及其估计误差。卡尔曼滤波只能处理高斯线性问题,但是机器人的运动方程及观测方程一般都是高度分线性的,这大大限制了卡尔曼滤波算法的应用。因此,运用各种不同的近似技术进行次优的滤波估计成为重要的定位手段
3、同时定位与地图创建(SLAM)
SLAM的动机在于不需要先验地图而能精确定位,并且它维持的地图能够随环境的变化进行扩展和自适应。SLAM通过机器人的传感器探测环境特征,然后由机器人的位姿估计特征位置,并把地图特征存入地图。当特征被重复观测时,特征位置的不确定性逐渐降低,此时可用这些特征位置去提高机器人的位姿估计,使得能够得到收敛的位姿估计与环境地图
****当机器人探索位置区域得到特征的相对观测时,所有特征位置的估计都是相关的,因为他们都是基于共同的机器人位姿估计误差****
****相关性是得到满足收敛性估计结果的关键因素,处理过程中特征相关性维持的越好,将会得到更好的结果。****
****基于状态空间的SLAM实际上是一个联合状态向量的估计问题,该联合状态向量包括机器人的位姿x观测到的的静态特征的位置m。在这种比较特殊的结构中,过程模型/运动模型(Process Model/Motion Model)只影响机器人位姿状态,而观测模型(Observation Model)只和单个机器人位姿特征有关。****
****几乎所有的状态估计算法都会遇到数据关联的问题。SLAM中,数据关联用来建立观测与地图中已有特征的关系,但是由于机器人位姿的不确定、特征密度的变化、环境中动态目标的干扰及观测中虚假成分的存在使得关联是一个非常困难、复杂的过程。数据关联算法包含以下两个基本方面:(1)用来检验传感器观测地图特征相容性的条件;(2)从满足相容性的特征中挑出最佳匹配的选择标准。****
****延时地图创建:只有距离和方位的单个信息不足以确定一个特征的位置,需要机器人多个位置的多个测量才能确定。但是,单个测量产生了一个分高斯分布特征,而多个测量后需要得到一个近似的高斯分布。为了得到近似的高斯分布特征位置估计,可以采用延时初始化,并在延迟的时间段积累测量数据。这种延时策略的思想是通过积累信息,延时做出决策以提高鲁棒性。为了保证延时数据的一致性,需要在状态向量中以增广的方式记录每一观测时刻的机器人位姿,并采用一个辅助向量来记录对应每一个机器人位姿的观测。****
****环境地图模型:典型的环境地图表示方法为特征地图,环境模型为由特征点构成的环境地图,每个特征点用它在全局坐标系中的位置Li来表示。因此,环境地图可表示为M=[L1,L2...Ln]。由于SLAM是解决未知环境中的定位导航问题,所以地图创建的过程本质上是一系列特征点的位置估计问题,并且地图是不断更新的,因为特征点的位置将和机器人位姿一起进行估计与更新。****
****机器人位置模型:定位是对机器人的位姿进行估计的过程,也就是确定机器人在全局坐标系中的位置及车体方向的过程。

原创粉丝点击