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)
相关推荐
奋斗的小方4 分钟前
Java进阶篇1-3:集合框架(单列集合)
java·windows·python
四方云5 分钟前
2026电销系统科普:直呼、回拨没有优劣之分,选对场景才高效
人工智能·机器人·销售成长·电销系统
灯澜忆梦14 分钟前
GO_函数_2
开发语言·golang·xcode
乐以礼24 分钟前
#100DaysOfAgent Day 5
python·ai
江华森31 分钟前
Gephi 可视化 + NetworkX 网络分析——《釜山行》人物关系(三)
数据库·python
apihz1 小时前
经纬度制作高清卫星图片免费 API 接口详解
开发语言·ios·swift
进击切图仔1 小时前
基于千问的白盒蒸馏操作教学文档
服务器·人工智能·python
娇气的红酒1 小时前
微软对PHP支持的改进,及其它一些胡言乱语
开发语言·microsoft·php
霸道流氓气质1 小时前
Harness Engineering 模块化指令实战:告别 600 行巨型 AGENTS.md
开发语言·人工智能·python
吠品1 小时前
Mac定时关机、开机自动化:用shutdown和pmset就够了
android·java·开发语言