一、IMU,惯性测量单元,是一种传感器模块,用来测量机器人的空间姿态

在这里插入图片描述

二、先来看看ROS是怎么描述空间姿态的

1、搜索ROS index 点击进入

在这里插入图片描述

2、搜索sensor_msgs

在这里插入图片描述

3、选择noetic版本

在这里插入图片描述

4、再点击进入Website

在这里插入图片描述

5、找到这个传感器消息列表,点击imu消息格式

在这里插入图片描述

6、这便是ROS对IMU消息格式的定义

在这里插入图片描述
在这里插入图片描述

7、消息的头部是个header,记录了消息发送的时间戳和坐标系ID

在这里插入图片描述

8、这是angular_velocity,角速度,它的数据类型是Vector3,它和速度控制消息Twist里的angular角速度一样,是描述机器人在三个坐标轴XYZ上的旋转速度

在这里插入图片描述

9、这是linear_acceleration,矢量加速度,类型也是Vector3

在这里插入图片描述

10、这三个数据成员各自都带了一个协方差矩阵,主要用于后期的优化和滤波,注释部分对协方差矩阵的使用做了相关说明

在这里插入图片描述
在这里插入图片描述

11、angular_velocity角速度linear_acceleration矢量加速度,都各自包含了XYZ三个数值分量,一共六个数值,这便是六轴IMU。另外有一些IMU模块额外提供了XYZ三个轴的磁力计输出,就变成了九轴IMU

在这里插入图片描述

12、上述都是IMU传感器直接测量到的数值,也叫裸数据,将上述数值进行算法融合可以得到空间姿态描述,也就是前面没有提到的消息格式中的orientation,它描述的是机器人的朝向相对于空间中XYZ三个坐标轴的偏移量,也就是机器人的位姿。

在这里插入图片描述

13、orientation的类型是Quaternion,四元数的意思,采用四元数有效的避免了万向锁的问题

在这里插入图片描述
在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐