Questions tagged «sensor-fusion»

2
如何融合传感器的线性和角度数据
我和我的团队正在建立一个室外机器人,该机器人配备编码器,商业级IMU和GPS传感器。机器人具有基本的油箱驱动器,因此编码器可充分提供左右车轮的滴答声。IMU以x,y和z给出滚动,俯仰,偏航和线性加速度。稍后我们可以添加其他IMU,这些IMU可以提供冗余,但也可以额外提供滚动,俯仰和偏航的角速率。GPS发布全局的x,y和z坐标。 知道机器人的xy位置和航向将对机器人进行定位和绘制导航环境很有帮助。机器人的速度还可用于做出平稳的运动决策。这是一个基于地面的机器人,因此我们不太在乎z轴。该机器人还具有激光雷达传感器和摄像头-因此侧倾和俯仰将有助于转换激光雷达和摄像头数据以获得更好的方向。 我试图找出如何将所有这些数字融合在一起,从而最佳地利用所有传感器的准确性。现在,我们使用卡尔曼滤波器[x, x-vel, x-accel, y, y-vel, y-accel]通过简单的转换矩阵生成的估算值: [[1, dt, .5*dt*dt, 0, 0, 0], [0, 1, dt, 0, 0, 0], [0, 0, 1, 0, 0, 0], [0, 0, 0, 1, dt, .5*dt*dt], [0, 0, 0, 0, 1, dt], [0, 0, 0, 0, 0, 1]] 滤波器仅根据IMU提供的加速度估算状态。(IMU并不是最好的质量;在大约30秒内,它将显示机器人(静止时)从其初始位置漂移了20米。)我想知道如何从IMU以及可能的侧倾,俯仰和偏航率,来自车轮的编码器数据以及GPS数据,以改善状态估计。 通过一点数学,我们可以使用两个编码器在机器人上生成x,y和航向信息,以及线速度和角速度。编码器非常精确,但在室外场所可能会打滑。 在我看来,这里有两组独立的数据,很难融合: x,x-vel,x-accel,y,y-vel,y-accel的估计 侧倾,俯仰,偏航和侧倾,俯仰和偏航率的估计 即使这两套设备之间存在交叉,但我仍难以确定如何将它们组合在一起。例如,如果机器人以恒定速度行驶,则由其x-vel和y-vel确定的机器人方向将与其偏航相同。虽然,如果机器人处于静止状态,则无法通过x和y速度准确确定偏航。而且,由编码器提供的数据,转换为角速度,可能是偏航率的更新……但是如何才能最终获得更好的位置估计呢? …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.