7_机械臂工作台坐标系理论_一般坐标系的映射_2

6fdfc6be7385a70a149d107ddcacb99e.jpeg

1、一般坐标系的映射

       经常有这种情况,我们已知矢量相对坐标系{B}的描述,并且想求出它相对于另一个坐标系{A}的描述。结合上次的理论和平时对机械臂使用的经验,使用3点法标定机械臂工作台坐标系(我习惯称为用户坐标系,下面称为用户坐标系),则是已知3点基于基坐标系的描述,求3点基于用户坐标系的描述,即用户坐标系相对基坐标系的描述。现在考虑映射的一般情况。此时,坐标系{B}的原点和坐标系{A}的原点不重合,有一个矢量偏移。确定{B}原点的矢量用db3cf0a0b084ed243e7e7629f379f7dc.png表示,同时{B}相对{A}的旋转用ce16c1f5700b92e3e10eb60f88feab1a.png描述。BP已知,求AP,如图2-7所示。

1cb030a89bf320ee4f0d949fca7e9cce.png

                           图2-7 在一般情况下的矢量变换

         首先将BP变换到一个中间坐标系,这个坐标系和{A}姿态相同,原点和{B}的原点重合。可以像之前那样由左乘矩阵得到。然后仍用简单的矢量加法将原点平移,并得到:

aa131f9b171944c386c1e26ecbd0a37c.png    

      式(2-17)表示将一个矢量描述从一个坐标系变换到另一个坐标系矢量的一般变换映射。注意式(2-17)中的符号:消去了B的符号,剩下了所有在A中的矢量符号,然后这些量才可以相加。

             由式(2-17)引出一个新的概念形式:

1adae43a029557584e230d72a82c995b.png

    即用一个矩阵形式的算子表示从一个坐标系到另一个坐标系的映射。这比式(2-17)表达更简洁,概念更明确。为了用式(2-18)的矩阵算子的形式写出式(2-17)的数学表达式,定义一个4×4的矩阵算子并使用了4×1位置矢量,这样式(2-18)就成为:

546b2d1c9cb3ecf47704aebc03b8c234.png

换言之:

1.在4×1矢量中增加的最后一个分量为“1”;

2.在4×4矩阵中增加的最后一行为“[0, 0, 0, 1]”

习惯上把位置矢量当成3×1或4×1的矢量,这取决于它是与3×3还是4×4 的矩阵相乘。容易看出式(2-19)可以写成:

ab0fd581c34675d0a5e7651e168997af.png

式(2-19)中的4×4矩阵被称为齐次变换矩阵。它完全可被看作是用一个简单的矩阵形式表示了一般变换的旋转和位移。在其他研究领域,它可以被用于进行投影和比例运算(当最后一行不是“[0, 0, 0, 1]”时或者旋转矩阵不是正交阵时)。

       正如用旋转矩阵定义姿态一样,我们将用变换(常用齐次变换)来定义一个坐标系。齐次变换仍可用于坐标系的描述,坐标系{B}相对于坐标系{A}的变换描述为a622556df321d3e63218d334ef81cbf6.png。  

欢迎关注:

47785378ed9a924ceed48d0fce068958.png

往期笔记:

6_工作台坐标系理论_向量叉积_1

5_机械臂工具位姿计算理论及代码实现验证

4_机械臂坐标系简介

3_机械臂位姿变换计算过程代码

4_机械臂位姿求逆理论及代码计算

1_机械臂位姿变换计算过程_1

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

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

相关文章

混剪视频的素材一般去哪找?做短视频素材混剪网站库分享!

在短视频和自媒体的快速发展时代,混剪视频已成为许多创作者展现创意和吸引观众的重要手段。制作高质量的混剪视频离不开优质素材的支持。今天,我将为大家推荐几个优秀的素材网站,帮助你轻松获取制作混剪视频所需的多样素材,提升视…

PyQt5.QtWidgets常用函数及说明

目录 PyQt5.QtWidgets简介常用函数设置窗口标题和固定大小创建垂直布局创建进度条 PyQt5.QtWidgets简介 PyQt5.QtWidgets 是 PyQt5 库中的一个模块,它包含了用于创建图形用户界面(GUI)的各种小部件(widgets)。这些小部…

Gobject tutorial 六

Instantiatable classed types Initialization and destruction 类型的实例化是通过函数g_tpye_create_instance()实现的。这个函数首先会查找与类型相关的GTypeInfo结构体,之后,查询结构体中的instance_size和 instance policy即 n_preallocs(在 2.10版…

陶建辉入选 2023 年度“中国物联网行业卓越人物榜”

在这个技术飞速发展的时代,物联网行业作为推动社会进步的重要力量,正在不断地演化和革新。近日,中国智联网生态大会暨“2023 物联之星”年度榜单颁奖典礼在上海浦东举行。现场公布了拥有物联网行业奥斯卡奖之称的 ——“物联之星 2023 中国物…

深度 | OpenAI COO闭门访谈:大模型已至,企业如何落地?

图片来源:OpenAI Z Highlights: 仅仅允许公司单一部门使用互联网非常可笑。类似地,给所有员工开放AI权限将会是最大的催化剂。当前阶段的AI企业级部署,要让员工熟悉AI工具的使用方式,让他们将工作流程与模型的功能紧密…

九、数据结构(并查集)

文章目录 1.并查集操作的简单实现2.解决问题3. 并查集优化3.1 合并的优化3.2查询优化3.3查询优化2 通常用“帮派”的例子来说明并查集的应用背景&#xff1a;在一个城市中有 n ( n < 1 0 6 ) n(n < 10^6) n(n<106)个人&#xff0c;他们分成不同的帮派&#xff0c;给出…

[算法刷题积累] 两数之和以及进阶引用

两数之和很经典&#xff0c;通常对于首先想到的就是暴力的求解&#xff0c;当然这没有问题&#xff0c;但是我们如果想要追求更优秀算法&#xff0c;就需要去实现更加简便的复杂度。 这里就要提到我们的哈希表法: 我们可以使用unordered_map去实现&#xff0c;也可以根据题目&a…

【Linux】线程(二:线程控制)

本篇文章主要围绕线程控制来进行展开。 主题思路是以create与join两个接口展开。 目录 pthread_create 与 pthread_join:pthread_create:pthread_join: 代码&#xff1a;问题一&#xff1a;主线程与新线程谁先退出&#xff1f;问题二&#xff1a;哪个线程应该最后退出&#xf…

【关键点检测和描述】SuperPoint

一、引言 论文&#xff1a; SuperPoint: Self-Supervised Interest Point Detection and Description 作者&#xff1a; Magic Leap 代码&#xff1a; SuperPoint 特点&#xff1a; 提出Homographic Adaptation策略&#xff0c;提升模型从虚拟数据迁移到真实数据的表现&#x…

邻氯苯甲酰氯在医药、农药等领域应用广泛 市场需求稳定且有增长趋势

邻氯苯甲酰氯在医药、农药等领域应用广泛 市场需求稳定且有增长趋势 邻氯苯甲酰氯又称为2-氯苯甲酰氯、氯化邻氯苯甲酰&#xff0c;化学式为C7H4Cl2O&#xff0c;是一种化学物质&#xff0c;外观为黄色液体&#xff0c;不溶于水&#xff0c;溶于醇、醚、丙酮&#xff0c;有强烈…

第100+12步 ChatGPT学习:R实现KNN分类

基于R 4.2.2版本演示 一、写在前面 有不少大佬问做机器学习分类能不能用R语言&#xff0c;不想学Python咯。 答曰&#xff1a;可&#xff01;用GPT或者Kimi转一下就得了呗。 加上最近也没啥内容写了&#xff0c;就帮各位搬运一下吧。 二、R代码实现KNN分类 &#xff08;1&a…

API 设计技巧:基础知识与实践的方法

在这篇深入探讨中&#xff0c;我们将从基础开始&#xff0c;逐步介绍 API 设计&#xff0c;并探讨定义卓越API的最佳实践。 作为一名开发者&#xff0c;你可能已经熟悉了许多这些概念&#xff0c;但我将提供详细解释&#xff0c;以加深你的理解。 API 设计&#xff1a;电子商…

图纸管理最佳实践:从混乱到有序的转变

图纸管理最佳实践&#xff1a;从混乱到有序的转变 在工程项目中&#xff0c;图纸是不可或缺的重要资料&#xff0c;它们承载着设计者的智慧与心血。然而&#xff0c;随着项目的推进和时间的推移&#xff0c;图纸管理往往变得混乱不堪&#xff0c;给项目的顺利进行带来诸多不便。…

ROS(四)

write in advance 实验四&#xff0c;在经历了实验三的失败后&#xff0c;卷土重来。 幸运的是&#xff0c;此次实验很简单&#xff0c;很快就能搞定。 Part one 使用指令查看自己摄像头的设备号&#xff0c;如果报错&#xff0c;且你为虚拟机&#xff0c;可能是未在虚拟机处…

Java学习 (二)关键字、标识符、数组

一、关键字 我们第一章案例中有很多关键字&#xff0c;比如class、public、static、void等&#xff0c;这些关键字依旧被java定义好了&#xff0c;可以拿来用&#xff0c;不需要死记硬背&#xff0c;按照官方文档查询即可 #官方文档 https://docs.oracle.com/javase/tutorial/j…

docker-compose设置永久启动、自动重启

步骤一 找到 docker-compose.yml 文件 步骤二 vim 打开文件 找到 image: PS&#xff1a;就是为了对齐格式 步骤三 在其下方添加&#xff1a; restart: always而后保存即可

打开nginx连接的php页面报错502

目录 问题描述&#xff1a; 原因&#xff1a; 1. 使用 Unix 域套接字&#xff08;Unix Socket&#xff09; 区别和优势&#xff1a; 2. 使用 TCP/IP 套接字 区别和优势&#xff1a; 如何选择 扩展&#xff1a;Rocky_Linux9.4安装PHP的步骤&#xff1a; 使用Remi存储库…

Wifi通信协议:WEP,WPA,WPA2,WPA3,WPS

前言 无线安全性是保护互联网安全的重要因素。连接到安全性低的无线网络可能会带来安全风险&#xff0c;包括数据泄露、账号被盗以及恶意软件的安装。因此&#xff0c;利用合适的Wi-Fi安全措施是非常重要的&#xff0c;了解WEP、WPA、WPA2和WPA3等各种无线加密标准的区别也是至…

通过防抖动代码解决ResizeObserver loop completed with undelivered notifications.

通过防抖动代码解决ResizeObserver loop completed with undelivered notifications. 一、报错内容二、解决方案解释&#xff1a; 一、报错内容 我通过el-tabs下的el-tab-pane切换到el-table出现的报错&#xff0c;大致是渲染宽度出现了问题 二、解决方案 扩展原生的 Resiz…

Android 应用加固与重签名—使用AndroidStudio自带工具 apksigner

由 AndroidStudio 生成的release版本的app有自己的签名&#xff0c;但当应用加固后会删除原签名&#xff0c;需要重新签名。 一、加固方式&#xff1a; 使用基础版的腾讯云&#xff08;乐固&#xff09;进行免费加固&#xff0c;上传软件后等待在线加固完成后下载 apk 即可。…