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 小时前
A股量化数据工程:从 REST 接口到策略信号(第 7 篇):盈利能力因子:毛利率、净利率与 ROE
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
朝朝辞暮i2 小时前
VLA 系统学习第 2 课:Behavior Cloning——机器人究竟怎么从示范中学动作?
人工智能·python·vla
znx9393 小时前
手动交易 VS 量化交易:孰优孰劣?深度对比
人工智能·python·机器学习·期魔方
Wang's Blog3 小时前
Java框架 SpringCloud 快速入门: 网关的 CORS 跨域配置
java·开发语言·spring cloud
feasibility.3 小时前
一台 2500 美元的开源双足人形平台 LeRobot Humanoid,正在让“教机器人走路”变成可复现的事
机器人·开源
for_ever_love__3 小时前
概率与统计——分布、期望与贝叶斯,语言模型的建模基础
python·机器学习·大模型·概率论
code2cat3 小时前
【随笔】MCP工具错误怎样分层:先读反馈,再决定下一步
开发语言·后端·ai agent·mcp
ss2733 小时前
AI全栈实战 | 3.5-01 Python 全栈前端最小集:不会 React 也能做出能看的后台,关键就一条线
前端·python·react.js
朝朝辞暮i3 小时前
C++ 第 36 课:Action——机械臂/VLA 非常重要
开发语言·c++·算法·ros2
谢亮_vipxieliang3 小时前
Go 接口设计原则核心知识点
开发语言·ios·golang