基于Ardupilot固件的无人车开发平台,在卡尔曼滤波的数据融合方向做的还是比较好的。在位置估计和姿态估计用了扩展卡尔曼滤波。
卡尔曼滤波器是传感器融合工程师用于自动驾驶汽车的工具。想象一下,你有一个雷达传感器,告诉你另一辆车距离15米,一个激光传感器说车辆距离20米。你如何协调这些传感器测量?这就是卡尔曼滤波器的功能。
卡尔曼滤波算法在控制领域有极广泛的应用,在发动机燃油喷射控制中,可以应用扩展的卡尔曼滤波理论研究瞬态工况下发动机循环进气量的最优估计算法,在雷达中,人们感兴趣的是跟踪目标,但目标的位置、速度、加速度的测量值往往在任何时候都有噪声。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。
Ardupilot开源的无人车开发平台上面使用的扩展卡尔曼滤波是用在无人机上的,用于无人车也非常适合。比如在无人车上面非常重要的位置估计,提供了普通的GPS接口,千寻RTK接口,外部惯导的数据接口,控制板内部还有陀螺仪,加速度机,磁力计等,多个传感器来进行卡尔曼滤波得到位置和姿态信息。如果添加新的传感器只需要发布对应的传感器数据即可。完整PID调参系统,位置控制,速度控制,姿态控制接口,发布简单的指令即可。
下面为我们为这个无人车的开发平台做加入的千寻RTK的操作演示:
https://v.qq.com/x/page/e0765xhnoc4.html
接入激光雷达的测试:
https://v.qq.com/x/page/d074333nlfi.html
巡航模式下的避障: