当前位置:   article > 正文

ROS中quaternion四元数和RPY欧拉角转换_ros2 quaternion rpy

ros2 quaternion rpy

在移动小车导航中,ros系统通常使用四元数表示里程计orientation信息,但是很多时候需要rpy表示更加直观方便,因此在这里记录一下转换方法。

  1. #include "tf/transform_datatypes.h"//转换函数头文件
  2. #include <nav_msgs/Odometry.h>//里程计信息格式
  3. /****************四元数转RPY欧拉角,以odomsub的回调函数为例*****************/
  4. void odomCallback(const nav_msgs::Odometry &odom) {
  5. tf::Quaternion quat;
  6. tf::quaternionMsgToTF(odom.pose.pose.orientation, quat);
  7. double roll, pitch, yaw;//定义存储r\p\y的容器
  8. tf::Matrix3x3(quat).getRPY(roll, pitch, yaw);//进行转换
  9. }
  10. /****************RPY欧拉角转四元数*****************/
  11. tf::createQuaternionMsgFromRollPitchYaw(double r, double p, double y);//返回四元数
  12. tf::createQuaternionMsgFromYaw(double y);//只通过y即绕z的旋转角度计算四元数,用于平面小车。返回四元数

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/90345
推荐阅读
相关标签
  

闽ICP备14008679号