matlab中quat2angle,RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halc

RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halc

RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halcon版本

UR协作机器人和Franka机器人导出的位姿为angleVector,三个量表示,在Matlab中angleVector是四个量表示。如果是三个量的表示推荐使用Python的scipy库做转换。

https://en.wikipedia.org/wiki/Axis%E2%80%93angle_representation#Rotation_vector

[var1]

1.1 Quaternion转Matrix (带位置和姿态)

3f5cb5522afbe78eb6e708b0e2f8517a.png

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

[var1]

2.1 UR机器人rotvec转换为RPY_rxryrz

UR机械臂通过30003端口发送过来的是rotation vector, 示教器Polyscope界面上Move标签栏中显示的是RPY_rxryrz

https://www.universal-robots.com/articles/ur/explanation-on-robot-orientation/

https://www.universal-robots.com/articles/ur/rpy-tofrom-rotation-vector/

51a3ff24ec5a813f65eccf59cc9b554a.png

scipy spatial transform官方帮助:

https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.transform.Rotation.html

80dbf6359b802dad66095b5ef6012de0.png

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

[var1]

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)

RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halc相关教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基本注射/资格赛,范围

这是上周解决的DI / CDI基础知识的延续-在本文中,我将讨论基础注入,限定词和范围。 在上一个主题中,我们提供了有关DI / CDI概念的大量信息,我们还讨论了如何使用注释加载这些bean或类-这构成了对象的组成并创建了关于如何进行采…

100*100的 canvas 占多少内存?

题目 100*100的 canvas 占多少内存? 在 三年前端,面试思考 中提到了一个题目,非常有新意,这里分享一下当时面试的思考过程。 解题思路 其实真正的答案是多少我并不清楚,面试过程中面试官也不期待一个准确的答案&am…

1t硬盘怎么分区最好_这下尴尬了,电脑硬盘分区常见误区,移动硬盘分区方法...

大家买了新电脑硬盘要不要分区呢?像以往咱们买了新电脑一般会分4个区,C、D、E、F,方便更合理的分类使用,比如把工作放为D盘,娱乐影音放为E盘,游戏放为F盘,C盘为系统盘。不过渐渐地发现&#xff…

用Spring长轮询Tomcat

就像喜剧演员弗兰基 豪威尔 ( Frankie Howerd)所说的“哦,小姐小姐” ,但足够多的英国影射和双重诱惑,因为长轮询雄猫对隔壁的闷气不是某种性偏见,这是一种技术(或更像是一种骇客)由…

exchange 删除邮件

一 批量删除特定主题的邮件1.1 批量删除所有数据库中特定主题的邮件1) 群发了几封主题为“backup”的邮件; 2) 当前操作账号需要满足如下需求: a)该账号需属于Exchange Server 管理员角色以及源服务器和目标服务器的本地 Administrator组; b)…

js点击取消按钮关闭当前弹框_UI设计中“取消按钮”的分析详解

按钮,无论是在 Web 还是 App 上都被广泛地使用,而很少有设计师会注意到按钮当中的细节,导致在设计过程中出现一些低级的错误,使得用户在完成任务的过程中产生阻碍,无法顺利达成目的。在许多优秀的产品中,关…

MATLAB飞机大战第二版,windows程序设计——飞机大战札记(单文档文件登陆界面)...

windows程序设计——飞机大战笔记(单文档文件登陆界面)//2015/07/21/by xbw////环境 VS 2013飞机大战做的差不多了,闲来无事加点高大上的东西,关于单文档的登陆界面;;;界面有点丑,但是足够账号登陆了&#…

吸收Mockito的流利度

我最近发现自己编写了一些代码来集成两个不同的平台。 这些系统之一是基于Java的系统,而另一个虽然不是用Java编写的,却提供了Java API。 我将这些系统分别称为Foo和Bar。 在编写一行代码之前就很明显了,但是,测试最终的适配器将…

软件工程第三次作业

题目要求 最大连续子数组和(最大子段和) 问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]a[i1]…a[j]的子段和的最大值。 当所给的整数均为负数时定义子段和为0,依此定义&a…

使用HTML5 IndexDB存储图像和文件

使用IndexedDB存储图像和文件 有一天,我们写了关于如何在localStorage中保存图像和文件的文章,它是关于我们今天可用的实用主义。 然而,localStorage有一些性能影响 - 我们将在稍后的博客中讨论这个问题 - 并且未来期望的方法是使用IndexedD…

Gitlab 项目上传

一,登陆gitab,新建reject Repository name: 仓库名称 Description(可选): 仓库描述介绍 Public, Private : 仓库权限(公开共享,私有或指定合作者) Initialize this repository with a README: 添加一个README.md gitig…

stm32f103r6最小系统原理图_超强PCB布线设计经验谈附原理图

在当今激烈竞争的电池供电市场中,由于成本指标限制,设计人员常常使用双面板。尽管多层板(4层、6层及8层)方案在尺寸、噪声和性能方面具有明显 优势,成本压力却促使工程师们重新考虑其布线策略,采用双面板。在本文中,我…

[UE4GamePlay架构(九)GameInstance(转)

GameInstance这个类可以跨关卡存在,它不会因为切换关卡或者切换游戏模式而被销毁。然而,GameMode和PlayController就会再切换关卡或者游戏模式时被引擎销毁重置,这样他们里面的状态就不能被保存。比如,你想再下一个关卡中知道上一…

灵格斯怎么屏幕取词_电脑包尺寸怎么选?手提的好还是双肩的好?比较推荐哪款电脑包?...

在携带笔记本电脑的时候,一般都会用到电脑包,那么电脑包的尺寸该怎么选呢?为了能更好的装下电脑,电脑包的尺寸必须要比笔记本电脑的尺寸大一些,而不能刚刚好。笔记本的尺寸参数一般是指屏幕尺寸,而整个机身…

JSBridge实战

前言 H5 VS Native 一直是前端技术界争执不下的话题。react、vue等技术栈引领着纯H5开发,rn、week则倡导原生体验。但在项目实战中,经常会选择一个中立的方案:混合开发。大众称呼:Hybrid。 本人目前从事新闻类产品研发&#xff…

单元测试Java Hadoop作业

在我以前的文章中,我展示了如何设置一个完整的基于Maven的项目,以用Java创建Hadoop作业。 当然并没有完成,因为它缺少单元测试部分。 在本文中,我将展示如何将MapReduce单元测试添加到我之前开始的项目中。 对于单元测试&#xff…

vue2.0中的:is和is的区别

此文首发于 https://lijing0906.github.io/ 最近,工作之余在翻阅vue.js的官方文档,在查看到动态组件和解析 DOM 模板时的注意事项的时候,讲到一个特殊的is特性,觉得很有意思,就来写一篇自己理解的总结。 现场 写栗子…

mysql复制模式第二部分-----双主模式

双主配置 我在配置主从服务器时,使用了两台服务器:10.19.34.126和10.19.34.91。 1、首先需要在这两台上搭建单独的mysql服务masterA和masterB。 2、配置数据库masterA,要对每一个数据库服务配置唯一标示,参数名为server-id&#x…

pde中微元分析法的主要思想_初中数学常用的思想方法丨所有题型的考试技巧最全整理,高分必备...

【导语】初中数学虽然是基础数学,但是这并不意味着就没有难度,特别是在素质教育下,从培养学生综合素质能力的角度出发,初中数学越来越重视数学思维的培养,因此在很多数学问题的设置上,都进行了相当难度的调…

解决IntelliJ IDEA控制台乱码问题[包含程序运行时的log4j日志以及tomcat日志乱码]...

一、控制台打印的程序运行时的log4j日志中包含中文乱码 在IDEA安装目录的bin目录下找到名为"idea.exe.vmoptions"的文件: 使用文本编译软件(Notepad等)打开此文件,在文件内容从末尾追加一行设置(-Dfile.encodingUTF-8)&…