三维空间与位姿变换

news2024/11/26 17:51:42

在使用相机或者机械臂的过程中,经常会用到三维空间变换,大部分时候我们可以使用TF去获取空间中的位姿关系,但是也存在一些时候无法使用现有TF表示的情况,例如:使用相机识别工件时,已知通过图像确定了相机到工件的空间关系,此时需要将相机移动到工件正上方二次识别。但是在给机械臂发目标指令时,使用的时机械臂末端坐标系。所以此时就需要根据相机需要到达的目标位姿去计算一个机械臂末端应该到达的位姿。

关于上述问题,文章《空间位姿描述与坐标变换》讲述的还是比较清楚的。过多的内容不做详细叙述,简单记录一下这里用到的三维空间变换内容。

假设工件坐标系为世界坐标系A,相机坐标系为工具坐标系B,则问题可以描述为在已知世界坐标系与工具坐标系之间关系以及已知目标点在工具坐标系下位姿的情况下求目标点在世界坐标系下的位姿。

先看平移变换:
在这里插入图片描述
假设从世界坐标系A到工具坐标系B只有平移没有旋转,则目标点在两个坐标系下的角度是一致的,它们之间的变换关系只有平移变换,则假设目标点在工具坐标系下的位姿为:

P = { P B , R B } P = \lbrace P_B,R_B\rbrace P={PB,RB}
其中,P_B为点P在坐标系B中的平移矩阵,R_B为点P在坐标系B中的旋转矩阵。则点P在坐标系A中的位姿应该表示为:
P = { P B + P A B , R B } P = \lbrace P_B+P_{AB},R_B\rbrace P={PB+PAB,RB}
其中,P_AB为坐标系B在坐标系A中的平移矩阵。

然后再看旋转变换:
在这里插入图片描述
假设坐标系A与坐标系B之间经过了一个纯旋转变换,则P点在坐标系A下的坐标又可以表示为:
P = { R A B P B , R A B R B } P = \lbrace R_{AB}P_B,R_{AB}R_B\rbrace P={RABPB,RABRB}
对于旋转而言,它不仅会影响到原来点的位置,也会影响到原来点的朝向。所以这里的R与P都会进行左乘一个旋转矩阵的操作。

最后对于既存在平移也存在旋转的情况下:
在这里插入图片描述
对于这个时候,也是我们最常见的情况,此时可以通过结合上述两个问题的解得到最后的结果,将坐标先进行旋转,再进行平移,使AB坐标系相同,此时得到问题的解为:
P = { R A B P B + P A B , R A B R B } P = \lbrace R_{AB}P_B+P_{AB},R_{AB}R_B\rbrace P={RABPB+PAB,RABRB}

这里思考一个问题,对于第三种情况,如果我先进行平移变换得到中间变量:
P = { P B + P A B , R B } P = \lbrace P_B+P_{AB},R_B\rbrace P={PB+PAB,RB}
然后再进行旋转得到最后位姿,为什么不是
P = { R A B ( P B + P A B ) , R A B R B } P = \lbrace R_{AB}(P_B+P_{AB}),R_{AB}R_B\rbrace P={RAB(PB+PAB),RABRB}
这样子看起来好像也很有道理?

参考:

1、三维空间中“点的坐标变换”和“坐标系(位姿)变换

2、空间位姿描述与坐标变换

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

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

相关文章

C++ - RBTree

前面的文章中我们讲述了以二叉搜索树为基础的AVL树,本文中我们将继续讲一种二叉搜索树为基础的红黑树。 红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或 Black。 通过对任何一条…

冲量在线出席2023鲲鹏昇腾开发者峰会,联合鲲鹏打造可信AIGC一体机,共筑产业数字根基

近日,以“创未来 享非凡”为主题的2023鲲鹏昇腾开发者峰会在东莞松山湖举办。鲲鹏昇腾开发者峰会是面向ICT领域开发者的技术盛会,旨在打造生态伙伴、开发者学习、交流的平台,帮助开发者深入了解鲲鹏、昇腾全栈技术,加速行业技术、…

超聚变携手冲量在线打造可信AIGC计算联合解决方案:软硬件高效协同之跃

金融行业作为全球经济的核心引擎,不断变革和创新是其发展的常态,在算力这一日趋成为数字经济时代的新型生产力的趋势下,围绕金融业数字化,业界展开了新一轮探索。 近日,2023中国国际金融展(简称&#xff1…

uniapp app 实现qq登录、微信登录

一、申请 uniapp qq登录流程: 开通 | uni-app官网 申请微信登录可前往微信开发平台:微信开放平台 uniapp 微信登录流程: uni-app官网 申请qq登录可前往qq互联:QQ互联官网首页 这些都可以请运维同学帮我们申请,前…

【Linux】驱动内核调试,是需要几板斧的

目录 前言: 一、基础打印工具 (1)printk---最常用 ①Log Buffer: ②Console: ③RAM Console: (2)动态打印 ①动态打印与printk之间的区别联系 ②动态打印常用的例子 ③动态打印转为pri…

推荐系统---AUC / NDGG

目录: ROC / AUC1:坐标含义(横坐标)FPR:伪阳性率,分类器 “分类错误的负样本个数” 占 “总负样本个数” 的比例。(纵坐标)TPR:真阳性率,分类器 “分类正确的…

centos 7.6 安装mysql 5.7.35

centos 7.6 安装mysql 5.7.35 1、下载mysql安装包2、安装文档3、安装MySQL包4、安装后形成的配置文件和程序位置5、安装后设置5.1、修改MySQL root账户默认密码5.2、关闭系统防火墙 6、使用mysql 5.7.35 数据库6.1、命令行登录MySQL 5.7.35 数据库6.2、navicat连接mysql 5.7.35…

酒精和肠内外健康:有帮助还是有害?

谷禾健康 酒精与健康 饮酒作为一种特殊的文化形式,在我们国家有其独特的地位,在几千年的发展中,酒几乎渗透到日常生活、社会经济、文化活动之中。 据2018年发表的《中国饮酒人群适量饮酒状况》白皮书数据显示,中国饮酒人群高达6亿…

MS5208数模转换器可pin对pin兼容DAC128S085

DAC128S085 是一款功能齐全的通用八通道 12 位电压输出数模转换器 (DAC),可采用 2.7V 至 5.5V 单电源供电,3V 时功耗为 1.95mW,5 V 时功耗为 4.85mW。DAC128S085 采用 16 引脚 WQFN 封装和 16 引脚 TSSOP 封装。WQFN 封…

Convolutional Neural network(卷积神经网络)

目录 Why CNN for Image? The whole CNN structure Convolution(卷积) Max Pooling Flatten CNN in Keras What does CNN learn? what does filter do what does neuron do what about output Deep Dream Application Pla…

数据库缓存服务——NoSQL之Redis配置与优化

一、缓存概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较慢的一方起到加速作用,比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据,内存是保存CPU经常访问硬盘的数据,而且硬盘也有大小不一的缓存…

测试用例的设计方法

目录 测试用例的设计方法 等价类: 等价类分为有效等价类与无效等价类 分类树 边界值: 语法测试 正面测试: 负面测试: 判定表测试 因果图: 场景法: 随机测试: 希望能起到帮助&#xf…

关于使用pyinstaller来打包PySide2程序中的问题

打包 pyinstaller 02.py --noconsole --hidden-import PySide2.QtXml 报错0:The ‘pathlib‘ package is an obsolete backport of a standard library package 分析:这个是因为笔者使用的conda的集成环境,这里面自带了打包程序&#xff0c…

Cocos creator小游戏实现套牛小游戏资源及代码

Cocos creator实现套牛小游戏资源及代码 一 安装CocosDashBoard二 新建2D项目RunCow1、管理项目目录2、搭建界面 三 上线微信小游戏1、上线微信小游戏2、Cocos Creator代码打包上传3、上线微信小游戏出现问题 Cocos creator小游戏实现套牛小游戏资源及代码 最近在学习Cocos Cre…

23案例P135-员工部门增删改查实现

一、准备工作 需要完成tlias的部门管理和员工管理 创建tlias数据库,导入 -- 部门管理 create table dept(id int unsigned primary key auto_increment comment 主键ID,name varchar(10) not null unique comment 部门名称,create_time datetime not null commen…

软件I2C读写MPU6050代码

1、硬件电路 SCL引到了STM32的PB10号引脚,SDA引到了PB11号引脚软件I2C协议: 用普通GPIO口,手动反转电平实现协议,不需要STM32内部的外设资源支持,故端口是可以任意指定MPU605在SCL和SDA自带了两个上拉电阻,…

漏刻有时地理信息系统说明文档(LOCKGIS、php后台管理、三端一体PC-H5-微信小程序、百度地图jsAPI二次开发、标注弹窗导航)

漏刻有时地理信息系统LOCKGIS 前言一、运行环境(一)环境检查(二)权限检查(三)函数支持(四)域名相关 二、核心代码(一)坐标展示(二)实时…

Excel快捷键大全(2023最新版总结)

案例:Excel快捷键大全 【作为一名打工人,我总是要用到Excel表格,大家平常在使用Excel时都有什么比较好用的快捷键推荐吗?】 Excel是一款功能强大的电子表格软件,可以用于数据管理、计算、分析和报表生成等多种任务。…

HDFS的数据流

1.HDFS写数据流程 (1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。 (2)NameNode返回是否可以上传。 (3)客户端…

Shell系统编程三剑客之----AWK

目录 1.AWK工具简介 2.AWK的基本格式 3.AWK工作原理 4.常见的内建变量(可直接用) 二: AWK实例 1.按行输出文本 2.按字段输出文本 3.通过管道、双引号调用 Shell 命令 4.date命令输出时间 5. 查看内存使用占比 6.查看cpu使用占比 7.…