[足式机器人]Part3 机构运动学与动力学分析与建模 Ch00-3(3) 刚体的位形 Configuration of Rigid Body

本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。

2024年底本人学位论文发表后方可摘抄
若有帮助请引用
本文参考:
.

食用方法
如何表达刚体在空间中的位置与姿态
姿态参数如何表达?不同表达方式直接的转换关系?
旋转矩阵?转换矩阵?有什么意义和性质?转置代表什么?
如何表示连续变换?——与RPY有关
齐次坐标的意义——简化公式?
务必自己推导全部公式,并理解每个符号的含义

机构运动学与动力学分析与建模 Ch00-3刚体的位形 Configuration of Rigid BodyPart3

    • 3.8 点、线、面、向量在坐标系下的表达
      • 3.8.1 线的特征
      • 3.8.2 面的特征
    • 3.9 简单的示例与计算


3.8 点、线、面、向量在坐标系下的表达

对于固定坐标系下同一点/向量,在不同坐标系 { A } , { B } \left\{ A \right\} ,\left\{ B \right\} {A},{B}下进行表达,存在如下转换关系:
R ⃗ V e c t o r A = [ Q B A ] R ⃗ V e c t o r B \vec{R}_{\mathrm{Vector}}^{A}=\left[ Q_{\mathrm{B}}^{A} \right] \vec{R}_{\mathrm{Vector}}^{B} R VectorA=[QBA]R VectorB
R ⃗ P A = [ Q B A ] R ⃗ P B + R ⃗ B A \vec{R}_{\mathrm{P}}^{A}=\left[ Q_{\mathrm{B}}^{A} \right] \vec{R}_{\mathrm{P}}^{B}+\vec{R}_{\mathrm{B}}^{A} R PA=[QBA]R PB+R BA
对于固定坐标系下同一线/面,在不同坐标系 { A } , { B } \left\{ A \right\} ,\left\{ B \right\} {A},{B}下进行表达,存在如下转换关系:
R ⃗ P A + λ R ⃗ V e c t o r A = [ Q B A ] R ⃗ P B + R ⃗ B A + λ [ Q B A ] R ⃗ V e c t o r B = [ Q B A ] ( R ⃗ P B + λ R ⃗ V e c t o r B ) + R ⃗ B A \vec{R}_{\mathrm{P}}^{A}+\lambda \vec{R}_{\mathrm{Vector}}^{A}=\left[ Q_{\mathrm{B}}^{A} \right] \vec{R}_{\mathrm{P}}^{B}+\vec{R}_{\mathrm{B}}^{A}+\lambda \left[ Q_{\mathrm{B}}^{A} \right] \vec{R}_{\mathrm{Vector}}^{B}=\left[ Q_{\mathrm{B}}^{A} \right] \left( \vec{R}_{\mathrm{P}}^{B}+\lambda \vec{R}_{\mathrm{Vector}}^{B} \right) +\vec{R}_{\mathrm{B}}^{A} R PA+λR VectorA=[QBA]R PB+R BA+λ[QBA]R VectorB=[QBA](R PB+λR VectorB)+R BA
R ⃗ P A + λ 1 R ⃗ V e c t o r 1 A + λ 2 R ⃗ V e c t o r 2 A = [ Q B A ] R ⃗ P B + R ⃗ B A + λ 1 [ Q B A ] R ⃗ V e c t o r 1 B + λ 2 [ Q B A ] R ⃗ V e c t o r 2 B = [ Q B A ] ( R ⃗ P B + λ 1 R ⃗ V e c t o r 1 B + λ 2 R ⃗ V e c t o r 2 B ) + R ⃗ B A \vec{R}_{\mathrm{P}}^{A}+\lambda _1\vec{R}_{\mathrm{Vector}_1}^{A}+\lambda _2\vec{R}_{\mathrm{Vector}_2}^{A}=\left[ Q_{\mathrm{B}}^{A} \right] \vec{R}_{\mathrm{P}}^{B}+\vec{R}_{\mathrm{B}}^{A}+\lambda _1\left[ Q_{\mathrm{B}}^{A} \right] \vec{R}_{\mathrm{Vector}_1}^{B}+\lambda _2\left[ Q_{\mathrm{B}}^{A} \right] \vec{R}_{\mathrm{Vector}_2}^{B}=\left[ Q_{\mathrm{B}}^{A} \right] \left( \vec{R}_{\mathrm{P}}^{B}+\lambda _1\vec{R}_{\mathrm{Vector}_1}^{B}+\lambda _2\vec{R}_{\mathrm{Vector}_2}^{B} \right) +\vec{R}_{\mathrm{B}}^{A} R PA+λ1R Vector1A+λ2R Vector2A=[QBA]R PB+R BA+λ1[QBA]R Vector1B+λ2[QBA]R Vector2B=[QBA](R PB+λ1R Vector1B+λ2R Vector2B)+R BA

3.8.1 线的特征

  • 线的单位方向 l ⃗ \vec{l} l
    已知平面上存在点 P 1 ( x 1 , y 1 , z 1 ) , P 2 ( x 2 , y 2 , z 2 ) P_1\left( x_1,y_1,z_1 \right) ,P_2\left( x_2,y_2,z_2 \right) P1(x1,y1,z1),P2(x2,y2,z2),则其单位方向向量 l ⃗ \vec{l} l 为:
    l ⃗ = P 1 P 2 ⇀ ∣ P 1 P 2 ⇀ ∣ = ( x 2 − x 1 ) i ⃗ + ( y 2 − y 1 ) j ⃗ + ( z 2 − z 1 ) k ⃗ ( x 2 − x 1 ) 2 + ( y 2 − y 1 ) 2 + ( z 2 − z 1 ) 2 \vec{l}=\frac{\overrightharpoon{P_1P_2}}{\left| \overrightharpoon{P_1P_2} \right|}=\frac{\left( x_2-x_1 \right) \vec{i}+\left( y_2-y_1 \right) \vec{j}+\left( z_2-z_1 \right) \vec{k}}{\sqrt{\left( x_2-x_1 \right) ^2+\left( y_2-y_1 \right) ^2+\left( z_2-z_1 \right) ^2}} l = P1P2 P1P2 =(x2x1)2+(y2y1)2+(z2z1)2 (x2x1)i +(y2y1)j +(z2z1)k
  • 线的姿态参数 ( θ , ϕ ) \left( \theta ,\phi \right) (θ,ϕ)(见1.2.3)
    已知平面上存在点 P 1 ( x 1 , y 1 , z 1 ) , P 2 ( x 2 , y 2 , z 2 ) P_1\left( x_1,y_1,z_1 \right) ,P_2\left( x_2,y_2,z_2 \right) P1(x1,y1,z1),P2(x2,y2,z2),则其球坐标系姿态角 ( θ , ϕ ) \left( \theta ,\phi \right) (θ,ϕ), 为:
    R ⃗ P 1 P 2 F = ( x 2 − x 1 ) i ⃗ + ( y 2 − y 1 ) j ⃗ + ( z 2 − z 1 ) k ⃗ = ∣ P 1 P 2 ⇀ ∣ ( cos ⁡ ϕ sin ⁡ θ i ⃗ + sin ⁡ ϕ sin ⁡ θ j ⃗ + cos ⁡ ϕ k ⃗ ) ⇒ { ϕ = a r c cos ⁡ ( z 2 − z 1 ∣ P 1 P 2 ⇀ ∣ ) θ = a r c sin ⁡ ( ( x 2 − x 1 ) 2 + ( y 2 − y 1 ) 2 ) − π 2 ( y 2 − y 1 ∣ y 2 − y 1 ∣ − 1 ) ∣ P 1 P 2 ⇀ ∣ \vec{R}_{P_1P_2}^{F}=\left( x_2-x_1 \right) \vec{i}+\left( y_2-y_1 \right) \vec{j}+\left( z_2-z_1 \right) \vec{k}=\left| \overrightharpoon{P_1P_2} \right|\left( \cos \phi \sin \theta \vec{i}+\sin \phi \sin \theta \vec{j}+\cos \phi \vec{k} \right) \\ \Rightarrow \begin{cases} \phi =\mathrm{arc}\cos \left( \frac{z_2-z_1}{\left| \overrightharpoon{P_1P_2} \right|} \right)\\ \theta =\mathrm{arc}\sin \frac{\left( \sqrt{\left( x_2-x_1 \right) ^2+\left( y_2-y_1 \right) ^2} \right) -\frac{\pi}{2}\left( \frac{y_2-y_1}{\left| y_2-y_1 \right|}-1 \right)}{\left| \overrightharpoon{P_1P_2} \right|}\\ \end{cases} R P1P2F=(x2x1)i +(y2y1)j +(z2z1)k = P1P2 (cosϕsinθi +sinϕsinθj +cosϕk ) ϕ=arccos P1P2 z2z1 θ=arcsin P1P2 ((x2x1)2+(y2y1)2 )2π(y2y1y2y11)

3.8.2 面的特征

  • 法矢量 n ⃗ \vec{n} n
    已知平面上存在点 P 1 ( x 1 , y 1 , z 1 ) , P 2 ( x 2 , y 2 , z 2 ) , P 3 ( x 3 , y 3 , z 3 ) P_1\left( x_1,y_1,z_1 \right) ,P_2\left( x_2,y_2,z_2 \right) ,P_3\left( x_3,y_3,z_3 \right) P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3), 则其法矢量 n ⃗ \vec{n} n 为:
    n ⃗ = P 1 P 2 ⇀ × P 1 P 3 ⇀ = ∣ i ⃗ j ⃗ k ⃗ x 2 − x 1 y 2 − y 1 z 2 − z 1 x 3 − x 1 y 3 − y 1 z 3 − z 1 ∣ = a i ⃗ + b j ⃗ + c k ⃗ ; n ⃗ ( a , b , c ) { a = ( y 2 − y 1 ) ( z 3 − z 1 ) − ( y 3 − y 1 ) ( z 2 − z 1 ) b = ( z 2 − z 1 ) ( x 3 − x 1 ) − ( z 3 − z 1 ) ( x 2 − x 1 ) c = ( x 2 − x 1 ) ( y 3 − y 1 ) − ( x 3 − x 1 ) ( y 2 − y 1 )    \vec{n}=\overrightharpoon{P_1P_2}\times \overrightharpoon{P_1P_3}=\left| \begin{matrix} \vec{i}& \vec{j}& \vec{k}\\ x_2-x_1& y_2-y_1& z_2-z_1\\ x_3-x_1& y_3-y_1& z_3-z_1\\ \end{matrix} \right|=a\vec{i}+b\vec{j}+c\vec{k};\vec{n}\left( a,b,c \right) \\ \begin{cases} a=\left( y_2-y_1 \right) \left( z_3-z_1 \right) -\left( y_3-y_1 \right) \left( z_2-z_1 \right)\\ b=\left( z_2-z_1 \right) \left( x_3-x_1 \right) -\left( z_3-z_1 \right) \left( x_2-x_1 \right)\\ c=\left( x_2-x_1 \right) \left( y_3-y_1 \right) -\left( x_3-x_1 \right) \left( y_2-y_1 \right) \,\,\\ \end{cases} n =P1P2 ×P1P3 = i x2x1x3x1j y2y1y3y1k z2z1z3z1 =ai +bj +ck ;n (a,b,c) a=(y2y1)(z3z1)(y3y1)(z2z1)b=(z2z1)(x3x1)(z3z1)(x2x1)c=(x2x1)(y3y1)(x3x1)(y2y1)

  • 平面的姿态参数
    已知平面上存在点 P 1 ( x 1 , y 1 , z 1 ) , P 2 ( x 2 , y 2 , z 2 ) , P 3 ( x 3 , y 3 , z 3 ) P_1\left( x_1,y_1,z_1 \right) ,P_2\left( x_2,y_2,z_2 \right) ,P_3\left( x_3,y_3,z_3 \right) P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3), 令 i ⃗ M = P 1 P 2 ⇀ ∣ P 1 P 2 ⇀ ∣ = ( x 2 − x 1 ) i ⃗ + ( y 2 − y 1 ) j ⃗ + ( z 2 − z 1 ) k ⃗ ( x 2 − x 1 ) 2 + ( y 2 − y 1 ) 2 + ( z 2 − z 1 ) 2 \vec{i}^M=\frac{\overrightharpoon{P_1P_2}}{\left| \overrightharpoon{P_1P_2} \right|}=\frac{\left( x_2-x_1 \right) \vec{i}+\left( y_2-y_1 \right) \vec{j}+\left( z_2-z_1 \right) \vec{k}}{\sqrt{\left( x_2-x_1 \right) ^2+\left( y_2-y_1 \right) ^2+\left( z_2-z_1 \right) ^2}} i M= P1P2 P1P2 =(x2x1)2+(y2y1)2+(z2z1)2 (x2x1)i +(y2y1)j +(z2z1)k , k ⃗ M = a i ⃗ F + b j ⃗ F + c k ⃗ F a 2 + b 2 + c 2 , { a = ( y 2 − y 1 ) ( z 3 − z 1 ) − ( y 3 − y 1 ) ( z 2 − z 1 ) b = ( z 2 − z 1 ) ( x 3 − x 1 ) − ( z 3 − z 1 ) ( x 2 − x 1 ) c = ( x 2 − x 1 ) ( y 3 − y 1 ) − ( x 3 − x 1 ) ( y 2 − y 1 )    \vec{k}^M=\frac{a\vec{i}^F+b\vec{j}^F+c\vec{k}^F}{\sqrt{a^2+b^2+c^2}},\begin{cases} a=\left( y_2-y_1 \right) \left( z_3-z_1 \right) -\left( y_3-y_1 \right) \left( z_2-z_1 \right)\\ b=\left( z_2-z_1 \right) \left( x_3-x_1 \right) -\left( z_3-z_1 \right) \left( x_2-x_1 \right)\\ c=\left( x_2-x_1 \right) \left( y_3-y_1 \right) -\left( x_3-x_1 \right) \left( y_2-y_1 \right) \,\,\\ \end{cases} k M=a2+b2+c2 ai F+bj F+ck F, a=(y2y1)(z3z1)(y3y1)(z2z1)b=(z2z1)(x3x1)(z3z1)(x2x1)c=(x2x1)(y3y1)(x3x1)(y2y1), 根据笛卡尔坐标系的基矢量转换关系: j ⃗ M = k ⃗ M × i ⃗ M \vec{j}^M=\vec{k}^M\times \vec{i}^M j M=k M×i M
    可得:
    [ i ⃗ M j ⃗ M k ⃗ M ] = [ Q F M ] [ i ⃗ F j ⃗ F k ⃗ F ] ; [ Q M F ] = [ Q F M ] T = [ q 11 q 12 q 13 q 21 q 22 q 23 q 31 q 32 q 33 ] \left[ \begin{array}{c} \vec{i}^M\\ \vec{j}^M\\ \vec{k}^M\\ \end{array} \right] =\left[ Q_{\mathrm{F}}^{M} \right] \left[ \begin{array}{c} \vec{i}^F\\ \vec{j}^F\\ \vec{k}^F\\ \end{array} \right] ;\left[ Q_{\mathrm{M}}^{F} \right] =\left[ Q_{\mathrm{F}}^{M} \right] ^{\mathrm{T}}=\left[ \begin{matrix} q_{11}& q_{12}& q_{13}\\ q_{21}& q_{22}& q_{23}\\ q_{31}& q_{32}& q_{33}\\ \end{matrix} \right] i Mj Mk M =[QFM] i Fj Fk F ;[QMF]=[QFM]T= q11q21q31q12q22q32q13q23q33
    将该矩阵内的元素带入上述小节中对应的转换关系,即可得到对应表达下的姿态参数。

3.9 简单的示例与计算

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

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

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

相关文章

机器学习笔记:地理加权回归(GWR)

1 传统的线性回归 机器学习笔记:线性回归_线性回归的读书笔记-CSDN博客 最优的β为: 2 地理加权回归(GWR) 2.1 模型概述 地理加权回归(Geographically Weighted Regression,GWR)是传统回归分…

【算法小记】——机器学习中的概率论和线性代数,附线性回归matlab例程

内容包含笔者个人理解,如果错误欢迎评论私信告诉我 线性回归matlab部分参考了up主DR_CAN博士的课程 机器学习与概率论 在回归拟合数据时,根据拟合对象,可以把分类问题视为一种简答的逻辑回归。在逻辑回归中算法不去拟合一段数据而是判断输入…

5G-A:“繁花”盛开在2024

2019年,我国正式发牌5G,开启5G商用新时代。通信技术十年一代,五年过去了,5G是否要进入“半代更迭”阶段? 2024年被视为5G-A商用元年,是5G走向6G的关键一跃。5G-A以R18为演进起点,在连接速率、网…

【Linux配置yum源以及基本yum指令】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、yum是什么? 二、什么是软件包? 三、三种安装软件包的方式 四、yum的相关操作 4.1、搜索软件 4.2、安装软件 4.3、卸载软件 4.4、那…

龟兔再跑

欢迎来到程序小院 龟兔再跑 玩法&#xff1a;乌龟跳绳&#xff0c;点击鼠标左键乌龟跳跃&#xff0c;两只乌龟一直不停的甩绳子&#xff0c;另外一只乌龟从中跳过&#xff0c;赶快去跳绳吧^^。开始游戏https://www.ormcc.com/play/gameStart/255 html <div class"mai…

vue中keep-alive的理解和使用

简要说明&#xff1a; keep-alive&#xff1a;保留状态。在项目中我们经常将keep-alive和router-view结合使用&#xff0c;实现切换路由后仍然保留之前的路由页面的状态&#xff0c;路由切换回来后不会 重新初始化&#xff0c;而是保留之前的状态。但keep-alive是vue本身提供的…

七八分钟快速用k8s部署springboot前后端分离项目

前置依赖 k8s集群&#xff0c;如果没有安装&#xff0c;请先安装 kubectl &#xff0c;客户端部署需要依赖 应用镜像构建 应用镜像构建不用自己去执行&#xff0c;相关镜像已经推送到docker hub 仓库&#xff0c;如果要了解过程和细节&#xff0c;可以看一下&#xff0c;否…

openEuler操作系统的安装及免密远程连接(超详细版)

一、下载地址 注意&#xff1a;可以先注册华为账号&#xff0c;注册后可享1倍加速 mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/ISO/x86_64/ 二、创建虚拟机步骤 ①选择自定义 ② 根据自己的VMware选择版本 ③选择稍后安装操作系统 ④没有openEuler可以选择…

「 网络安全术语解读 」通用攻击模式检举和分类CAPEC详解

引言&#xff1a;在网络安全领域&#xff0c;了解攻击者的行为和策略对于有效防御攻击至关重要。然而&#xff0c;攻击模式的描述和分类方式缺乏统一性和标准化。为了解决这个问题&#xff0c;MITRE公司创建了CAPEC标准&#xff0c;以提供一个共享和统一的攻击模式分类框架。 1…

给主机双网卡配置双网关,修改Windows路由表

问题背景&#xff1a; 1 一般情况下&#xff0c;Windows主机就算有多个网卡&#xff0c;在默认情况下&#xff0c;只能有一个网卡可以配置网关。 2 在双网卡只配置一个网关的情况下&#xff0c;如果每个网卡值负责访问自己网段内的IP地址&#xff0c;这样是不会出现什么异常现…

C语言爬虫采集图书网站百万数据

最近需要查阅一些资料&#xff0c;只给到相关项目名称以及关键词&#xff0c;想通过图书文库找到对应书籍&#xff0c;那么怎么才能在百万数据库中找到自己需要的文献呢&#xff1f; 今天我依然用C语言写个爬虫程序&#xff0c;从百万数据库中查找到适合的文章&#xff0c;能节…

软考14-上午题-编译、解释程序翻译阶段

一、编译、解释程序【回顾】 目的&#xff1a;高级程序设计语言&#xff08;汇编语言、高级语言&#xff09;—【翻译】—>机器语言 1-1、编译方式 将高级语言书写的源程序——>目标程序&#xff08;汇编语言、机器语言&#xff09; 包含的工作阶段&#xff1a;词法分…

ubuntu 20.04 aarch64 平台交叉编译 libffi 库

前言 由于打算交叉编译 python&#xff0c;但是依赖 libffi 库&#xff0c;也就是 libffi 库也需要交叉编译 环境&#xff1a; ubuntu 20.04 交叉编译工具链&#xff1a;这里使用 musl libc 的 gcc 交叉编译工具链&#xff0c;aarch64-linux-musleabi-gcc&#xff0c;gcc 版本…

字符串冲刺题(算法村第十二关黄金挑战)

最长公共前缀 14. 最长公共前缀 - 力扣&#xff08;LeetCode&#xff09; 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 输入&#xff1a;strs ["flower","flow"…

安泰ATA-2082高压放大器如何驱动超声探头进行无损检测

无损检测技术是一种在不破坏或影响被检测物体性能的前提下&#xff0c;通过物理或化学方法对其内部或表面的缺陷进行检测的技术。在无损检测领域&#xff0c;超声检测是一种广泛应用的方法&#xff0c;而ATA-2082高压放大器则是实现高效、精确超声检测的关键设备之一。本期内容…

钉钉互动卡片对接-普通互动卡片接入流程

这里写目录标题 一、创建内部应用二、搭建普通卡片模板三、调用互动卡片服务端接口接口报文一、发送卡片二、更新卡片三、获取token 一、创建内部应用 登录开发者后台&#xff0c;创建内部应用。 例如 百度-内部测试获取AppKey和AppSecret&#xff0c; 获取应用访问凭证获取企…

计组与原理:系统总线

大家好啊&#xff0c;这里来到计组第二部分内容&#xff1a;系统总线 跳转上一篇&#xff1a;计组原理&#xff1a;系统概论与基本组成 系统总线 1.总线的基本概念单总线结构框图面向 CPU 的双总线结构框图以存储器为中心的双总线结构框图 2.总线的分类片内总线系统总线通信总线…

API接口安全总结

接口分类 HTTP接口 RPC接口&#xff08;客户端和服务器端的连接 例如游戏登陆&#xff09;非web协议&#xff0c;PRC 远程过程调用 Remote Procedure Call&#xff0c;其就是一个节点请求另外一个节点提供的服务。当两个物理分离的子系统需要建立逻辑上的关联时&#xff0c;R…

Pandas--简介(1)

Pandas 简介 Pandas 是一个开源的数据分析和数据处理库&#xff0c;它是基于 Python 编程语言的。Pandas 提供了易于使用的数据结构和数据分析工具&#xff0c;特别适用于处理结构化数据&#xff0c;如表格型数据&#xff08;类似于Excel表格&#xff09;。Pandas 是数据科学和…

前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法

文章目录 一、vue实现导出excel1、前端实现1、安装xlsx依赖2、引入3、方法4、使用4.1、将一个二维数组转成sheet4.2、将一个对象数组转成sheet4.3、合并单元格4.4、一次导出多个sheet 5、支持的文件格式 2、后端实现 二、导出文件损坏1、前端请求导出接口&#xff0c;增加返回类…