了解imu以及imu的标定

了解imu以及imu的标定,第1张

因为实验室项目原因,需要用到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采集数据,没有办法来做实验,等到回学校了再来验证是否可行吧~

实际使用中会出现裤扰轮子打滑和累计误差的情况,这陵侍里单单使用编码器尺纯吵得到里程计会出现一定的偏差,虽然激光雷达会纠正,但一个准确的里程对这个系统还是较为重要

IMU 即为 惯性测量单元,一般包含了三个单轴的加速度计和三个单轴的陀螺仪,简单理解通过加速度二次积分就可以得到位移信息、通过角速度积分就可以得到三个角度,实时要比这个复杂许多

PIBOT 在嵌入式程序提供出原始的数据接口,通过配置可以输出原始 raw_imu topic ,

通过对原始数据处理得到一个 /imu/data_raw 数据类型为 sensor_msgs/Imu ,

从imu得到的数据为一个相对角度(主要使用 yaw , roll 和 pitch 后面不会使用到),使用该角度来替代由编码器计算得到的角度。

这个方法较为简单,出现打滑时候因 yaw 不会受到影响,即使你抬起机器人转动一定的角度,得到的里程也能正确反映出来

官方提供了个扩展的卡尔曼滤波的包 robot_pose_ekf ,robot_pose_ekf开启扩展卡尔曼滤波器生成机器人姿态,支持

再回去看下该包的输出

bringup.lauch 或者 bringup_with_imu.launch 输出的 tf 都为 odom → base_footprint 发出的里程也都是 odom

bringup_with_imu.launch 轮子的里程 topic 映射为 wheel_odom

下2张图展示了未使用 IMU 和使用 IMU 时候的 tf tree 情况, 可以看到用了一致的 frame

MPU6050六轴陀螺仪

作用于四轴无人机,平衡车,机器人等等的电子实作当中,用于姿态判断,掌握了可以发挥自己的想象完成更多更有趣的作品。

MPU6050内置的DMP,实现了载体的姿态解算,不仅简化代码设计,而且降低了MCU的负担,MCU不用进行姿态解算过程,从而有更多的时间去处理其他事件,提高系统实时性。通过硬件平台,软件仿真了三轴陀螺仪、三轴加速度和欧拉角实时变化,结果表明,姿态解算稳定可靠。

mpu6050常用作提供飞控运行时的姿态测量和计算,在在姿态结算中有几个重要的概念,欧拉角、四元数等。

欧拉角:用来表征三维空间中运动物体绕着坐标轴旋转的情况。即物体的每时每秒的姿态可以由欧拉角表出。

四元数:超复数,q=(神脊q0,q1,q2,q3),q0位实数,q1,q2,q3为虚部的实数。简单的可以理解为四维空间,就是原有的三维空间加入一个旋转角。而四元数可以表征欧拉角,并且计算方便,故采用四元数来计算。在此还要提到加速度和磁力计补偿原理,可以参照网上提到的原理与基本概念。在此再啰嗦一下:补偿的目的是使两个坐标系世界坐标系和刚体坐标系能够完全重合,在此基础上,计算补偿值来修正旋转矩阵,即四元数矩阵。最终的结果是解算出四元数的姿明乱态,激瞎档就是四元数矩阵的各个元素的值。按照上述博客中的程序解算四元数的时候,用到了Kp和Ki两个参数,两个参数的作用是用来控制矫正刚体坐标系速度的。即调节加速度和磁力计补偿的速度(调节误差的生成速度,进而调节刚体坐标系和世界坐标系的重合度)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12342809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存