因为实验室项目原因,需要用到imu,所以以前从来没有听说过,所以这一段时间都在鼓捣这么个小东西。关于它的一些定义就不说了,网上一大堆,也不是很重要。就说一些自己有用到的东西吧。
imu中文叫做惯性测量单元,它能够获取自身的加速度、角速度信息,有的imu还能够获得地磁量。实验室中使用的是BNO055 Xplained Pro。它有3个加速度计,3个陀螺仪,3个地磁计,能够测量x,y,z方向的信息。因为还在初步学习阶段,没有去了解地磁计,所以只使用了加速度计和陀螺仪获得的加速度和角速度信息。(这里有一个点我要吐槽一下,实验的时候自己烧坏了两个imu和一个usb,原因是BNO055 Xplained Pro这个模块它的管脚不是完全被焊锡包住的,安装在实验室的小车上时管脚直接与小车的金属壳体接触就给烧了,真是蠢哭了- -)l
imu在使用之前一般都要标定,加速度计和陀螺仪的标定是分开的,因为加速度计获得的加速度值飘忽不定,不是一个常量,所以不能直接在结果上减去一个值来完成标定,常用的方法有最小二乘法,具体的方法及原理可以参考这里。陀螺仪获得的信息是一个不变的常量,所以可以直接在结果上减去这个常量就可以完成标定。
本来是打算写一个程序来对加速度计进行标定的,写到后面解其次方程的时候没想到要怎么解,结果发现有用于imu标定的包,于是打算直接用这个。按照它的REAME.md来进行,应该是能够得到标定参数的。但是它这里面安装Ceres Solver的链接失效了,可以参考这里来安装。
因为写这篇文章的时候在外出差,手边没有imu采集数据,没有办法来做实验,等到回学校了再来验证是否可行吧~
网友评论