UR5机器人的旋转向量转换到四元数,再从四元数转换到旋转向量python代码

能够通过接口获得UR5机器人末端在基坐标系下的位姿,姿态表示方法是用旋转向量表示的,一般会涉及到四元数和旋转向量之间的转换。

1、方法一

python 复制代码
import numpy as np
from pytransform3d import rotations as pr
import copy
# 输入旋转向量
quaternion2 = np.array([-2.8382432375984954, 1.2909992654084241, -0.012174449591830415])
# 转换为四元数
ro_angle = np.linalg.norm(quaternion2) #向量模长为转角
ro_vector = quaternion2 / ro_angle   #转轴
axis_angle = np.append(ro_vector,ro_angle)
Y = pr.quaternion_from_axis_angle(axis_angle)  #结果是w,x,y,z
# 四元数转换回旋转向量
learn_axis_angle = pr.axis_angle_from_quaternion(Y)
dmp_pose = learn_axis_angle[0:3]*learn_axis_angle[3]

print("初始向量:", quaternion2)
print("最终向量:", dmp_pose)

2、方法二

python 复制代码
from scipy.spatial.transform import Rotation
import numpy as np
import copy
# 输入旋转向量
quaternion2 = np.array([-2.8382432375984954, 1.2909992654084241, -0.012174449591830415])
# 转换为四元数
qua = Rotation.from_rotvec(quaternion2).as_quat() #结果是x,y,z,w
# 四元数转换回旋转向量
dmp_pose = Rotation.from_quat(qua).as_rotvec() #转换为旋转向量

print("初始向量:", quaternion2)
print("最终向量:", dmp_pose)
相关推荐
每天吃饭的羊2 小时前
hash结构
开发语言·前端·javascript
一路往蓝-Anbo2 小时前
第37期:启动流程(二):C Runtime (CRT) 初始化与重定位
c语言·开发语言·网络·stm32·单片机·嵌入式硬件
CryptoRzz2 小时前
如何高效对接美股实时行情?StockTV API 实战集成指南
java·python·flask·区块链·maven·symfony
Jackson@ML2 小时前
2026最新版Python 3.14.2安装使用指南
开发语言·python
橘子师兄2 小时前
C++AI大模型接入SDK—ChatSDK使用手册
开发语言·c++·人工智能
ZCXZ12385296a2 小时前
果园喷药除草机器人目标检测:YOLO11-Seg-FasterNet实现喷雾药车遥感药箱识别
人工智能·目标检测·机器人
txinyu的博客2 小时前
STL string 源码深度解析
开发语言·c++
飞Link2 小时前
指令调整阶段中的通用模型蒸馏、模型自我提升和数据扩充
python·算法·数据挖掘
qunaa01012 小时前
轮胎识别号码检测▸基于YOLO11-ContextGuideFPN的高精度检测模型实现与部署
python
Channing Lewis2 小时前
正则灾难性回溯(catastrophic backtracking)
开发语言·python