了解imu和imu校准

因为实验室项目,需要imu,所以之前没听说过,所以有段时间一直在摆弄这种小东西。关于它的一些定义就更不用说了,网上有很多,都不是很重要。就说点你能用的。

Imu中文叫惯性测量单元,可以获取自身的加速度和角速度信息,有些IMU还可以获取地磁量。实验室使用BNO055 Xplained Pro。它有三个加速度计,三个陀螺仪和三个磁力计,可以测量X,Y和Z方向的信息。因为我们还在初级学习阶段,不了解磁强计,所以只用加速度计和陀螺仪得到的加速度和角速度信息。(有一点我想吐槽一下。实验过程中,我烧了两个IMU和一个usb。原因是BNO055 Xplained Pro模块的引脚没有被焊料完全包裹。在实验室里安装在汽车上时,针脚直接与汽车的金属外壳接触而燃烧。哭出来真的很蠢)l

Imu通常在使用前进行校准,加速度计和陀螺仪的校准是分开的。由于加速度计得到的加速度值是不稳定的,不是一个常数,不可能直接从结果中减去一个值来完成标定。常用的方法是最小二乘法,具体的方法和原理可以参考这里。陀螺仪得到的信息是一个常数,直接从结果中减去这个常数就可以完成标定。

本来准备写个程序校准加速度计,后来写的时候没想到二次方程怎么解。结果发现有个imu校准的包,就打算直接用这个。根据它的REAME.md,应该可以得到标定参数。但是里面安装Ceres Solver的链接无效,可以参考这里安装。

因为写这篇文章的时候我在出差,手头没有imu收集数据,所以无法做实验。等我回学校验证一下是否可行~