zoukankan      html  css  js  c++  java
  • 状态和面向对象编程——1.定位步骤

    定位

    所有无人驾驶车要安全畅游全球,都必须经过一系列相同的步骤。

    你一直在学习第一步:定位。在车辆能够安全驾驶之前,它们首先要使用传感器和收集的其他数据对它们所处的位置做出最佳估计。

     

    卡尔曼滤波器

    让我们来回顾一下卡尔曼滤波器对汽车定位所需的步骤。

    1.初始预测

    首先,我们对车辆的位置进行初步预测,然后用概率分布来描述我们对该预测的不确定性。

    下面是一个一维的例子。我们知道车辆在这条车道上,但是我们不知道它的确切位置。

     

    一条车道和一个初始的均匀概率分布。

     

    2. 测量更新

    然后,我们感知汽车周围的世界。这一步叫做测量更新。我们收集关于汽车周围环境的更多信息,并改进我们的位置预测。

    比如,通过测量得知,车辆位于停车标志前两个网格单元左右;这个测量并不完美,但让我们对汽车的位置有了更好的了解。

     

    测量更新

     

    3. 预测(或时间更新)

    下一步是移动。也称为时间更新或预测步骤。根据我们对速度和当前位置的了解,我们需要预测汽车朝哪里移动。我们需要通过概率分布漂移来反映移动。

    在下一个例子中,我们将进行概率分布漂移,以反映车辆向右移动了一个单元格。

     

    预测步骤

     

    4.重复

    最后,我们终于对车的位置形成了一个新的估计!卡尔曼滤波器可简单地重复感知和移动(测量和预测)步骤,就可以在车辆移动时对其进行定位!

     

    卡尔曼滤波器的步骤

     

    小贴士

    卡尔曼滤波器的美妙之处在于,它将不够准确的传感器测量结果和不够准确的运动预测相结合,得到一个筛选后的位置估计值,这个估计值比所有  来自传感器读数或移动预测的估计值更好。

  • 相关阅读:
    UNIX网络编程(转载)
    cin、cin.get()、cin.getline()、getline()、gets()等函数的用法(转)
    GSL GNU Scientific Library
    为人处事很有意义
    上海老大杜月笙——教你看穿一个人
    超实用的Linux/Unix快捷键大汇总(开发、管理)(2)(转)
    STL map常用操作简介(转)
    使用ifstream和getline读取文件内容[c++]
    VIM Tips
    超实用的Linux/Unix快捷键大汇总(开发、管理)(1)(转)
  • 原文地址:https://www.cnblogs.com/fuhang/p/8988925.html
Copyright © 2011-2022 走看看