位姿变换线性变换与坐标变换

2023-11-26 12:30

本文主要是介绍位姿变换线性变换与坐标变换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

位姿,线性变换与坐标变换.yuque

内旋,外旋, 左乘,右乘很容易把人绕晕是因为缺少一种科学的符号。
自己的符号,如果经常变不稳定,对推理和理解都很不利。
一旦问题复杂起来, 直观和直觉靠不住, 只能靠代数符号来推理
约定
P1: A,B,C…是空间中的标准正交基
P2: [a1,a2,…an] 是系A的基, [b1,b2,…bn] 是系B的基,其中aj 和bj 都是n维列向量
一个坐标系可以用它的基表示,故A=[a1,a2,…an] B=[b1,b2…bn]。 aj 和 bj 的表示需要依赖世界系[e1,e2,…en]
P3:AP是点P在A系中的齐次坐标A [Px,Py,Pz,1]T或欧式坐标A[Px,Py,Pz]T ,根据上下文区分
P4: AT是A系的中的线性变换, 满足AP2=AT * AP1 (就是把P1变换到P2点)
P5: ABT 是B系在A系中的位姿,指的是系B的每一个基在系A的坐标表示即
[b1,b2…bn]=[a1,a2,…an] ABT
ABT * BAT =I
P6: 在线性代数中 T * 0=0 ,即所有系原点重合,但在齐次坐标中根本不存在[0,0,0,0]T, 而是用 [0,0,0,1]T 表示原点,所以齐次坐标可处理平移问题
P7: 常用的线性变换使用作用来描述,比如拉伸,旋转,平移,镜像,透视,而抽象的线性变换则只能使用矩阵来描述。
定理1: 坐标变换定理 AP= ABT BP
坐标变换定理描述了同一个点P在两个系中的关系
P1: B=[b1,b2…bn]=[a1,a2,…an]C=AC ; (C是过渡矩阵)
P2: AP=[p1,p1,…pn]T BP=[p1,p1,…pn,]T P=AAP=BBP=ACBP
P3: AP=CBP ; C就是ABT
P4: 如果P1中的A取I=[e1,e2…en] 则 B=C=ABT
定理2: 线性变换定理 AP2= ABT AP1
令 AT = ABT , 则 AP2= AT AP1
线性变换定理描述了在同一个系中两个点的关系 (线性变换的特点是左上角在一个系中)
AT 产生的作用就是A系到B系的作用
定理3: ACT=ABTBCT
虽然这个定理很好证明,但对它的不同解释延伸出了很多有意思的结论,内旋,外旋都来源于此
P1: AP= ABT BP =ACT CP BP= BCT CP
P2: AP= ABT BCT CP =ACT CP
P3: ABT BCT =ACT
定理4: 内外旋定理
该定理源于对公式 ACT=ABT
BCT 的两种解释
本地系的作用是内旋用右乘 , 世界系作用是外旋用左乘

达到上图的状态有两种方式
方式1: 运动系,内旋,右乘的解释
P1: ABC重合
P2: BC相对A运动ABT
P3: C相对B运动BcT
ACT=ABTBCT 可以看作ABT与BCT 的合成, 上面都是相对运动系作用
方式2: 世界系,外旋,左乘的解释
P1: ABC重合
P2: C相对AB运动BcT
P3: BC相对A运动ABT
ACT=ABTBCT 可以看作是先BcT作用后ABT作用, 上面都是相对世界系作用
例1: 在平面上,求绕点(x,y)逆时针旋转θ对应的线性变换
P1: A系为世界系
P2: B系由A系平移到(x,y)得到
P3: C系由B系逆时针旋转θ得到
P4: P1绕B系原点逆时针旋转θ到达P2 ,求在A系中P1到P2的线性变换

AP1=ABTBCTCP1
AP2=ABTBCTCP2
CP2=BCTCP1 ;(同时有BP2=BCTBP1)
AP2=MAP1
联立上面方程可解得 M=ABTBCTBAT (把前三个方程带入第4个方程)
将ABT= [ 1 0 x 0 1 y 0 0 1 ] \begin{bmatrix} 1 &0 & x \\ 0 & 1 & y \\ 0 & 0 &1 \end{bmatrix} 100010xy1 BCT= [ cos ⁡ θ − sin ⁡ θ 0 sin ⁡ θ cos ⁡ θ 0 0 0 1 ] \begin{bmatrix} \cos \theta & -\sin \theta & 0 \\ \sin \theta & \cos \theta & 0 \\ 0 & 0 &1 \end{bmatrix} cosθsinθ0sinθcosθ0001 BAT= [ 1 0 x 0 1 y 0 0 1 ] − 1 \begin{bmatrix} 1 &0 & x \\ 0 & 1 & y \\ 0 & 0 &1 \end{bmatrix} ^{-1} 100010xy1 1
带入上式得到
M= [ cos ⁡ θ − sin ⁡ θ ( 1 − c o s θ ) ∗ x + s i n θ ∗ y sin ⁡ θ cos ⁡ θ − s i n θ ∗ x + ( 1 − c o s θ ) ∗ y 0 0 1 ] \begin{bmatrix} \cos \theta & -\sin \theta & (1-cos\theta)*x+sin\theta*y \\ \sin \theta & \cos \theta & -sin\theta*x+(1-cos\theta)*y \\ 0 & 0 &1 \end{bmatrix} cosθsinθ0sinθcosθ0(1cosθ)x+sinθysinθx+(1cosθ)y1
例1的过程可以自然的推广到三维中绕定轴旋转对应的线性变换

这篇关于位姿变换线性变换与坐标变换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Verybot之OpenCV应用二:霍夫变换查找圆

其实我是想通过这个程序来测试一下,OpenCV在Verybot上跑得怎么样,霍夫变换的原理就不多说了,下面是程序: #include "cv.h"#include "highgui.h"#include "stdio.h"int main(int argc, char** argv){cvNamedWindow("vedio",0);CvCapture* capture;i

SW - 引入第三方dwg图纸后,修改坐标原点

文章目录 SW - 引入第三方dwg图纸后,修改坐标原点概述笔记设置图纸新原点END SW - 引入第三方dwg图纸后,修改坐标原点 概述 在solidworks中引入第三方的dwg格式图纸后,坐标原点大概率都不合适。 全图自动缩放后,引入的图纸离默认的原点位置差很多。 需要自己重新设置原点位置,才能自动缩放后,在工作区中间显示引入的图纸。 笔记 将dwg图纸拖到SW中

三维激光扫描点云配准外业棋盘的布设与棋盘坐标测量

文章目录 一、棋盘标定板准备二、棋盘标定板布设三、棋盘标定板坐标测量 一、棋盘标定板准备 三维激光扫描棋盘是用来校准和校正激光扫描仪的重要工具,主要用于提高扫描精度。棋盘标定板通常具有以下特点: 高对比度图案:通常是黑白相间的棋盘格,便于识别。已知尺寸:每个格子的尺寸是已知的,可以用于计算比例和调整。平面标定:帮助校准相机和激光扫描仪之间的位置关系。 使用方法 扫描棋盘:

C/C++两点坐标求距离以及C++保留两位小数输出,秒了

目录 1. 前言 2. 正文 2.1 问题 2.2 解决办法 2.2.1 思路 2.2.2 代码实现 3. 备注 1. 前言 依旧是带来一个练手的题目,目的就一个,方法千千万,通向终点的方式有很多种,没有谁与谁,我们都是为了成为更好的自己。 2. 正文 2.1 问题 题目描述: 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。 输入格式:

【数字信号处理】一文讲清FFT(快速傅里叶变换)

目录 快速傅里叶变换(Fast Fourier Transform,FFT)FFT的背景快速傅里叶变换(Fast Fourier Transform,FFT)DFT的数学表达实际计算重要性和应用频谱泄露、频谱混叠奈奎斯特采样定理参考链接 快速傅里叶变换(Fast Fourier Transform,FFT) FFT的背景 1、为什么要时域→频域频率?50Hz+频率120Hz

1.39TB高清卫星影像更新(WGS84坐标投影)

最近对WGS84版的高清卫星影像数据进行了一次更新,并基于更新区域生成了相应的接图表。 1.39TB高清卫星影像更新 本次数据更新了1576个离线包,共1.39TB大小,并全部生成了更新接图表。 更新接图表范围 更新接图表由每一个离线包文件的范围构成,放大地图可以查看接图表的编号。    接图表编号 我们打开瓦片编号并放到到第12级,可以发现接图表的编号与瓦片编号完全一

halcon 的图像坐标转到实际的机械坐标的标定

所谓手眼系统,就是人眼睛看到一个东西的时候要让手去抓取,就需要大脑知道眼睛和手的坐标关系。如果把大脑比作B,把眼睛比作A,把手比作C,如果A和B的关系知道,B和C的关系知道,那么C和A的关系就知道了,也就是手和眼的坐标关系也就知道了。 相机知道的是像素坐标,机械手是空间坐标系,所以手眼标定就是得到像素坐标系和空间机械手坐标系的坐标转化关系。 在实际控制中,相机检测到目标在图像中的像

傅里叶变换家族

禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》 禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码

齐次变换矩阵的原理与应用

齐次变换矩阵的原理与应用 通过齐次变换矩阵,可以描述机械臂末端执行器(法兰)在三维空间中的平移和旋转操作。该矩阵结合了旋转和平移信息,用于坐标变换。 1. 齐次变换矩阵的基本形式 一个齐次变换矩阵 T是一个 4x4 矩阵,表示刚体的旋转和平移: T = [ R t 0 1 ] = [ r 11 r 12 r 13 x r 21 r 22 r 23 y r 31 r 32 r 33 z 0

MATLAB分析图像的离散余弦变换(DCT)

1. MATLAB的介绍以及所需函数的说明:  1.1 MATLAB  MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks 公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设