如何排除位于孔隙姿势后面的车轮机器人的姿势

时间:2017-03-08 09:41:45

标签: robotics kalman-filter sensor-fusion

我目前正在研究基于GPS,激光雷达,视觉和车辆测量的基于车轮的机器人姿势的传感器融合。其模型是使用EKF的基本运动学,并且不区分传感器,即数据基于时间戳进入。

由于以下问题,我很难融合这些传感器; 有时,当最新的输入数据来自传感器的不同传感器给出之前的状态时,机器人的最新姿势进入先前姿势。因此,数据融合不会如此平滑和曲折。

我想丢弃先前数据后面/后面的数据,并且即使在时间戳t和时间戳t + 1之间提供数据的传感器发生变化时,也会采取始终向前/超前的状态的数据。由于数据帧是全局帧,因此不可能在负数上依赖其x坐标来实现这一点。

如果您对此有所了解,请告诉我。非常感谢你提前。 最好,

1 个答案:

答案 0 :(得分:0)

初步警告

在建议对您的问题提出可行的解决方案之前,让我在这里发出警告:小心根据您当前的估算丢弃数据,因为您永远不知道最后一个措施是“拉回姿势”还是前一个错误并导致您的估计过分前进。

可行的解决方案

在类卡尔曼滤波器中,假设观测值提供关于状态向量变量的独立,不相关的信息。假设这些观察具有随机误差分布为零均值高斯变量。但现实生活更难: - (

有时,测量受“偏差”(固定项,类似于具有非零均值的高斯误差)的影响。例如已知对流层扰动会在GPS定位中引入位置误差,随着时间的推移缓慢漂移。 如果您使用多个传感器观察相同的变量,如GPS和激光雷达的位置,但它们有不同的偏差,您的估计将来回跳跃。缩放问题可能会产生类似的效果。

我认为这是你问题的根源。如果没有,请改进您的问题。

如何缓解这个问题?我看到了几种选择:

  • 在状态向量中引入偏差/比例修正项,以补偿传感器偏差/漂移。这是EKF中用于惯性传感器融合(陀螺仪/加速度计)的一种非常常见的技巧,在正确调谐时可以很好地工作。
  • 对感官输入应用一些预处理以纠正已知问题。调整滤波器以同时估计状态向量和传感器参数可能很困难。
  • 更改观察结果的解释方式。例如,使用连续位置观察之间的差异,以便创建假里程表传感器。这大大减少了漂移问题。
  • 对输出进行后期处理。不是放弃观察,而是整合它们并在内部保持“跳跃”状态向量,但平滑输出向量以消除跳跃。这在一些无人机自动驾驶仪中完成,因为这种跳跃会影响PID控制器的性能。

最后,最明显和最简单的方法:根据某些统计测试丢弃观察结果。可以使用残差的卡方检验来确定观察是否远离预期值并且必须被丢弃。但要注意这些选项:必须使用状态向量重新初始化逻辑完成观察拒绝方案,以便在稳定行为中重新开始。

几乎所有这些解决方案都需要了解每个观察的来源,因此您将无法再模糊地对待它们。