ROS系列——使用python的transforms3d、numpy库实现四元数、旋转矩阵、欧拉角、轴角等的相互转换

1.说明

1.1安装

pip3 install transforms3d

2.四元数相关转换

四元数模块在transforms3d.quaternions里,直接导入即可使用

import transforms3d as tfs
import numpy as np 

2.1 四元数与旋转矩阵互转

2.1.1四元数转旋转矩阵

tfs.quaternions.quat2mat([1,0,0,0])

2.1.2 旋转矩阵转四元数

tfs.quaternions.mat2quat(np.asarray([[1., 0., 0.],[0., 1., 0.],[0., 0., 1.]]))

2.2 四元数与轴角互转

2.2.1 四元数转轴角

tfs.quaternions.quat2axangle([1,0,0,0])

2.2.2 轴角转四元数

tfs.quaternions.axangle2quat([1,0,0],0.5)

3.欧拉角相关转换

四元数模块在transforms3d.euler里,直接导入即可使用

import transforms3d as tfs
import numpy as np 

3.1 欧拉角与四元数互转

3.1.1 固定轴欧拉角转四元数

tfs.euler.euler2quat(0,0,0,"sxyz")

3.1.2 四元数转固定轴欧拉角

tfs.euler.quat2euler([1,0,0,0],"sxyz")

3.2 欧拉角与旋转矩阵互转

3.2.1 固定轴欧拉角转旋转矩阵

tfs.euler.euler2mat(0,0,0,"sxyz")

3.2.2 旋转矩阵转固定轴欧拉角

tfs.euler.mat2euler(np.asarray([[1., 0., 0.],[0., 1., 0.],[0., 0., 1.]]),"sxyz")

3.3 欧拉角与轴角互转

3.3.1 固定轴欧拉角轴角

tfs.euler.euler2axangle(0,0,0,"sxyz")

3.3.2轴角转固定轴欧拉角

tfs.euler.axangle2euler([1,0,0],0.5,"sxyz")

4.轴角相关转换

四元数模块在transforms3d.axangle里,直接导入即可使用

4.1 轴角与旋转矩阵互转

4.1.1 轴角转旋转矩阵

tfs.axangles.axangle2mat([1,0,0],0.5)

4.1.2 旋转矩阵转轴角

tfs.axangles.mat2axangle(np.asarray([[1., 0., 0.],[0., 1., 0.],[0., 0., 1.]]))
  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值