ROS中四元数与欧拉角的转换方式

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

原文链接:https://blog.csdn.net/qq_23670601/article/details/87968936

posted @ 2021-05-22 15:19  寒灵oay  阅读(2898)  评论(0编辑  收藏  举报