惯导技术随想

        最近在做一个可移动机器人项目,我负责的那一部分有关于惯性导航这一方面的。查阅了相当多的技术资料,也调研了一下市场上惯性导航产品的售价。基本上市场上出售的商用惯导产品起步价都在2000元以上,更高的售价都接近30万了。并且,都有着使用局限,每隔一段时间需要重新校正一次。技术原理上以我查阅的资料来看,绝大多数都离不开 卡尔曼滤波、粒子滤波的各种扩展。
       为什么惯导会存在每隔一段时间校准一次,无法减少或者消除累积误差,精度像我们的位移测量那么廉价可靠呢?仔细分析了一下惯导传感器工作原理,私以为,实现惯性导航,应该使用模拟技术与数字技术相结合的方法来解决这个问题。以三轴加速度为例,惯性测量原理大致如下:物体受到外力运动会产生一个加速度,惯导传感器能检测到物体的惯性力,由牛顿定律从而可以得到线性加速度a。目前市场上在售惯导测量芯片,以mpu9250为例,我记得采样速率好像不会超过10Khz。由动量定理,我们可以轻易得出结论:对于惯性力作用时间非常微小的t,例如微秒、纳秒级别。惯导数字采样芯片无能为力,除非数字采样频率能够无穷大,这不可能。所以在惯性力变化非常大时间非常小的的范围,例如震动,官方手册给出的说明是,这种情况下测量出来的数据不是非常可靠的。
       怎么解决这个问题呢,下面就是我提出来的一种新的思路:既然惯性力可以获得,并且这个信号是连续的,只是采样频率限制了信号的连续性,那我们可以设计一个硬件积分电路,对惯性传感器得到的惯性力信号进行积分,显然,选取合适的电路参数,使得惯性力信号与加速度信号成F=A关系,则,一次积分得到速度信号,二次积分得到位移信号。然后根据需要,使用数字信号采样积分得到的信号。显然,使用积分电路会产生积分饱和的问题,但是,我们只需要再设计一个积分清零复位电路,在积分即将饱和前,数字信号累积当前积分结果,然后积分清零。
        这个思路的核心方法是,在初段,利用模拟电路的连续性,消除数字采样测量方法的盲区,能够有效消除或者减少累积误差,在末端,利用数字信号,实时获取积分结果。由于得到的速度及位移全部使用硬件积分解算,并且不需要使用各种卡尔曼及粒子滤波算法,减少的计算量是非常大的。
        从逻辑上看,思路没有任何问题,只不过我是做工程应用的,具体实现得依靠专业的IC设计人员来完成了。
 

你可能感兴趣的:(ROS机器人)