【机器人学导论】简明学习笔记3——操作臂(正向)运动学

主要参考学习资料及插图来源:

《机器人学导论(第4版)》John J.Craig著

台大机器人学之运动学——林沛群

本章数理基础:矩阵的四则运算

码字不易,求点赞收藏加关注(´•ω•̥`)

有问题欢迎评论区讨论~

操作臂(正向)运动学

运动学讨论运动状态本身,不涉及产生运动的力


连杆的描述


连杆参数

关节(Joint)分为移动关节和旋转关节,每个关节有一个自由度,对一个特定的轴移动或转动

连杆(Link)为连接关节的杆件,视作刚体

连杆的编号从固定基座开始,称固定基座为连杆0,第一个可动连杆为连杆1,以此类推,操作臂最末端的连杆为连杆n

单个连杆:连杆长度和连杆扭转角

连杆 i − 1 i-1 i1连接了关节轴 i − 1 i-1 i1和关节轴 i i i,关节轴 i − 1 i-1 i1和关节轴 i i i之间公垂线长度 a i − 1 a_{i-1} ai1连杆长度

作一平面与两关节轴公垂线垂直,关节轴 i − 1 i-1 i1和关节轴 i i i在该平面上投影的夹角 α i − 1 \alpha_{i-1} αi1连杆扭转角(即空间中两直线夹角的定义)

平面图像表达空间关系可能存在视错觉,需结合文字描述来分析

多杆串连:连杆偏距和关节角

关节轴 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} aN1与关节轴 { N } \{N\} {N}交点处, X ^ N \hat{X}_N X^N轴与 X ^ N − 1 \hat{X}_{N-1} X^N1轴同向

连杆坐标系中的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^i1移动到 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^i1旋转到 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\} {i1}之间的变换关系,即 i − 1 P = i i − 1 T i P ^{i-1}P=^{i-1}_{i}T^iP i1P=ii1TiP

我们考虑借由图中标出的四个连杆参数将 { i − 1 } \{i-1\} {i1}一步步变换为 { i } \{i\} {i}

{ i − 1 } \{i-1\} {i1} X ^ i − 1 \hat{X}_{i-1} X^i1旋转 α i − 1 \alpha_{i-1} αi1得到 { R } \{R\} {R}

{ R } \{R\} {R}沿 X ^ R \hat{X}_R X^R平移 a i − 1 a_{i-1} ai1得到 { 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 i1P=ii1TiP=Ri1TQRTPQTiPTiP

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) ii1T=Ri1TQRTPQTiPT=RX(αi1)DX(ai1)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} ii1T= cθisθicαi1sθisαi10sθicθicαi1cθisαi100sαi1cαi10ai1sαi1dicαi1di1

左上角 3 × 3 3\times3 3×3为旋转矩阵,最右列为 { i } \{i\} {i}的原点相对于 { i − 1 } \{i-1\} {i1}的原点的位置矢量

计算出各个连杆变换矩阵,将其连乘就能得到 { 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=10T21T32TNN1T


驱动器空间、关节空间和笛卡尔空间

对一个具有 n n n个自由度的操作臂来说,它的所有连杆位置可由一组 n n n个关节变量确定,这样的一组变量被称为 n × 1 n\times1 n×1的关节向量,所有关节向量组成的空间称为关节空间(Joint Space)

至此,我们研究的是如何将已知的关节空间描述转化为在笛卡尔空间(Cartesian Space)中的描述,称为正向运动学(Forward Kinematics),反之则为逆运动学(Inverse Kinematics)

我们一直假设每个运动关节都是直接由某种驱动器驱动,但许多机器人有时用两个驱动器以差动的方式驱动一个关节,有时用直线驱动器通过四连杆机构来驱动旋转关节,而测量操作臂位置的传感器常常安装在驱动器上,因此进行控制器运算时必须把关节向量表示成一组驱动器变量方程,即驱动向量,组成的空间称为驱动器空间(Actuator Space)


本章完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值