IMU自动校准框架IMUCalibration-Gesture测试,结果与rikirobot校正进行对比分析
本文分两个部分介绍IMU自动校准框架IMUCalibration-Gesture的测试。第一部分是IMUCalibration-Gesture的校准,第二部分则是校准结果与rikirobot的对比。校准分三个阶段,IMU硬件配置,IMUCalibration-Gesture数据采样,校准参数及结果展示。
IMUCalibration-Gesture框架源码
part1 MPU9250的IMUCalibration-Gesture校准
1.1 MPU9250硬件参数设置
源码中MPU9250的原始数据采样的加速度和陀螺仪量程分别为16g,2000dps。
采样频率为100HZ
MPU_Set_Gyro_Fsr(3); //陀螺仪量程2000dps
MPU_Set_Accel_Fsr(3); //加速度量程16g
MPU_Set_Rate(100); //采样频率
2.2 数据采样
数据格式为 时间 加速度 角速度 磁力计
根据论文分析得到数据采样规律
采集规则,每秒100次采样
步骤一:初始数据采集
数据格式:0.0110000000000000 781 1385 2865 -11 -5 -17 -100 33 -105
时间段:0-56.81s
步骤二:旋转IMU改变姿态
数据格式:56.8210000000000 955 1305 3079 59 -17 -72 -94 27 -108
时间段:56.81-58s
步骤三:静态放置tw时间
数据格式:63.7410000000000 1145 604 -592 -6 36 -63 188 308 -418
时间段:58-63.74s
步骤四:回到步骤二重新开始,重复采样N次
阅读数据采集部分源码发现,角速度为0的阈值,源码设置为30,由于传感器的偏差不一样,此处使用60为阈值
FindFixData(data,30)-》FindFixData(data,60)
采样300s,由于控制板数据传输代码的性能限制,此处频率50HZ采样
1.3 MPU校准
在MATLAB中运行校准函数ImuCalibration_Gesture(name)后获取校准参数
校准后姿态图
线速度参数
陀螺仪参数
磁力计参数
PART2 校准结果对比
2.1 IMUCalibration-Gesture校准结果
校准公式如下
% data :time accelerometer gyroscope magnetometer
% cal_acc=Ta*Ka*(raw_acc+Ba)
% cal_gyro=Tg*Kg*(raw_gyro+Bg)
% cal_mag=Tm2a*(raw_mag+Bm)
结果如图所示
线速度结果较差不进行展示
此处只显示角速度校准结果
2.2 rikirobot校准结果
rikirobot中源码只对角速度进行了零偏校准,加速度校准结果偏差也比较大
2.3 结果对比
从角速度校准结果来说,只进行零偏校准效果比IMUCalibration-Gesture效果好,加速度校准结果也是如此,因此工程中不进行采用,在IMUCalibration-Gesture进一步探究后再进行测试。