机器人运动学(三):顺向运动学

系列文章目录



前言

网课:台大机器人运动学
书:机器人导论


一、运动学和的动力学概述

1.1.运动学(Kinematics)

讨论运动状态本身,不讨论产生运动的力。

  1. 位置、速度、加速度和时间之间的关系
  2. 移动/转动
    • 位置/姿态
    • 速度/角速度
    • 加速度/角加速度

1.2. 动力学(Dynamics)

讨论力/力矩如何产生运动。

  1. N e w t o n ′   2 n d   L a w Newton'~2^{nd}~Law Newton 2nd Law
  2. Work&Energy
  3. Impulse&Momentum

1.3.机械手臂

多个杆件(link)相串联,具有复杂的几何外形
杆件间可相对移动(prismatic)或者转动(revolute),由制动器驱动来达成

对应关系

  1. 需求:手臂末端点状态(位置 W P ^WP WP、速度…)
  2. 达成方式:驱动各制动器: W P = f ( θ 1 , θ 2 … θ n ) ^WP = f(\theta_1,\theta_2…\theta_n) WP=f(θ1,θ2θn),知道各个关节的 θ \theta θ,最后算出末端执行器在world frame的位置。
    在这里插入图片描述

描述手臂状态方法

  1. 找到杆件间的相对几何状态
  2. 在各杆件上建立frame,以frame状态来代表杆件状态。

二、手臂几何描述方式

2.1.joint

  1. 每个revolute(转动副)或prismatic(移动副)的joint具有1DOF
  2. 每个joint对某特动axis进行rotation或translation

2.2.link

  1. 连接joint的杆件,是刚体(运动过程不产生任何形变,所有的姿态的改变都joint上的自由度所造成的,与link无关)
  2. 编号方式
    Link 0:地杆,不动的杆件
    Link 1:和Link 0相连,第一可动的杆件
    Link 2:第二可动的杆件
    依次下去…
    在这里插入图片描述

2.3.两杆之间

  1. 对空间中2个任意方向的axes,两个axes之间具有一个唯一解的公垂线段连接。
  2. 对空间中2个任意方向的axes,需要两个参数描述axes之间的关系,即公垂线段的长度Link length和两个axes在与公垂线段垂直的面上的投影的角度Link twist。Link length也就是杆件的实际长度。
    在这里插入图片描述

2.4.多杆串连

当将多个杆件连接在一起,我们发现还是少了一些信息,从 L i n k i − 1 Link_{i-1} Linki1的角度,我们知道 A x i s i − 1 和 Axis_{i-1}和 Axisi1Axis_i$的关系,从 L i n k i Link_i Linki 的角度,我们可以看到 A x i s i Axis_i Axisi A s i x i + 1 Asix_{i+1} Asixi+1的关系,但是 a i − 1 a_{i-1} ai1 a i a_i ai A x i s i Axis_i Axisi上的相对关系和姿态我们无从得知。所以我们还需要另外两个参数。
所以在多杆连接时,需要两个参数( d i , θ i d_i,\theta_i di,θi)来描述 a i − 1 a_{i-1} ai1 a i a_i ai的相对关系。 d i d_i di为两个公垂线在 A x i s i Axis_i Axisi上的的投影的距离,即Link offset。 θ i \theta_i θi即为两个公垂线之间的空间角,Joint angle。
综上,描述相邻两个杆件的所有姿态信息,需要四个参数:连杆扭矩角 α i \alpha_i αi、连杆长度 a i a_i ai、连杆偏距 d i d_i di、关节角 θ i \theta_i θi

  • Revolute joint( α i , a i , d i , θ i \alpha_i,a_i,d_i,\theta_i αi,ai,di,θi),仅仅 θ i \theta_i θi变化
  • Prismatic joint( α i , a i , d i , θ i \alpha_i,a_i,d_i,\theta_i αi,ai,di,θi),仅仅 d i d_i di变化
    在这里插入图片描述

2.5.在杆件上建立Frames

Z ^ i \widehat Z_i Z i:转动或移动axis的方向
X ^ i \widehat X_i X i:沿着 a i a_i ai的方向(这是 a i ≠ 0 的情况 a_i\neq0的情况 ai=0的情况 i f   a i = 0 if~a_i=0 if ai=0 Z ^ i \widehat Z_i Z i Z ^ i + 1 \widehat Z_{i+1} Z i+1两者垂直)
Y ^ i \widehat Y_i Y i:与 Z ^ i \widehat Z_i Z i X ^ i \widehat X_i X i两者垂直,依循右手定则。
在这里插入图片描述
在这里插入图片描述

2.6.地杆Link(0)和Last Link(n)

地杆

Frame{0} coincides with frame{1}, a 0 = 0 , α = 0 a_0 =0,\alpha = 0 a0=0,α=0
revolute joint: θ 1 \theta_1 θ1arbitrary , d 1 = 0 d_1 =0 d1=0
prismatic joint: d 1 d_1 d1arbitrary, θ n = 0 \theta_n = 0 θn=0

在这里插入图片描述

最后杆

X ^ n \widehat X_n X n X ^ n − 1 \widehat X_{n-1} X n1同方向, a n = 0 , α n = 0 a_n = 0,\alpha_n=0 an=0αn=0
revolute joint: θ n \theta_n θnarbitrary , d n = 0 d_n =0 dn=0
prismatic joint: d n d_n dnarbitrary, θ n = 0 \theta_n = 0 θn=0
在这里插入图片描述

三、Denavit-HartenBerg表达法(Craig version)

  1. α i − 1 \alpha_{i-1} αi1:以 X ^ i − 1 \widehat X_{i-1} X i1方向看,即为 Z ^ i − 1 \widehat Z_{i-1} Z i1 Z ^ i \widehat Z_{i} Z i之间的夹角
  2. a i − 1 a_{i-1} ai1:沿着 X ^ i − 1 \widehat X_{i-1} X i1方向,即为 Z ^ i − 1 \widehat Z_{i-1} Z i1 Z ^ i \widehat Z_{i} Z i之间的间距( a i > 0 a_i>0 ai>0
  3. θ i \theta_i θi:以 Z ^ i \widehat Z_{i} Z i方向看,即为 X ^ i − 1 \widehat X_{i-1} X i1 X ^ i \widehat X_{i} X i之间的夹角
  4. d i d_i di:沿着 Z ^ i \widehat Z_{i} Z i方向,即为 X ^ i − 1 \widehat X_{i-1} X i1 X ^ i \widehat X_{i} X i之间的间距( a i > 0 a_i>0 ai>0

d是z方向上的偏移量,a是x方向的偏移, α \alpha α是旋转轴之间的夹角, θ \theta θ是关节角

在这里插入图片描述

3.1.Link Transformation

现在将 A x i s i − 1 Axis_{i-1} Axisi1上的frame{i-1}正方向旋转 α i − 1 \alpha_{i-1} αi1,得到{R},将{R}沿着 X ^ i − 1 \widehat X_{i-1} X i1的方向移动 a i − 1 a_{i-1} ai1得到{Q},再以 A x i s i Axis_i Axisi为轴反方向旋转 θ i \theta_i θi,得到{P},最后{P}沿着 Z ^ i \widehat Z_{i} Z i移动 d i d_{i} di,得到{i}。(顺序类似之前学的mapping)
在这里插入图片描述

i − 1 P =   i i − 1 T i P                      i − 1 P =   R i − 1 T Q R T P Q T i P T i P ^{i-1}P = ~^{i-1}_iT^iP~~~~~~~~~~~~~~~~ \\~\\~^{i-1}P =~^{i-1}_RT^R_QT^Q_PT^P_iT^iP i1P= ii1TiP                  i1P= Ri1TQRTPQTiPTiP
即: i i − 1 T =   R i − 1 T Q R T P Q T i P T         =   T X ^ i − 1 ( α i − 1 ) T X ^ R ( a i − 1 ) T Z ^ Q ( θ i ) T Z ^ P ( d i ) ^{i-1}_iT = ~^{i-1}_RT^R_QT^Q_PT^P_iT~~~~~ \\~\\ =~T_{\widehat X_{i-1}}(\alpha_{i-1})T_{\widehat X_{R}}(a_{i-1})T_{\widehat Z_{Q}}(\theta_i)T_{\widehat Z_{P}}(d_{i}) ii1T= Ri1TQRTPQTiPT      = TX i1(αi1)TX R(ai1)TZ Q(θi)TZ P(di)
得到:
在这里插入图片描述

3.2.连续Link transformations

n 0 T =   1 0 T 2 1 T 3 2 T … n − 1 n − 2 T n n − 1 T ^0_nT = ~^0_1T^1_2T^2_3T…^{n-2}_{n-1}T^{n-1}_{n}T n0T= 10T21T32Tn1n2Tnn1T

3.3.总结

  1. frame{n}相对于Frame{0}的空间几何关系清楚且量化的定义
  2. 在frame{n}下表达的向量可转回frame{0}下来表达

四、example

4.1.RRR manipulator

在这里插入图片描述

DH table

在这里插入图片描述
在这个manipulator中,只有三个 θ \theta θ是驱动,其他九个参数都是固定的,所以最后的矩阵还蛮简洁的。

4.2.RPR manipulator

在这里插入图片描述

DH table

在这里插入图片描述

4.3.RRR manipulator

a 1 = 0 a_1 = 0 a1=0 Z ^ 1 \widehat Z_{1} Z 1 Z ^ 1 \widehat Z_{1} Z 1相交。
Z ^ 2 \widehat Z_{2} Z 2有两个选择, X ^ 1 \widehat X_{1} X 1也要两个选择,所以一共就有四种建立frame的选择。
在这里插入图片描述

4.4.PRRR manipulator

在这里插入图片描述

4.5.RRRP manipulator(SCARA机器人)

在这里插入图片描述

五、Actuator、joint、and Cartesian Space

在这里插入图片描述
我们对关节的要求一般是低转速、高扭力,而一般的驱动器都是高转速、低扭力,所以需要设计传动系统来使Actuator space转到joint space

5.1.A leg-wheel transformable robot

在这里插入图片描述

在这里插入图片描述

六、DH表达法(standard)

  1. θ i \theta_i θi:以 Z ^ i − 1 \widehat Z_{i-1} Z i1方向看,即为 X ^ i − 1 \widehat X_{i-1} X i1 X ^ i \widehat X_{i} X i之间的夹角
  2. d i d_i di:沿着 Z ^ i − 1 \widehat Z_{i-1} Z i1方向,即为 X ^ i − 1 \widehat X_{i-1} X i1 X ^ i \widehat X_{i} X i之间的间距
  3. a i a_{i} ai:沿着 X ^ i \widehat X_{i} X i方向,即为 Z ^ i − 1 \widehat Z_{i-1} Z i1 Z ^ i \widehat Z_{i} Z i之间的间距( a i > 0 a_i>0 ai>0
  4. α i \alpha_{i } αi:以 X ^ i \widehat X_{i} X i方向看,即为 Z ^ i − 1 \widehat Z_{i-1} Z i1 Z ^ i \widehat Z_{i} Z i之间的夹角

6.1.在杆件上建立Frames(区别)

Z ^ i \widehat Z_i Z i:转动或移动axis的方向
X ^ i \widehat X_i X i:沿着 a i − 1 a_{i-1} ai1的方向
Y ^ i \widehat Y_i Y i:与 Z ^ i \widehat Z_i Z i X ^ i \widehat X_i X i两者垂直,依循右手定则

在这里插入图片描述
i i − 1 T =   R i − 1 T Q R T P Q T i P T         =   T Z ^ i − 1 ( θ i ) T Z ^ R ( d i ) T X ^ Q ( a i ) T Z ^ P ( α i ) ^{i-1}_iT = ~^{i-1}_RT^R_QT^Q_PT^P_iT~~~~~ \\~\\ =~T_{\widehat Z_{i-1}}(\theta_{i})T_{\widehat Z_{R}}(d_{i})T_{\widehat X_{Q}}(a_i)T_{\widehat Z_{P}}(\alpha_{i}) ii1T= Ri1TQRTPQTiPT      = TZ i1(θi)TZ R(di)TX Q(ai)TZ P(αi)
在这里插入图片描述
在这里插入图片描述

6.2.Example

Graig DH

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

由于打字错误, t 就是 θ 由于打字错误,t就是\theta 由于打字错误,t就是θ

Standard DH

在这里插入图片描述

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

由于打字错误, t 就是 θ 由于打字错误,t就是\theta 由于打字错误,t就是θ

在这里插入图片描述

由于打字错误, t 就是 θ 由于打字错误,t就是\theta 由于打字错误,t就是θ

七 example:puma 560

在这里插入图片描述
在这里插入图片描述
前面三个转轴产生空间中的移动,后面三转轴产生我们想要的转动,以此是手臂可以达到空间中我们想要的任意位置。
后面三个转轴一般上我们会选择Z轴共轴相交,是为了我们能够比较轻易的找到逆运动学方程的解,如果不共轴的话,我们有时候很难找到逆运动学方程的解。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值