admin
管理员
管理员
  • UID1
  • 粉丝14
  • 关注0
  • 发帖数119
  • 社区居民
  • 原创写手
阅读:2751回复:4

ROS 中 sensor_msgs/Imu 测量的角速度 转化为 四元数 的问题

楼主#
更多 发布于:2018-10-09 19:05
在看VINS-Mono的代码,有一个旋转角度转化的问题。 sensor_msgs/Imu 中 的 geometry_msgs/Vector3 angular_velocity 的单位是 rad/s;为什么在VINS的代码中,用测量的角速度更新表示旋转的四元数的式子是: 更新的四元数 = [1, 测量的角速度 * 时间 / 2] * 原四元数。 是否有相关的资料可以查看。 先表示感谢!

最新喜欢:

hezihan745heziha...
admin
管理员
管理员
  • UID1
  • 粉丝14
  • 关注0
  • 发帖数119
  • 社区居民
  • 原创写手
沙发#
发布于:2018-10-09 19:27
因为imu频率很高,所以每一次数据实际上角度很小。这个是近似就是这个
admin
管理员
管理员
  • UID1
  • 粉丝14
  • 关注0
  • 发帖数119
  • 社区居民
  • 原创写手
板凳#
发布于:2018-10-09 19:28
四元数的更新:
q2 = dq * q1; dq=(cos(theta/2), sin(theta/2)* theta/|| theta ||);
theta = omega * dt;
当theta很小时就能近似成 dq=(1, theta/2);
admin
管理员
管理员
  • UID1
  • 粉丝14
  • 关注0
  • 发帖数119
  • 社区居民
  • 原创写手
地板#
发布于:2018-10-09 19:28
懂了,谢谢!
superAruba
泡芙1级
泡芙1级
  • UID8078
  • 粉丝0
  • 关注0
  • 发帖数1
4楼#
发布于:2020-05-12 17:22
请问楼主,这个转换公式是在哪里找到的,我看源码上都是基于他内部的一些变量计算的,如果我单独只拿到了角速度数据,请问我需要如何计算出四元数?换句话说,我现在获取的IMU数据只缺少四元数数据,其余的变量都是有值的,我应该怎么处理。谢谢
游客