UR机器人旋转矢量和俯仰角的转换

       我们在使用机器人的时候,总是习惯使用俯仰角来描述机器人末端姿态的变换。这样更直观,但是机器人为了插值方便计算,总是采用旋转矢量来来描述机器人的姿态。该旋转矢量及不直观,单一轴角度旋转时还可以理解,当两个轴或三个轴一起旋转,值的偏离很大。

1.找到机器人中如何描述旋转矢量和俯仰角

在此页面中,TCP中的RX,RY,RZ就是旋转矢量,而非俯仰角,点击此处任何输入框,可以跳转到点编辑界面。

此处,明确显示了该值为旋转矢量,下拉选择俯仰角,即可以通过编辑俯仰角,改变旋转矢量。

2.如何在UR-script,对应的指令是哪一个呢?

       在e系列中对应的是如下截图,CB系列中也是类似的,可以自己查询。通过这两个指令,我们就可以在工控机中自己的代码中嵌入,计算完机器人的姿态后,进行最后的旋转。

 

3.这些概念的深层解释,官网描述如下

 

EXPLANATION ON ROBOT ORIENTATION

This is an explanation on robot orientation

A robot has position and orientation. In particular, one of advantages in 6-axis robotic arm is to pose diverse orientation. This article is written for better understanding of robot orientation.

机器人具有位置和方向。特别是,六轴机械臂的一个优点是能够呈现不同的方向。本文旨在更好地理解机器人的方向。

Rotation Matrix

旋转矩阵

A rotation is represented in a matrix. In Cartesian space, a robot orientation is decided by a combination of rotations in X, Y, and Z direction, and we can have a 3-by-3 rotation matrix for each orientation.

旋转以矩阵表示。在笛卡尔空间中,机器人的方向由X、Y和Z方向的旋转组合决定,我们可以为每个方向设置一个3乘3的旋转矩阵。

 

(Refer to Rotation matrix, wikipedia)

ROTATION VECTOR

旋转矢量 (轴角/四元数)

In Universal Robots, the axis-angle representation is used for robot orientation. As a brief explanation, let me assume that there is a direction vector. Around the vector, an orientation can be rotated by a certain angle, theta. As a result of rotation, we can have a different orientation. The axis-angle representation is useful for robotics calculation such as kinematics and dynamics. 

在Universal Robots中,轴角表示用于机器人方向。简单来说,假设有一个方向向量。围绕该向量,方向可以旋转一定的角度θ。作为旋转的结果,我们可以得到不同的方向。轴角表示对于机器人运动学和动力学等计算很有用。

 

Rotation vector is a representation of the unit direction vector multiplied by the angle in the axis-angle representation.

旋转向量是单位方向向量乘以轴角表示中的角度的表示。

In order to define an orientation with the axis-angle representation, we need 4 values in total; three elements of unit direction vector and rotation angle. That is the reason why the values of rotation vector are not intuitive.

为了用轴角表示法定义方向,我们总共需要4个值;单位方向向量和旋转角度的3个元素。这就是为什么旋转向量的值不直观的原因。

(Refer to Axis-angle representation, wikipedia)

RPY

You may be more familiar with roll, pitch, and yaw to represent the robot orientation. In RPY, the order of rotation should be critical. For instance, despite the same amount of angles, the result of rotation roll->pitch would be different from that of pitch->roll.

你可能更熟悉用roll、pitch和yaw来表示机器人的方向。在RPY中,旋转顺序至关重要。例如,尽管角度相同,但旋转roll->pitch的结果与pitch->roll的结果不同。

Although the rotation vector is used in Universal Robots by default, you should be able to see the RPY values in Move tab of Polyscope. In addition, you can use the URScript functions to convert the representation between RPY and rotation vector. 

虽然Universal Robots默认使用旋转矢量,但您应该能够在Polyscope的Move选项卡中看到RPY值。此外,您可以使用URScript函数在RPY和旋转矢量之间进行转换。

rotvec2rpy(rotation vector)

rpy2rotvec(rpy vector)

 

TRANSFORMATION MATRIX

变换矩阵

For calculation of kinematics, a transformation matrix can be defined as a 4-by-4 matrix, consisting of rotation matrix and position vector. The rotation vector and/or RPY will be converted to the rotation matrix. We can calculate the robot position and orientation based on the transformation matrix multiplication.

为了计算运动学,可以将变换矩阵定义为4乘4矩阵,由旋转矩阵和位置向量组成。旋转向量和/或RPY将被转换为旋转矩阵。我们可以根据变换矩阵的乘法计算机器人的位置和方向。

pose_trans() is using the principle of the transformation matrix. The calculated position and orientation is referred to the tool frame. With respect to pose_add(), the calculated position is ths sum of two position inputs, but the resulted orientation is the matrix multiplication of two rotation matrix. In other words, in pose_add(), the position is corresponding to the base frame but the orientation is referred to the tool frame.

pose_trans()使用的是变换矩阵的原理。计算出的位置和方向是指向工具坐标系的。相对于pose_add(),计算出的位置是两个位置输入的总和,但产生的方向是两个旋转矩阵的矩阵乘积。换句话说,在pose_add()中,位置对应于基座标系,但方向是指向工具坐标系的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

少儿编程 2023年12月中国电子学会图形化编程等级考试Scratch编程四级真题解析(判断题)

2023年12月scratch编程等级考试四级真题 判断题 11、创建自制积木时,参数只能添加数字和文本 答案:错 考点分析:考查自制积木的使用,创建自制积木的时候参数可以是数字、文本以及布尔值类型;所以答案错误 12、分查找是我们经常用的查找方式,它比顺序查找效率更高,比如…

前端中什么是DOM对象

DOM(文档对象模型)是一种编程接口,用于HTML和XML文档。它提供了一种将文档结构表示为树结构的方式,这使得程序和脚本能够动态地访问和更新文档的内容、结构和样式。 在前端开发中,DOM是非常重要的概念。当浏览器加载网…

高级别智能驾驶业务系列:港口作业仿真系统

在港口无人水平运输场景中,经纬恒润提供了车、路、网、云、图全栈式自研解决方案,包含了自动驾驶车辆、路侧车路协同、全场高可靠定位、5G远程驾驶、运营调度管理、数字孪生、仿真系统、 高精地图等专业模块,组成了一套完整的智慧港口解决方案…

sqlmap性能优化

sqlmap性能优化 🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🌭🌭&#…

查看springboot starter提供的jar包默认版本

1.找到parent的版本,ctrl点进去 2.在spring-boot-dependencies继续点版本号 3.最终文件为spring-boot-dependencies-版本.pom

Git将本地项目上传到Gitee仓库

1.右键点击文件,点击Git Bash Here,进入git窗口 2.初始化本地仓库 git init3.将本地仓库与远程仓库建立连接 git remote add origin 远程仓库地址远程仓库地址在gitee仓库复制即可 4.将远程仓库的文件拉到本地仓库中 git pull origin master5.将本地文件全部上传…

数据结构与算法之美学习笔记:45 | 位图:如何实现网页爬虫中的URL去重功能?

目录 前言算法解析总结引申 前言 本节课程思维导图: 网页爬虫是搜索引擎中的非常重要的系统,负责爬取几十亿、上百亿的网页。爬虫的工作原理是,通过解析已经爬取页面中的网页链接,然后再爬取这些链接对应的网页。而同一个网页链接…

Windows内存管理(一):Windows性能监视器(PerfMon)

一、什么是性能监视器 什么是性能监视器? (What is Performance Monitor? )很多时候,我们的计算机只是停止响应、意外关闭或行为异常。这种行为可能有多种原因,指出确切原因可能会有很大帮助。Windows有一个名为Performance Monitor的工具&…

国外高校对于ChatGPT的三种态度及正确使用方法

ChatGPT无疑是23年留学届的热门话题,也成为了不少留学生再也离不开的万能工具,从总结文献、润色论文、给教授写email似乎无所不能。 各大高校对于学生使用ChatGPT的态度也有所不同。例如,哈佛大学教育代理院长 Anne Harrington 在内部邮件中…

MySQL报错:Out of sort memory, consider increasing server sort buffer size

报错内容 ### Error querying database. Cause: java.sql.SQLException: Out of sort memory, consider increasing server sort buffer size ### The error may exist in class path resource [mapper/ProjectCaseReportMapper.xml] ### The error may involve defaultParam…

卸载流氓软件联软

这个流氓软件也是在更新的,下面是本人在联想邵阳笔记本下卸载流程,非常简单 注:按照本文卸载之后,我重新装了一次这个垃圾,但是发现重装完之后,系统启动之后就会进入黑屏,也就是说,…

2024年【熔化焊接与热切割】考试资料及熔化焊接与热切割考试试卷

题库来源:安全生产模拟考试一点通公众号小程序 熔化焊接与热切割考试资料根据新熔化焊接与热切割考试大纲要求,安全生产模拟考试一点通将熔化焊接与热切割模拟考试试题进行汇编,组成一套熔化焊接与热切割全真模拟考试试题,学员可…

java.lang.ClassNotFoundException: jakarta.servlet.Servlet

联系servlet的使用时,编写了servlet的处理器,但是浏览器报500错误,有时候是404错误 WebServlet("/mayikt") public class Servlet1 implements Servlet {Overridepublic void init(ServletConfig servletConfig) throws ServletExc…

畸变矫正-深度学习相关论文学习

目录 DocTr: Document Image Transformer for Geometric Unwarping and Illumination Correction SimFIR: A Simple Framework for Fisheye Image Rectification with Self-supervised Representation Learning Model-Free Distortion Rectification Framework Bridged by Di…

RockMQ面试题(1)

为什么要使用MQ 应用解耦:系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流 系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单…

tauri build打包问题-- wix, nsis下载

文章目录 1 更改配置里打包标识符identifier[附] 相关资源网盘链接(适配tauri v1.5.9)2 wix的下载3 nsis下载 1 更改配置里打包标识符identifier // tauri.config.json // 默认env -> build "bundle": { ... "identifier": &qu…

零售EDI:Petco EDI对接指南

Petco 始于1965年,是一家美国宠物零售商,提供各种宠物产品和服务以及某些类型的活体小动物。起初Petco只是一家邮购兽医用品公司,后发展为一家成熟的宠物食品和供应链的公司。Petco与其供应商之间是如何传输业务数据的呢? 通过EDI…

gitee创建远程仓库并克隆远程仓库到电脑

1、首先点加号新建一个仓库 2、输入仓库名,路径会自动填充,填写简单的仓库介绍,先选择私有,在仓库创建之后,可以改为开源 3、打开建好的仓库 4、复制仓库链接 5、打开一个文件夹(想要存储远程仓库的地址),在…

【模拟IC学习笔记】 采样保持电路的设计

目录 采样保持工作原理 概念 时域响应-采保信号 采样网络的KT/C噪声 采样电容大小的选取 采样抖动(jitter) jitter对SNR的影响 法一 法二 采样开关的种类 单MOS管 实践:Nmos导通电阻 传输门 栅压自举开关 采样技术 上极板采样 下极板采样 采样保持…

.NET Framework 与 .NET Core 与 .NET Standard

介绍 在本文中,我们将探讨 .NET Framework、.NET Core 和 .NET Standard 之间的差异。 .NET Framework 与 .NET Core .NET框架.NET核心 历史 .NET Framework 是 .NET 的第一个实现。 .NET Core 是 .NET 的最新实现。 开源 .NET Framework 的某些组件是开源的。 .N…
最新文章