【机器人学】-位姿描述和旋转变换(2)

2023-11-26 18:30

本文主要是介绍【机器人学】-位姿描述和旋转变换(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

机器人学基础-旋转变换

空间旋转矩阵中有九个元素,但是这九个元素满足六个约束方程,只有三个独立变量

ABX = [ AXB AYB AYB ] = [ R 11 R 12 R 13 R 21 R 22 R 23 R 31 R 32 R 33 ] \begin{bmatrix}R11 & R12 & R13 \\ R21 & R22&R23\\R31&R32&R33\\ \end{bmatrix} R11R21R31R12R22R32R13R23R33;

其中每个元素满足:

AXB ⋅ \cdot AXB = AYB ⋅ \cdot AYB = AZB ⋅ \cdot AZB = 1;

AXB ⋅ \cdot AYB = AYB ⋅ \cdot AZB = AZB ⋅ \cdot AXB = 0;

一、绕固定轴x-y-z旋转(RPY角)

1-1运动过程

RPY角对应的旋转矩阵,这种描述方法与操作轴末端执行器坐标系的规定方法类似,如下图;
在这里插入图片描述
坐标系的运动方式:{B}的开始方位与坐标系{A}重合,首先使得{B}绕XA旋转 γ \gamma γ 角,在绕YA β \beta β 角,最后绕 ZA α \alpha α 角。(白->黄->红->蓝)

1-2旋转矩阵计算

根据坐标系的变换关系,坐标系{B}相对于{A}的旋转矩阵为:注意这里需要右乘,相对于基坐标系而言

ABRxyz( γ \gamma γ , β \beta β, α \alpha α ) = R(ZA, α \alpha α) ⋅ \cdot R(YA, β \beta β) ⋅ \cdot R(XA, γ \gamma γ)

= [ c α − s α 0 s α c α 0 0 0 1 ] \begin{bmatrix} c \alpha & -s\alpha& 0 \\ s\alpha & c\alpha&0\\0&0&1\\ \end{bmatrix} cαsα0sαcα0001 [ c β 0 s β 0 1 0 − s β 0 c β ] \begin{bmatrix} c \beta& 0& s\beta \\0& 1&0\\-s\beta&0&c\beta\\ \end{bmatrix} cβ0sβ010sβ0cβ [ 1 0 0 0 c γ − s γ 0 s γ c γ ] \begin{bmatrix} 1 & 0& 0 \\ 0 & c\gamma&-s\gamma\\0&s\gamma&c\gamma\\ \end{bmatrix} 1000cγsγ0sγcγ

= [ c α ⋅ c β c α ⋅ s β ⋅ s γ − s α ⋅ c γ c α ⋅ s β ⋅ c γ + s α ⋅ s γ s α ⋅ c β s α ⋅ s β ⋅ s γ + c α ⋅ c γ s α ⋅ s β ⋅ c γ − c α ⋅ s γ − s β c β ⋅ s γ c β ⋅ c γ ] \begin{bmatrix} c\alpha\cdot c\beta & c\alpha\cdot s\beta \cdot s \gamma - s\alpha\cdot c\gamma&c\alpha\cdot s\beta \cdot c \gamma+s\alpha\cdot s\gamma \\s\alpha\cdot c\beta & s\alpha\cdot s\beta \cdot s \gamma + c\alpha\cdot c\gamma&s\alpha\cdot s\beta \cdot c \gamma-c\alpha\cdot s\gamma \\-s\beta & c\beta \cdot s \gamma &c\beta \cdot c \gamma \\ \end{bmatrix} cαcβsαcβsβcαsβsγsαcγsαsβsγ+cαcγcβsγcαsβcγ+sαsγsαsβcγcαsγcβcγ

1-3RPY角计算

已知旋转矩阵ABR,令该矩阵和矩阵ABRxyz对应元素相等可得

[ R 11 R 12 R 13 R 21 R 22 R 23 R 31 R 32 R 33 ] \begin{bmatrix}R11 & R12 & R13 \\ R21 & R22&R23\\R31&R32&R33\\ \end{bmatrix} R11R21R31R12R22R32R13R23R33 = [ c α ⋅ c β c α ⋅ s β ⋅ s γ − s α ⋅ c γ c α ⋅ s β ⋅ c γ + s α ⋅ s γ s α ⋅ c β s α ⋅ s β ⋅ s γ + c α ⋅ c γ s α ⋅ s β ⋅ c γ − c α ⋅ s γ − s β c β ⋅ s γ c β ⋅ c γ ] \begin{bmatrix} c\alpha\cdot c\beta & c\alpha\cdot s\beta \cdot s \gamma - s\alpha\cdot c\gamma&c\alpha\cdot s\beta \cdot c \gamma+s\alpha\cdot s\gamma \\s\alpha\cdot c\beta & s\alpha\cdot s\beta \cdot s \gamma + c\alpha\cdot c\gamma&s\alpha\cdot s\beta \cdot c \gamma-c\alpha\cdot s\gamma \\-s\beta & c\beta \cdot s \gamma &c\beta \cdot c \gamma \\ \end{bmatrix} cαcβsαcβsβcαsβsγsαcγsαsβsγ+cαcγcβsγcαsβcγ+sαsγsαsβcγcαsγcβcγ

通过比较可得cos β \beta β = ± R 1 1 2 + R 2 1 2 \pm\sqrt {R11^2+R21^2} ±R112+R212 ,通常我们规定 β ∈ [ − 90 , + 90 ] \beta\in[-90,+90] β[90,+90],所以我们可以得到cos β \beta β = + R 1 1 2 + R 2 1 2 +\sqrt {R11^2+R21^2} +R112+R212

如果cos β ≠ 0 \beta\neq0 β=0,则可以得到:
β = A tan ⁡ 2 ( − R 31 , R 1 1 2 + R 2 1 2 ) \qquad\qquad\qquad\qquad\qquad\beta = A\tan2(-R31,\sqrt{R11^2+R21^2}) β=Atan2(R31,R112+R212 )
α = A tan ⁡ 2 ( R 21 , R 11 ) \qquad\qquad\qquad\qquad\qquad\alpha = A\tan2(R21,R11) α=Atan2(R21R11)
γ = A tan ⁡ 2 ( R 32 , R 33 ) \qquad\qquad\qquad\qquad\qquad\gamma = A\tan2(R32,R33) γ=Atan2(R32R33)
其中 A tan ⁡ 2 ( y , x ) A\tan2(y,x) Atan2(y,x)成为四象限反正切函数

如果cos β = ± 90 \beta = \pm90 β=±90,则只能得到 α 和 γ \alpha和\gamma αγ的和或差,通常选择 α = 0 \alpha = 0 α=0

如果cos β = + 90 \beta = +90 β=+90,则可以得到:
β = 90 \qquad\qquad\qquad\qquad\qquad\beta = 90 β=90
α = 0 \qquad\qquad\qquad\qquad\qquad\alpha = 0 α=0
γ = A tan ⁡ 2 ( R 12 , R 22 ) \qquad\qquad\qquad\qquad\qquad\gamma = A\tan2(R12,R22) γ=Atan2(R12R22)

如果cos β = − 90 \beta = -90 β=90,则可以得到:
β = − 90 \qquad\qquad\qquad\qquad\qquad\beta = -90 β=90
α = 0 \qquad\qquad\qquad\qquad\qquad\alpha = 0 α=0
γ = − A tan ⁡ 2 ( R 12 , R 22 ) \qquad\qquad\qquad\qquad\qquad\gamma = -A\tan2(R12,R22) γ=Atan2(R12R22)

二、绕相对于运动坐标系(ZYX欧拉角在这里插入图片描述

三、绕相对于运动坐标系(ZYZ欧拉角在这里插入图片描述在这里插入图片描述在这里插入图片描述

四、旋转变换通式

在这里插入图片描述

4-1坐标变换(正解

在这里插入图片描述

{A}是与K轴正交的坐标系,{B}相对于{A}相当于是绕z轴旋转

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4-2 等效转轴和等效转角(逆解

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

这篇关于【机器人学】-位姿描述和旋转变换(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/426138

相关文章

zblog自定义关键词和描述,zblog做seo优化必备插件

zblog自定义关键词和描述,zblog做seo优化必备插件     首先说下用到的一款插件:CustomMeta自定义数据字段 ,我们这里用到的版本是1.1,1.1+版增加了列表页标签支持!     插件介绍:文章,分类等添加自定义数据字段。1.1+版适用于 Z-Blog 2.0 B2以上版本。     在zblog2.0beta1里面,这个插件是集成到了程序里面,beta2里面默认没有了

【Rust光年纪】Rust 机器人学库全景:功能、安装与API概览

机器人学+Rust语言=无限可能:六款库带你开启创新之旅! 前言 随着机器人技术的快速发展,对于机器人学领域的高效、可靠的编程语言和库的需求也日益增加。本文将探讨一些用于 Rust 语言的机器人学库,以及它们的核心功能、使用场景、安装配置和 API 概览,旨在为机器人学爱好者和开发人员提供参考和指导。 欢迎订阅专栏:Rust光年纪 文章目录 机器人学+Rust语言=无限可能:

【软件测试】软件测试-----什么是Bug?Bug是如何分级的?Bug的生命周期是怎样的?如何描述一个Bug?

博客目录 一.软件测试的生命周期二.BUG的定义和级别2.1 bug的概念.2.2 如何描述一个bug.2.3bug的级别2.3.1 bug分级的意义.2.3.2 bug的四种级别. 三.BUG的生命周期.四.当与开发人员发生冲突该如何处理(高频面试)五.总结 一.软件测试的生命周期 软件测试贯穿于软件的整个生命周期,针对这句话我们一起来看一下软件测试是如何贯穿软件的整个生命周

FPGA编程基础(二)--常用行为仿真描述

1、常用的行为仿真描述语句 利用循环完成遍历 for、while语句常用于完成遍历测试。当设计代码包含了多个工作模式,那么就需要对各种模式都机型遍历测试,如果手动完成每种模式的测试,则将造成非常大的工作量。利用for循环,通过循环下标来传递各种模式的配置,不仅可以有效减少工作量,还能保证验证的完备性,不会漏掉任何一种模式。 (1) for循环仿真 可综合文件: module sign

【机器人工具箱Robotics Toolbox开发笔记(四)】 机器人位姿变换之位姿变换函数

机器人学的位姿变换相关内容,可以采用下列函数来进行计算。 (1)rpy2r() R = rpy2r (roll, pitch, yaw, options)能够根据一组回转角、俯仰角和偏转角求出对应齐次变换矩阵中的旋转矩阵R(3x3),其中3个角度rpy = [R, P, Y]分别对应于关于x、y、z轴的顺序旋转。 R = rpy2r (rpy, options)与前者相同,但是输入的是一个向量

《数据结构-用C语言描述第三版》课后答案 第五章

撰写匆忙,如有错误,尽情指正 1.选择题 (1)设有一个二维数组 A [ m ][ n ],假设 A [0][0]存放地址为644, A [2][2]存放地址为676,每个元素占一个空间,则 A [3][3]的存放地址为()。  A .688  B .678 C .692  D .696 答: A[2][2]的地址等于 (2*n+2)*1 +644 = 676 则n = 15 则A[

【机器人学】7-4.六自由度机器人自干涉检测-两圆柱体空间关系【附MATLAB代码】

目录 前言         公式推导 MATLAB代码 前言                 前面介绍了两个圆柱的旋转变换,已将两个圆柱体旋转到了比较好分析的位置,下面将正式分析两个圆柱体的位置关系。会借用投影的思想。  一  根据机械臂的几何数据以及DH参数,确定机械臂等效的圆柱体的上下圆心坐标。 二  将一个圆柱体旋转到与坐标Z轴对齐,另一个圆柱体转到,上下圆在XoY

【简历】25届武汉某二本JAVA简历:项目描述真是难为学生想这么偏

注:为保证用户信息安全,姓名和学校等信息已经进行同层次变更,内容部分细节也进行了部分隐藏 简历说明 这是一份 25 届武汉某二本学校的JAVA简历。校招第一要点是上来必须先确定自己的求职层次,大中小厂要求不一样。二本同学主体就是小公司。虽然有些重点二本可以冲一下中厂,但这个同学学校是比较普通的本科,另外主项目类似一个管理平台,基本上没有什么亮点,没有什么提问点,竞争力比较差,虽然重复度可能没那

Halcon!!!最新!! 从零认识标定板——制作描述文件和自己的标定板

一.标定板简介 ‌标定板是一种带有固定间距图案阵列的几何模型,主要用于机器视觉、图像测量、摄影测量、三维重建等领域。‌它的主要功能包括校正镜头畸变、确定物理尺寸和像素间的转换关系,以及确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系。通过相机拍摄标定板并计算校准算法,可以获得高精度的测量和重建结果。标定板的这个过程涉及误差测量与评估以及误差图像的矫正与补偿,通过这些步骤,可以更

【机器人学导论】6自由度机械臂逆运动学求解—牛顿法(数值法,仅旋转关节)

我以前是机器人专业,不过学的不多,教程应该是灰色封面的《机器人学导论》。3年前学的了,软件仿真学的是ABB,上手操作是KUKA的机器人。本文是给别人解决问题的记录,写个笔记。代码是matlab的,不免费分享,但是看我的解析应该也能自己写出来。我不从事这个行业,很多东西已经模糊了。 文章目录 一、DH参数二、正向运动学三、逆向运动学3.1 逆向运动学的求解方法:3.11 解析法(Ana