matlab中quat2angle,RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halcon版本
UR协作机器人和Franka机器人导出的位姿为angleVector,三个量表示,在Matlab中angleVector是四个量表示。如果是三个量的表示推荐使用Python的scipy库做转换。
一、RPY_Euler_Quaternion_AngleAxis角度转化:Matlab机器人工具箱
1.1 Quaternion转Matrix (带位置和姿态)
robotHtool =[0.10345922, -0.48407779, 0.29668114, -0.03533355, 0.09830182, -0.86382214, 0.49284846];
% w x y z
robotHtool_qua = Quaternion([robotHtool(7), robotHtool(4), robotHtool(5) , robotHtool(6)])
robotHtool_matrix = transl(robotHtool(1), robotHtool(2), robotHtool(3)) * robotHtool_qua.T
二、Python的scipy
2.1 UR机器人rotvec转换为RPY_rxryrz
UR机械臂通过30003端口发送过来的是rotation vector, 示教器Polyscope界面上Move标签栏中显示的是RPY_rxryrz
scipy spatial transform官方帮助:
from scipy.spatial.transform import Rotation as R
r = R.from_rotvec([-0.001220983, 3.1162765, 0.038891915])
Euler_xyz = r.as_euler('xyz', degrees=False)
2.2 川崎机器人Euler_ZYZ转四元数Quaternion
三、Halcon姿态变换
3.1 Halcon 的姿态、齐次变换和四元数
create_pose函数是包含位置和姿态的,姿态格式为RPY_rx_ry_rz,注意输入为角度。pose_to_hom_mat3d是RPY_rx_ry_rz转为齐次矩阵。四元数的顺序是w, x, y, z
robot_V_cam := [0.418906862152, 0.471104634456, 0.729862740299, 2.851, -1.241, -0.008]
* Create pose use degrees.
create_pose (robot_V_cam[0], robot_V_cam[1], robot_V_cam[2], deg(robot_V_cam[3]), deg(robot_V_cam[4]), deg(robot_V_cam[5]), 'Rp+T', 'gba', 'point', Pose)
pose_to_hom_mat3d(Pose, robot_H_cam)
pose_to_quat(Pose, robot_Q_cam)
hom_mat3d_to_pose(robot_H_cam, pose_test1)
************************* xyz *********************************************
hom_mat3d_identity (HomMat3DIdentity)
hom_mat3d_translate (HomMat3DIdentity, robot_V_cam[0], robot_V_cam[1], robot_V_cam[2], HomMat3DTranslate)
hom_mat3d_rotate_local (HomMat3DTranslate, robot_V_cam[3], 'x', HomMat3DT_Rl)
hom_mat3d_rotate_local (HomMat3DT_Rl, robot_V_cam[4], 'y', HomMat3DT_Rl_Rm)
hom_mat3d_rotate_local (HomMat3DT_Rl_Rm, robot_V_cam[5], 'z', HomMat3D)
hom_mat3d_to_pose (HomMat3D, pose_test2)
********************* right-left old zyx **********************************
hom_mat3d_identity (HomMat3DIdent)
hom_mat3d_rotate (HomMat3DIdent, robot_V_cam[5], 'z', 0, 0, 0, HomMat3DRotZ)
hom_mat3d_rotate (HomMat3DRotZ, robot_V_cam[4], 'y', 0, 0, 0, HomMat3DRotYZ)
hom_mat3d_rotate (HomMat3DRotYZ, robot_V_cam[3], 'x', 0, 0, 0, HomMat3DXYZ3)
hom_mat3d_translate(HomMat3DXYZ3, robot_V_cam[0], robot_V_cam[1], robot_V_cam[2], HomMat3Dzyx)
hom_mat3d_to_pose(HomMat3Dzyx, pose_test3)
matlab中quat2angle,RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halcon版本相关推荐
- matlab中quat2angle,RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halc
RPY_Euler_Quaternion_AngleAxis角度转化:Matlab.Python.Halc RPY_Euler_Quaternion_AngleAxis角度转化:Matlab.Pyth ...
- m 文件 dll matlab 中调用_如何在matlab中调用python程序
现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令 ...
- matlab中的timer模块,[转载]Matlab中Timer的使用
Matlab中Timer的使用 鉴于Matlab中缺乏多线程机制,使用Timer无疑是一个很重要的工具,Matlab中Timer是一个Java对象. (1)Timer 的定义 t=timer(); 设 ...
- matlab中m文件是什么,MATLAB中M文件的使用
运行方法: 使用matlab的时候,可以在"Command Window"内直接书写matlab代码,也可以将代码保存到M文件中,然后运行该文件.使用matlab主界面菜单&quo ...
- matlab 如何axis,在matlab中axis是什么意思,matlab中axis的用法
在matlab中axis是什么意思轴在matlab中是什么意思,matlab中的Axis是指在绘图中通常使用axis函数来设置坐标值的范围,在matlab的命令窗口中输入doc轴或help轴即可获得该 ...
- 在MATLAB中使用数学符号,在matlab中怎么输入特殊符号 function在MATLAB中怎么用
导航:网站首页 > 在matlab中怎么输入特殊符号 function在MATLAB中怎么用 在matlab中怎么输入特殊符号 function在MATLAB中怎么用 相关问题: 匿名网友: 一 ...
- 在matlab中怎样把图片转化为数据类型,matlab图像数据类型转换
uint 8:无符号的8位(8bit)整型数据(unit 都是存储型) int :整型数据 1.在MATLAB中,数值一般都采用double型(64位)存储和运算. 2.为了节省存储空间,MATLAB ...
- Matlab中弧度转角度
在平时使用过程中,我们可能会遇到弧度制和角度制之间的转换,在Matlab中使用rad2deg()就可以轻松地实现这个功能 There are 180º in radians: anglout = ra ...
- matlab中asix off_遗传算符MATLAB程序-入门必看
% 下面举例说明遗传算法 % % 求下列函数的最大值 % % f(x)=10*sin(5x)+7*cos(4x) x ∈ [0,10] % % 将 x 的值用一个 10 位的二值形式表示为二值问题,一 ...
最新文章
- python3 sys模块
- 2022年美国大学生数学建模竞赛O奖流程图
- neo4j在linux下的安装
- 【Python】这些Python骚操作,你值得拥有
- 机器学习实战 k-近邻算法 手写识别系统
- 1.13 编程基础之综合应用_14求满足条件的3位数 python
- 二叉树C++ | 广度优先遍历(层级顺序遍历)_2
- 分享《数字化建设地图》与《BI地图》,大数据知识点一次看过瘾
- 你不知道的 CSS 文档流技巧,让布局更简单
- Xcode工作区间xxxx.xcworkspace不包含xxxx.xcodeproj
- TextToSpeech问题总结
- Android学习笔记一
- windows ------ 证书导入(安装)
- 国外LEAD联盟,S联盟被关联
- 以T test说明统计检验过程
- 【python】详解pandas.DataFrame.resample根据时间聚合采样(一)
- spring data jpa 与 jpa的区别
- Java——Person类
- 游戏服务器维修怎么回事,游戏服务器维护都是在做些什么?
- 老吕架构-2021年文章精选
热门文章
- 如何查找UI5应用对应在ABAP Netweaver服务器上的BSP应用名称
- Document builder customizing
- Product search parameter的determine逻辑
- why is pricing callback CRM_PRIDOC_UPDATE_EC called
- [源码研究]Some debugger screenshot of Slf4jLogger creation
- 把日志文件从Linux服务器拷贝到Windows上
- SAP CRM WebClient UI控制器方法DETACH_STATIC_OVW_VIEWS的作用
- 如何从ERP下载Sales BOM到CRM
- mysql查看是否开启定时器_Mysql 查看定时器 打开定时器 设置定时器时间
- 【python】利用python的tkinter-canvas函数绘制哆啦A梦过程详解(附源码)