本文主要是介绍[足式机器人]Part3 机构运动学与动力学分析与建模 Ch01-1 刚体系统的运动学约束,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。
2024年底本人学位论文发表后方可摘抄
若有帮助请引用
本文参考:
《空间机构的分析与综合(上册)》-张启先
,感谢张启先先生对机构学的卓越贡献,希望下册有见天明之日!
《高等机构学》-白师贤
《高等空间机构学》-黄真
《机构运动微分几何学分析与综合》-王德伦
食用方法
自由度?约束——本质含义是什么?如何表达?
系统的自由度?广义坐标的自由度?
如何表示约束方程?
务必自己计算自由度,了解约束的含义
机构运动学与动力学分析与建模 Ch00-1-1 刚体系统的运动学约束
- 1. 广义坐标与约束
- 1.1 参考坐标
- 1.2 约束
- 2. 系统自由度计算
- 2.1 空间开式运动链的自由度公式及末杆的自由度分析
- 2.1.1 空间开式运动链的自由度公式
- 2.1.2 空间开式运动链的末杆的自由度分析
- 2.1.3 总结——常用判断方法
- 2.2 空间单封闭形机构
- 2.2.1 空间单封闭形机构的自由度公式
- 2.2.2 空间单封闭形机构的自由度计算
- 2.2.2.1 闭合约束数的确定和过约束机构的特点
- 2.2.2.2 局部自由度的确定
- 2.2.2.3 消极自由度的考虑
- 2.2.3 空间多封闭形机构
- 2.2.3.1 独立的封闭形
- 2.2.3.2 空间多封闭形机构的自由度计算
- 2.3 几个例子
- 2.3.1 螺旋机构
1. 广义坐标与约束
1.1 参考坐标
根据上述章节的学习,我们知道:
- 空间中对某一
点
的表述,需要3个位姿参数(比如点的坐标)——即需要3个约束方程; - 空间中对某一
矢量
的表述,需要2个位姿参数(比如球坐标系下的两个角度值)——即需要2个约束方程; - 空间中对某一
直线
的表述,需要5个位姿参数(给定点+给定矢量)——即需要5个约束方程; - 空间中对某一
平面
的表述,需要4个位姿数(给定矢量+矢量方向上的位置)——即需要4个约束方程; - 空间中对某一
刚体
的表述,需要6个位姿参数(给定点+矢量方向+沿矢量方向的转角)——即需要6个约束方程;
这些例子对于我们理解运动副有很大的作用
而对于刚体系统而言,其运动坐标系的参考坐标具体表示,与所选择的表示方法有关:用符号 q ⃗ Σ M F \vec{q}_{\varSigma _{\mathrm{M}}}^{F} qΣMF来表示刚体 Σ M \varSigma _{\mathrm{M}} ΣM在坐标系 { F } \left\{ F \right\} {F}下的广义坐标参数。展开可写为:
q ⃗ Σ M F = [ R ⃗ Σ M F θ ⃗ Σ M F ] \vec{q}_{\varSigma _{\mathrm{M}}}^{F}=\left[ \begin{array}{c} \vec{R}_{\varSigma _{\mathrm{M}}}^{F}\\ \vec{\theta}_{\varSigma _{\mathrm{M}}}^{F}\\ \end{array} \right] qΣMF=[RΣMFθΣMF]
其中: R ⃗ Σ M F \vec{R}_{\varSigma _{\mathrm{M}}}^{F} RΣMF表示体坐标系 { M } \left\{ M \right\} {M}在固定坐标系 { F } \left\{ F \right\} {F}下的位置参数, θ ⃗ Σ M F \vec{\theta}_{\varSigma _{\mathrm{M}}}^{F} θΣMF表示刚体的姿态参数(欧拉角,四元数,罗德里格斯参数等),对于不同的表达方式, q ⃗ Σ M F \vec{q}_{\varSigma _{\mathrm{M}}}^{F} qΣMF有不同的维数。
1.2 约束
若一个系统由多个刚体之间的相互作用组成(存在运动副连接),此时该系统中每个单独刚体的运动,都会受到其他部分的影响——确立一组相互独立的广义坐标(即自由度——此时的自由度表示为所需的广义坐标数量,即需要几个自由度才能完整的描述该系统各个构件状态),运动学约束即上述的约束方程,几个约束方程即限制了几个自由度。
对于一个多体系统而言,其广义坐标的数目为 n n n,这些刚体之间存在 n c n_{\mathrm{c}} nc个约束方程
若能将约束方程写成如下的矩阵形式:
C ( q ⃗ , t ) = [ C 1 ( q ⃗ , t ) C 2 ( q ⃗ , t ) ⋮ C n c ( q ⃗ , t ) ] = C ( q ⃗ 1 , q ⃗ 2 , ⋯ , q ⃗ n , t ) \boldsymbol{C}\left( \vec{\boldsymbol{q}},t \right) =\left[ \begin{array}{c} C_1\left( \vec{\boldsymbol{q}},t \right)\\ C_2\left( \vec{\boldsymbol{q}},t \right)\\ \vdots\\ C_{\mathrm{n}_{\mathrm{c}}}\left( \vec{\boldsymbol{q}},t \right)\\ \end{array} \right] =\boldsymbol{C}\left( \vec{q}_1,\vec{q}_2,\cdots ,\vec{q}_{\mathrm{n}},t \right) C(q,t)= C1(q,t)C2(q,t)⋮Cnc(q,t) =C(q1,q2,⋯,q
这篇关于[足式机器人]Part3 机构运动学与动力学分析与建模 Ch01-1 刚体系统的运动学约束的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!