ros:tf中的欧拉角定义

欧拉角的定义有许多不同的形式,为了方便使用,本文列出了ros中欧拉角的定义。为了增加可信度,本文直接采用源码中的注释对ros tf中的欧拉角的定义进行说明。

在Quaternion.h中,存在以下三种设置方法。

1 setRPY();
这个函数采用固定轴的旋转方式,先绕定轴x旋转(横滚),然后再绕定轴y(俯仰),最后绕定轴z(偏航)。
从数学形式上说,这是绕定轴XYZ矩阵依次左乘,即:R = R(z) R(y)R(x)的顺序。由于是绕着定轴转动,所以很直观,便于人机交互。
/**@brief Set the quaternion using fixed axis RPY

  • @param roll Angle around X
  • @param pitch Angle around Y
  • @param yaw Angle around Z*/
    void setRPY(const tfScalar& roll, const tfScalar& pitch, const tfScalar& yaw);

2 setEuler
这种方式是绕着动轴转动,先绕Y轴,在绕变换后的X轴,再绕变换后的Z轴旋转。
从数学形式上说,这是绕定轴YXZ矩阵依次右乘,即:R = R(y)R(x)R(z) 的顺序。
/**@brief Set the quaternion using Euler angles

  • @param yaw Angle around Y
  • @param pitch Angle around X
  • @param roll Angle around Z */
    void setEuler(const tfScalar& yaw, const tfScalar& pitch, const tfScalar& roll);

3 setEulerZYX
与2相同,此种旋转变换也是绕动轴旋转,只不过次序为ZYX,矩阵也是右乘,即R = R(z) R

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值