主要参考学习资料及插图来源:
《机器人学导论(第4版)》John J.Craig著
台大机器人学之运动学——林沛群
本章数理基础:矩阵的四则运算
码字不易,求点赞收藏加关注(´•ω•̥`)
有问题欢迎评论区讨论~
操作臂(正向)运动学
运动学讨论运动状态本身,不涉及产生运动的力
连杆的描述
连杆参数
关节(Joint)分为移动关节和旋转关节,每个关节有一个自由度,对一个特定的轴移动或转动
连杆(Link)为连接关节的杆件,视作刚体
连杆的编号从固定基座开始,称固定基座为连杆0,第一个可动连杆为连杆1,以此类推,操作臂最末端的连杆为连杆n
单个连杆:连杆长度和连杆扭转角
连杆 i − 1 i-1 i−1连接了关节轴 i − 1 i-1 i−1和关节轴 i i i,关节轴 i − 1 i-1 i−1和关节轴 i i i之间公垂线长度 a i − 1 a_{i-1} ai−1为连杆长度
作一平面与两关节轴公垂线垂直,关节轴
i
−
1
i-1
i−1和关节轴
i
i
i在该平面上投影的夹角
α
i
−
1
\alpha_{i-1}
αi−1为连杆扭转角(即空间中两直线夹角的定义)

平面图像表达空间关系可能存在视错觉,需结合文字描述来分析
多杆串连:连杆偏距和关节角
关节轴 i i i上的两个相邻连杆沿公共轴线方向的距离 d i d_i di为连杆偏距
两个相邻连杆绕公共轴线旋转的夹角 θ i \theta_i θi为关节角
对于首端连杆(固定基座)和末端连杆(末端执行器),习惯设定 a 0 = a n = 0 a_0=a_n=0 a0=an=0, α 0 = α n = 0 \alpha_0=\alpha_n=0 α0=αn=0
对于关节
1
1
1,若为转动关节,
θ
1
\theta_1
θ1任取,
d
1
=
0
d_1=0
d1=0;若为移动关节,
d
1
d_1
d1任取,
θ
1
=
0
\theta_1=0
θ1=0。关节
n
n
n同理

连杆参数
由此,机器人的每个连杆都可以用上述四个运动学参数来描述
对于转动关节, θ i \theta_i θi为关节变量,其他三个连杆参数固定不变;对于移动关节, d i d_i di为关节变量,其他三个连杆参数固定不变。这种用连杆参数描述机构运动关系的规则称为Denavit-Hartenberg方法(简称D-H表示法)
连杆坐标系
中间连杆坐标系
按以下方法确定连杆上的固连坐标系 { i } \{i\} {i}:
原点位于公垂线 a i a_i ai与关节轴 i i i的交点处
Z ^ i \hat{Z}_i Z^i轴与关节轴 i i i重合
X ^ i \hat{X}_i X^i轴:当 a i ≠ 0 a_i\ne0 ai=0,沿 a i a_i ai方向由关节 i i i指向关节 i + 1 i+1 i+1;当 a i = 0 a_i=0 ai=0,垂直于 Z ^ i \hat{Z}_i Z^i和 Z ^ i + 1 \hat{Z}_{i+1} Z^i+1所在的平面
Y ^ i \hat{Y}_i Y^i轴由右手定则确定
由于
Z
^
i
\hat{Z}_i
Z^i轴可选取两个方向,且当关节轴
i
i
i与
i
+
1
i+1
i+1相交时
X
^
i
\hat{X}_i
X^i轴可选取两个方向,建立的坐标系并不唯一

首末端连杆坐标系
首端连杆坐标系 { 0 } \{0\} {0}与关节 1 1 1初始姿态时(关节变量为 0 0 0)的坐标系 { 1 } \{1\} {1}重合
末端连杆坐标系 { N } \{N\} {N}原点位于公垂线 a N − 1 a_{N-1} aN−1与关节轴 { N } \{N\} {N}交点处, X ^ N \hat{X}_N X^N轴与 X ^ N − 1 \hat{X}_{N-1} X^N−1轴同向
连杆坐标系中的D-H表示法
a i = a_i= ai=沿 X ^ i \hat{X}_i X^i轴从 Z ^ i \hat{Z}_i Z^i移动到 Z ^ i + 1 \hat{Z}_{i+1} Z^i+1的距离
α i = \alpha_i= αi=绕 X ^ i \hat{X}_i X^i轴从 Z ^ i \hat{Z}_i Z^i旋转到 Z ^ i + 1 \hat{Z}_{i+1} Z^i+1的角度
d i = d_i= di=沿 Z ^ i \hat{Z}_i Z^i轴从 X ^ i − 1 \hat{X}_{i-1} X^i−1移动到 X ^ i \hat{X}_i X^i的距离
θ i = \theta_i= θi=绕 Z ^ i \hat{Z}_i Z^i轴从 X ^ i − 1 \hat{X}_{i-1} X^i−1旋转到 X ^ i \hat{X}_i X^i的角度
a i > 0 a_i>0 ai>0, α i \alpha_i αi、 d i d_i di和 θ i \theta_i θi的值相对于坐标系主轴方向有正负
建立连杆坐标系的步骤
1.画出各关节轴的延长线
2.找出相邻关节轴 i i i和 i + 1 i+1 i+1的公垂线或交点,以关节轴 i i i和 i + 1 i+1 i+1的交点或公垂线与关节轴 i i i的交点作为连杆坐标系 { i } \{i\} {i}的原点
3.规定 Z ^ i \hat{Z}_i Z^i轴沿关节轴 i i i的指向
4.规定 X ^ i \hat{X}_i X^i轴沿公垂线的指向,若关节轴 i i i与 i + 1 i+1 i+1相交则垂直于关节轴 i i i与 i + 1 i+1 i+1所在的平面
5.按右手定则确定 Y ^ i \hat{Y}_i Y^i轴
6.补充首末端连杆坐标系
坐标系的标准命名
基(Base)坐标系 { B } \{B\} {B}位于操作臂的基座上
固定(Settle)坐标系 { S } \{S\} {S}位置与任务相关,比如工作台的一个角上
腕部(Wrist)坐标系 { W } \{W\} {W}位于操作臂的末端连杆
工具(Tool)坐标系 { T } \{T\} {T}位于机器人所夹持工具的末端
目标(Goal)坐标系
{
G
}
\{G\}
{G}是对机器人移动工具到达的位置描述

操作臂运动学
连杆变换(Link Transformation)
我们希望用四个连杆参数建立起相邻连杆坐标系
{
i
}
\{i\}
{i}和
{
i
−
1
}
\{i-1\}
{i−1}之间的变换关系,即
i
−
1
P
=
i
i
−
1
T
i
P
^{i-1}P=^{i-1}_{i}T^iP
i−1P=ii−1TiP

我们考虑借由图中标出的四个连杆参数将 { i − 1 } \{i-1\} {i−1}一步步变换为 { i } \{i\} {i}
将 { i − 1 } \{i-1\} {i−1}绕 X ^ i − 1 \hat{X}_{i-1} X^i−1旋转 α i − 1 \alpha_{i-1} αi−1得到 { R } \{R\} {R}
将 { R } \{R\} {R}沿 X ^ R \hat{X}_R X^R平移 a i − 1 a_{i-1} ai−1得到 { Q } \{Q\} {Q}
将 { Q } \{Q\} {Q}绕 Z ^ Q \hat{Z}_Q Z^Q旋转 θ i \theta_i θi得到 { P } \{P\} {P}
将 { P } \{P\} {P}沿 Z ^ P \hat{Z}_P Z^P平移 d i d_i di得到 { i } \{i\} {i}
于是变换矩阵可写成:
i − 1 P = i i − 1 T i P = R i − 1 T Q R T P Q T i P T i P ^{i-1}P=^{i-1}_{i}T^iP=^{i-1}_RT^R_QT^Q_PT^P_iT^iP i−1P=ii−1TiP=Ri−1TQRTPQTiPTiP
i i − 1 T = R i − 1 T Q R T P Q T i P T = R X ( α i − 1 ) D X ( a i − 1 ) R Z ( θ i ) D Z ( d i ) ^{i-1}_{i}T=^{i-1}_RT^R_QT^Q_PT^P_iT=R_X(\alpha_{i-1})D_X(a_{i-1})R_Z(\theta_i)D_Z(d_i) ii−1T=Ri−1TQRTPQTiPT=RX(αi−1)DX(ai−1)RZ(θi)DZ(di)
最终计算得到:
i i − 1 T = [ c θ i − s θ i 0 a i − 1 s θ i c α i − 1 c θ i c α i − 1 − s α i − 1 − s α i − 1 d i s θ i s α i − 1 c θ i s α i − 1 c α i − 1 c α i − 1 d i 0 0 0 1 ] ^{i-1}_{i}T=\begin{bmatrix}c\theta_i&-s\theta_i&0&a_{i-1}\\s\theta_ic\alpha_{i-1}&c\theta_ic\alpha_{i-1}&-s\alpha_{i-1}&-s\alpha_{i-1}d_i\\s\theta_is\alpha_{i-1}&c\theta_is\alpha_{i-1}&c\alpha_{i-1}&c\alpha_{i-1}d_i\\0&0&0&1\end{bmatrix} ii−1T= cθisθicαi−1sθisαi−10−sθicθicαi−1cθisαi−100−sαi−1cαi−10ai−1−sαi−1dicαi−1di1
左上角 3 × 3 3\times3 3×3为旋转矩阵,最右列为 { i } \{i\} {i}的原点相对于 { i − 1 } \{i-1\} {i−1}的原点的位置矢量
计算出各个连杆变换矩阵,将其连乘就能得到 { N } \{N\} {N}相对于 { 0 } \{0\} {0}的变换矩阵:
N 0 T = 1 0 T 2 1 T 3 2 T … N N − 1 T ^0_NT=^0_1T^1_2T^2_3T…^{N-1}_NT N0T=10T21T32T…NN−1T
驱动器空间、关节空间和笛卡尔空间
对一个具有 n n n个自由度的操作臂来说,它的所有连杆位置可由一组 n n n个关节变量确定,这样的一组变量被称为 n × 1 n\times1 n×1的关节向量,所有关节向量组成的空间称为关节空间(Joint Space)
至此,我们研究的是如何将已知的关节空间描述转化为在笛卡尔空间(Cartesian Space)中的描述,称为正向运动学(Forward Kinematics),反之则为逆运动学(Inverse Kinematics)
我们一直假设每个运动关节都是直接由某种驱动器驱动,但许多机器人有时用两个驱动器以差动的方式驱动一个关节,有时用直线驱动器通过四连杆机构来驱动旋转关节,而测量操作臂位置的传感器常常安装在驱动器上,因此进行控制器运算时必须把关节向量表示成一组驱动器变量方程,即驱动向量,组成的空间称为驱动器空间(Actuator Space)

本章完
运动学&spm=1001.2101.3001.5002&articleId=143562814&d=1&t=3&u=8aeca6ba82224287bfc0f3313ff0bf9b)
1302

被折叠的 条评论
为什么被折叠?



