7机器人位姿的数学描述与坐标变

2024-02-08 15:12

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

由上次刚体的空间转动直接切换为机器人相关术语。

1.机器人位姿的数学描述与坐标变换

1.1位姿描述

ee63583d6aba57fb959076999f296c33.png

{B}相对于{A}的姿态描述用3x3矩阵表示为:

a24d4df4442d32e2e879f14868423525.png

式中ccdf2da3035e1a5b873fdc5861e182cb.png为三个单位正交主矢量,分别表示刚体坐标系{B}的三个坐标轴XBYBZB在参考系{A}中的方位,∠XBXA表示坐标轴XB与坐标轴XA之间的夹角,其他的类似。

姿态矩阵f3f4978da2c06bbecc372c3dbbea516c.png具有如下特点:

1>共有9个元素,但只有3个是独立的,有6个约束条件:

0a2805abfca82e397086bf3cc5433472.png

9f3ba783d390bafcd11ec93786841f61.png

2>是单位正交阵,具有如下特点:

                                 bb321bfae3b9a89b3705b7623003fe8a.png

1.2 坐标系旋转(原点相同)

空间中任意点P在不同坐标系中的描述是不同的。为了阐明从一个坐标系描述到另一个坐标系描述的关系,需要讨论这种变换的数学问题。

设坐标系{B}与{A}有共同的坐标原点,但两者的方位不同,如图所示。用旋转矩阵ee5f9d7191ebf3360b6b09bfdceed1ce.png描述{B}相对于{A}的方位。同一点p在两个坐标系{A}和{B}中的描述PAPB具有如下变换关系:

 32038c3b35063b2a775f5dd14fc7e92c.png

其中0a4c895f4fdc53351e32f7b133307bef.png表示坐标系{B}相对于{A}的姿态,这里称其为旋转变换矩阵,简称旋转矩阵。旋转矩阵具有与姿态矩阵相同的特性:

 ed6b190262cc9a3608bc030cb2d2924e.png

0a7157c58103b951ce7272ee2836c007.png

1.3坐标系绕单个坐标轴旋转的旋转矩阵

f98238421a36836a2d40de5230f0ab09.png

1.4 坐标系绕多个坐标轴转动的旋转矩阵

可分为绕动坐标系的多个坐标轴旋转和绕定坐标系的多个坐标轴旋转两类问题。

1.4.1绕动坐标系的多个坐标轴旋转的旋转矩阵

直接上结论,不推了。

坐标系{A}绕其Z轴旋转195a0be33328c6fe14307ccda4c6810d.png角,得到新坐标系{1},坐标系{1}再绕其Y轴旋转6e0b92aae6cd61e2fde04a9a329da076.png角,得到新坐标系{2},坐标系{2}再绕其Z轴旋0ac40a91d1e991d150f36caec81d8128.png转角,得到新坐标系{B},求旋转矩阵

447942344a4001a367f1f7c2c13ff42b.png.03957dd2ea92075b9636b11f9dcd07e4.png

结论:旋转矩阵等于绕三个坐标轴转动的旋转矩阵的顺序乘积。

1.4.2绕定坐标系的多个坐标轴旋转的旋转矩阵

坐标系{A}绕其Z轴旋转7c287a5c20e8d162ca84d9c8b96c490f.png角,得到新坐标系{m},坐标系{m}再绕坐标系{A}的Z轴旋转395d21db4839fbcb527e38644250f2b1.png角,得到新坐标系{B},求旋转矩阵704bc40aee080125f23166dc32efcdf1.png.

 096b7a54504f71aa693ef48783c87896.png

结论:绕着固定坐标系{A}的两个坐标轴X、Z转动的旋转矩阵等于绕Z轴和绕X轴转动的两个旋转矩阵的乘积。

欢迎关注!

了解更多学习笔记!

b5b15c2f6e6d2964af81942fd94e32fb.png

这篇关于7机器人位姿的数学描述与坐标变的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

uva 11044 Searching for Nessy(小学数学)

题意是给出一个n*m的格子,求出里面有多少个不重合的九宫格。 (rows / 3) * (columns / 3) K.o 代码: #include <stdio.h>int main(){int ncase;scanf("%d", &ncase);while (ncase--){int rows, columns;scanf("%d%d", &rows, &col

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

基于树梅派的视频监控机器人Verybot

最近这段时间做了一个基于树梅派 ( raspberry pi ) 的视频监控机器人平台 Verybot ,现在打算把这个机器人的一些图片、视频、设计思路进行公开,并且希望跟大家一起研究相关的各种问题,下面是两张机器人的照片:         图片1:                   图片2                    这个平台的基本组成是:

CSP-J基础之数学基础 初等数论 一篇搞懂(一)

文章目录 前言声明初等数论是什么初等数论历史1. **古代时期**2. **中世纪时期**3. **文艺复兴与近代**4. **现代时期** 整数的整除性约数什么样的整数除什么样的整数才能得到整数?条件:举例说明:一般化: 判断两个数能否被整除 因数与倍数质数与复合数使用开根号法判定质数哥德巴赫猜想最大公因数与辗转相除法计算最大公因数的常用方法:举几个例子:例子 1: 计算 12 和 18