机器人学 —— 机器人感知(Kalman Filter)

  对于机器人感知任务而言,经常需要预判物体的运动,保证机器人在物体与自身接触之前进行规避。比如无人机与障碍物的碰撞,足球机器人判断足球的位置。预判的前提是对当前状态进行准确的估计,比如足球的速度,障碍物靠近的速度。一般认为,测量是存在误差的 —— 眼见未必为实。

1、物体的运动学模型

  物体的运动学模型使用状态向量来表达。以2维空间的质点运动为例,物体的运动学模型可以表达为 x = [ px py vx vy ]‘ 。其中 px py 表示物体的位置,vx vy 表示物体的速度。如果能够准确估计物体当前状态x 就可以对其一段时间后的状态进行判断。然而当前状态的测量噪声会对x 的估计产生干扰。Kalman Filter 的作用就是去除这些干扰。

  卡尔曼滤波器的原理是使用马尔科夫链来对随机变量进行推测。马尔科夫链是一种特殊的贝叶斯网络,所以卡尔曼滤波器实际上是一种贝叶斯滤波器。其Graph Model 如下所示:

  

  这里需要指出的是 Xt-1 实际是未知的,但是我们以其估计量来作为实际值的最优估计。对于给定PGM,我们使用高斯分布来对随机变量进行建模 —— 高斯分布的几大优点见上篇博客。在不考虑子节点(还没有发生),父节点又被认为是给定的情况下,当前节点的CPD可以认为是父节点与观测节点的Factor product. 如果我们使用高斯模型进行建模,则factor 如下:
  

  其中,A代表转移矩阵,给定 t 时刻的状态,t+1时刻则由转移矩阵确定。vm 则表示转移噪声 —— t+1 时刻与 t 时刻中,速度不是常量。 vo 表示观测噪声 —— 我们对测量的肯定程度。使用高斯模型建模后,我们可以得到p(xt+1|xt) 与p(zt|xt) 的分布。第一个定义了xt+1|x的 factor ,第二个定义了观测模型的factor.  于是,我们可以用贝叶斯公式求取 p(xt|xt-1, zt-1 ) .

  

  这里需要指出的是,一旦给定了zt 的父节点 xt , 那么zt 和 xt-1 是 d- Seperate 的。所以 P(zt|xt,xt-1) = P(zt|xt).

2、最大后验估计

  

 

  最大后验估计对象如上,按照上述公式即可实现卡尔曼滤波器。实现后的误差及预测结果如图:

  

  卡尔曼滤波器的设计技巧在于,如果物体不是匀加速运动(如足球的滚动),那么位置方差可以给的较小(认为我们的运动跟踪算法帧率足够高,且相机检测够准),但是!!!速度方差一定要给的够大,以保证能够模拟变加速状态!!!

  

时间: 2024-08-27 08:34:10

机器人学 —— 机器人感知(Kalman Filter)的相关文章

机器人学 —— 机器人感知(Gaussian Model)

机器人感知是UPNN机器人专项中的最后一门课程,其利用视觉方法来对环境进行感知.与之前提到的机器人视觉不同,机器人感知更侧重于对环境物体的识别与检测.与计算机视觉不同,机器人视觉所识别的物体往往不需要高精度测量,物体也有明显特征.机器人感知最为典型的应用是对环境的感知 —— SLAM,同步定位与地图构建.如果说机器人视觉解决了where am I的问题,那么Robotic Perception 面对的是Who is it. 1.1D Gaussian 感知要解决的是对环境识别的问题,沿着PGM的

机器人学 —— 机器人感知(Mapping)

对于移动机器人来说,最吸引人的莫过于SLAM,堪称Moving Robot 皇冠上的明珠.Perception 服务于 SLAM,Motion Plan基于SLAM.SLAM在移动机器人整个问题框架中,起着最为核心的作用.为了专注于Mapping,此章我们假设 Location 是已知的. 1.Metric Map 轨迹规划任务是再Metric Map的基础上完成的.当然,层次最高的是语意图,语意图是未来研究的热点方向.获取Metric Map 的难度最大之处在于:1.传感器噪声(May be

机器人学 —— 机器人感知(Location)

终于完成了Robotic SLAM 所有的内容了.说实话,课程的内容比较一般,但是作业还是挺有挑战性的.最后一章的内容是 Location. Location 是 Mapping 的逆过程.在给定map的情况下,需要求取机器人的位姿. 1.Location 的意义 在机器人导航任务中,location 可以告诉机器人目前位置,以方便闭环控制或者轨迹规划.一般情况下,Location 可以通过GPS,WIFI 等方式完成.GPS的定位精度在3.5米左右,WIFI则大于10米.对于机器人.无人汽车而

卡尔曼滤波(Kalman Filter)在目标边框预测中的应用

1.卡尔曼滤波的导论 卡尔曼滤波器(Kalman Filter),是由匈牙利数学家Rudolf Emil Kalman发明,并以其名字命名.卡尔曼出生于1930年匈牙利首都布达佩斯.1953,1954年分别获得麻省理工学院的电机工程学士以及硕士学位.1957年于哥伦比亚大学获得博士学位.卡尔曼滤波器是其在博士期间的研究成果,他的博士论文是<A New Approach to Linear Filtering and Prediction Problem>[1]. 卡尔曼滤波器是一个最优化自回归

无人驾驶技术之Kalman Filter原理介绍

基本思想 以K-1时刻的最优估计Xk-1为准,预测K时刻的状态变量Xk/k-1,同时又对该状态进行观测,得到观测变量Zk,再在预测与观之间进行分析,或者说是以观测量对预测量进行修正,从而得到K时刻的最优状态估计Xk. 具体实例 设一个机器人有两个状态量,分别为位置P,速度V.在这里记为: 卡尔曼滤波假设两个变量(位置和速度,在这个例子中)都是随机的,并且服从高斯分布.每个变量都有一个均值μ,表示随机分布的中心(最可能的状态),以及方差 ,表示不确定性.其中,位置和速度之间可以是相关的也可以是不相

卡尔曼滤波(Kalman Filter)原理与公式推导

一.背景---卡尔曼滤波的意义 随着传感技术.机器人.自动驾驶以及航空航天等技术的不断发展,对控制系统的精度及稳定性的要求也越来越高.卡尔曼滤波作为一种状态最优估计的方法,其应用也越来越普遍,如在无人机.机器人等领域均得到了广泛应用. 对于Kalman Filter的理解,用过的都知道"黄金五条"公式,且通过"预测"与"更新"两个过程来对系统的状态进行最优估计,但完整的推导过程却不一定能写出来,希望通过此文能对卡尔曼滤波的原理及状态估计算法有更一

泡泡一分钟:Robust Attitude Estimation Using an Adaptive Unscented Kalman Filter

张宁 Robust Attitude Estimation Using an Adaptive Unscented Kalman Filter 使用自适应无味卡尔曼滤波器进行姿态估计链接:https://pan.baidu.com/s/1TNeRUK84APiwNv1uyQfhHg 提取码:pbdt This paper presents the robust Adaptive unscented Kalman ?lter (RAUKF) for attitude estimation. Sin

(转) How a Kalman filter works, in pictures

How a Kalman filter works, in pictures I have to tell you about the Kalman filter, because what it does is pretty damn amazing. Surprisingly few software engineers and scientists seem to know about it, and that makes me sad because it is such a gener

GMM+Kalman Filter+Blob 目标跟踪

转 http://www.cnblogs.com/YangQiaoblog/p/5462453.html ==========图片版============================================================================== ===================================================================================== 最近学习了一下多目标跟踪,看了看Mat