目录
第一章 机械臂的驱动方式
机械臂运作系统:控制器 — 伺服驱动器 — 伺服电机(编码器内部反馈回控制器) — 减速器 — 机械臂 (外部传感器反馈回控制器)
电机与编码器之间的关系:电机是执行器件,编码器则是将电机的信号反馈给伺服驱动器,从而实现闭环控制系统。
同步电机三个环:位置环,速度环,电流环。
第二章 位形空间
1.自由度的计算
F
=
3
n
−
2
P
L
−
P
h
\boldsymbol{F}\,\,=\,\,3\boldsymbol{n}\,\,-\,\,2\boldsymbol{P}_{\boldsymbol{L}}\,\,-\,\,\boldsymbol{P}_{\boldsymbol{h}}
F=3n−2PL−Ph
n代表活动构建数目,PL,Ph分别代表低副和高副的数目,低副包括移动副,转动副,螺旋副等,为面面接触。高副为点面接触。
2.拓扑
如果两个表面能够连续从一种形状变化到另一种形状(不能采用切割或黏结等方式实现),我们则称之为拓扑等效。一个球可以膨胀成为一个足球,因此拓扑等效,但一个球无法不被切割就变化为平面,因此球与平面拓扑不等效。
3.显式参数化与隐式参数化
显式参数化:用n个坐标或者参数表示n维空间的方法称为显式参数化。
隐式参数化:使用更高维度的m个参数(m>=n)来表示n维空间,同时需要建立m-n个约束方程,可以看做是嵌入在更高维空间(m维)内的n维表面。
4.姿态表示方法
RPY角:均用来表示姿态,RPY角即x-y-z固定角坐标系,其旋转角度分别表示滚转-翻仰-偏航角度。
欧拉角:欧拉角有静态欧拉角和动态欧拉角,z-y-x和z-y-z欧拉角等表示方式。注意会有死锁问题(万向节死锁),丧失绕x的滚转自由度。
单位四元数法:四元数一般可表示为w + xi+ yj + zk,其中w、x、y 、z是实数。其中x,y,z代表的是向量的三维坐标,w代表的是角度,q = (x,y,z,w)。四元数实质上是一个超复数,q = xi + yj + zk + w,i^2 = j^2 = z^2 = -1,但这4个数字组成的向量必须为单位长度,每个姿态对应于2个单位四元数。
指数坐标:通过旋转轴和相应的旋转角来定义。S*θ,S为螺旋轴,θ为旋轴转动角度。
5.六自由度机械臂与七自由度机械臂
六关节度机械臂即广泛的工业机器人,6自由度的机械臂,在空间中无法在保持末端机构的三维位置不变的情况下从一个构型变换到另一个构型。
七自由度机械臂即人机协作机械臂,完全仿人类的手臂,可以实现位置不变的前提下变换构型,与六自由度机械臂的区别在于在六自由度的23关节之间加了一个关节
第三章.刚体运动
1.矩阵指数的由来
假定一个三维向量
p
(
0
)
p\left( 0 \right)
p(0) 绕单位转轴
w
^
\hat{w}
w^ 旋转角度
θ
\theta
θ 到
p
(
θ
)
p\left( \theta \right)
p(θ),这些量均在固定坐标系中表示。该转动可以假定为
p
(
0
)
p\left( 0 \right)
p(0)以常速1rad/s(因
w
^
\hat{w}
w^ 是单位转轴)从
t
=
0
t=0
t=0 到
t
=
θ
t=\theta
t=θ 。令
p
(
t
)
p\left( t \right)
p(t) 表示向量末端点的路径,其速度
p
˙
\dot{p}
p˙ 可以写成
p
˙
=
w
×
p
\dot{p}=w\times p
p˙=w×p
进一步可写成
p
˙
=
[
w
]
p
\dot{p}=\left[ w \right] p
p˙=[w]p,初始条件为
p
(
0
)
p\left( 0 \right)
p(0),该方程满足线性微分方程
x
˙
=
A
x
\dot{x}=Ax
x˙=Ax 的形式,因此该方程的解可以写成
p
(
t
)
=
e
[
w
^
]
t
p
(
0
)
p\left( t \right) =e^{\left[ \hat{w} \right] t}p\left( 0 \right)
p(t)=e[w^]tp(0)
物理量
e
[
w
^
]
t
p
(
0
)
e^{\left[ \hat{w} \right] t}p\left( 0 \right)
e[w^]tp(0)可看成是对向量
p
∈
R
3
p\in R^3
p∈R3绕转轴
w
^
\hat{w}
w^旋转角度
θ
\theta
θ后的结果,故有旋转矩阵
R
=
e
[
w
^
]
θ
=
R
o
t
(
w
^
,
θ
)
R=e^{\left[ \hat{w} \right] \theta}=Rot\left( \hat{w},\theta \right)
R=e[w^]θ=Rot(w^,θ)
矩阵指数因此得来。
对于刚体转动有矩阵指数
e
[
w
^
]
θ
e^{\left[ \hat{w} \right] \theta}
e[w^]θ,
w
^
\hat{w}
w^是单位向量,
w
^
θ
∈
R
3
\hat{w}\theta \in R^3
w^θ∈R3 为它的指数坐标。
对于一般刚体运动有矩阵指数
e
[
S
]
θ
e^{\left[ S \right] \theta}
e[S]θ ,螺旋轴
S
=
(
w
,
v
)
S=\left( w,v \right)
S=(w,v),
S
θ
∈
R
6
S\theta \in R^6
Sθ∈R6为它的指数坐标。
2.刚体转动
运动旋量:角速度与线速度的组合,它包括3个角速度和3个线速度,即 V = [ ω ν ] T \boldsymbol{V}=\,\,\left[ \boldsymbol{\omega }\,\,\boldsymbol{\nu } \right] ^{\boldsymbol{T}} V=[ων]T ∈ R 6 \boldsymbol{}\in \boldsymbol{R}^6 ∈R6
力旋量: 力矩和力的组合,即 F = [ τ f ] T ∈ R 6 \boldsymbol{F}=\,\,\left[ \boldsymbol{\tau }\,\,\boldsymbol{f} \right] ^{\boldsymbol{T}}\in \boldsymbol{R}^6 F=[τf]T∈R6
螺旋轴:平面三维向量旋转轴 S = ( ω , ν x , ν y ) \boldsymbol{S}\,\,=\,\,\left( \boldsymbol{\omega },\boldsymbol{\nu }_{\boldsymbol{x}},\boldsymbol{\nu }_{\boldsymbol{y}} \right) S=(ω,νx,νy)
指数坐标:通过旋转轴和相应的旋转角来定义, V = S θ \boldsymbol{V}\,\,=\,\,\boldsymbol{S}\,\boldsymbol{\theta } V=Sθ, θ \boldsymbol{\theta } θ为沿此螺旋轴的转动角度,乘积可得最终位移。该坐标称之为平面刚体位移的指数坐标。
旋转矩阵的表示方法:刚体转动的三参数指数坐标法,欧拉角法,RPY角法,单位四元数法,一般刚体运动的六参数指数坐标,其中六参数指数坐标源于由刚体角速度和线速度组成的六参数运动旋量,它的依据是查理-莫兹定理即任一刚体运动都可以通过绕某一螺旋轴旋转一定的角度和平移来实现。
2.1.旋转与角速度
旋转矩阵:
R
\boldsymbol{R}
R中的3个列向量分别对应物体坐标系的3个单位坐标轴,即
(
x
b
,
y
b
,
z
b
)
\left( \boldsymbol{x}_{\boldsymbol{b}},\boldsymbol{y}_{\boldsymbol{b}},\boldsymbol{z}_{\boldsymbol{b}} \right)
(xb,yb,zb) ,它的列向量均为单位向量,而两两列向量相互正交。3×3旋转矩阵组成的集合称为特殊正交群
S
O
(
3
)
\boldsymbol{SO}\left( 3 \right)
SO(3) 。任何
R
∈
S
O
(
3
)
\boldsymbol{R}\in \boldsymbol{SO}\left( 3 \right)
R∈SO(3) 都可以通过绕某一单位轴
ω
^
\boldsymbol{\hat{\omega}}
ω^旋转角度
θ
\boldsymbol{\theta }
θ 实现,我们用
R
o
t
(
ω
^
,
θ
)
\boldsymbol{Rot}\left( \boldsymbol{\hat{\omega}},\boldsymbol{\theta } \right)
Rot(ω^,θ) 来表示旋转矩阵
R
\boldsymbol{R}
R。
注:左乘
R
=
R
o
t
(
ω
^
,
θ
)
\boldsymbol{R}=\boldsymbol{Rot}\left( \boldsymbol{\hat{\omega}},\boldsymbol{\theta } \right)
R=Rot(ω^,θ)会得到绕固定坐标系中的转轴的转动,右乘
R
=
R
o
t
(
ω
^
,
θ
)
\boldsymbol{R}=\boldsymbol{Rot}\left( \boldsymbol{\hat{\omega}},\boldsymbol{\theta } \right)
R=Rot(ω^,θ)会得到绕物体坐标系中的转轴的转动。
2.2.刚体转动的指数坐标表示
转动的三参数指数坐标:向量
ω
^
θ
∈
R
3
\boldsymbol{\hat{\omega}\theta }\in \boldsymbol{R}^3
ω^θ∈R3 就是该转动的三参数指数坐标表示形式,也即轴-角表示法。
刚体转动的矩阵指数:
e
[
ω
^
]
θ
=
R
o
t
(
ω
^
,
θ
)
=
I
+
sin
θ
[
ω
^
]
+
(
1
−
cos
θ
)
[
ω
^
]
2
∈
S
O
(
3
)
\boldsymbol{e}^{\left[ \boldsymbol{\hat{\omega}} \right] \boldsymbol{\theta }}=\boldsymbol{Rot}\left( \boldsymbol{\hat{\omega}},\boldsymbol{\theta } \right) =\boldsymbol{I}+\sin\boldsymbol{\theta }\left[ \boldsymbol{\hat{\omega}} \right] +\left( 1-\cos \boldsymbol{\theta } \right) \left[ \boldsymbol{\hat{\omega}} \right] ^2\in \boldsymbol{SO}\left( 3 \right)
e[ω^]θ=Rot(ω^,θ)=I+sinθ[ω^]+(1−cosθ)[ω^]2∈SO(3)
刚体转动的矩阵对数:若
ω
^
θ
∈
R
3
\boldsymbol{\hat{\omega}\theta }\in \boldsymbol{R}^3
ω^θ∈R3 表示旋转矩阵
R
\boldsymbol{R}
R的指数坐标,那么反对称矩阵
[
ω
^
θ
]
=
[
ω
^
]
θ
\left[ \boldsymbol{\hat{\omega}\theta } \right] =\left[ \boldsymbol{\hat{\omega}} \right] \boldsymbol{\theta }
[ω^θ]=[ω^]θ就是矩阵
R
\boldsymbol{R}
R的矩阵对数。
反对称矩阵的形式:
[
ω
^
]
=
[
0
−
ω
^
3
ω
^
2
ω
^
3
0
−
ω
^
1
−
ω
^
2
ω
^
1
0
]
\left[ \boldsymbol{\hat{\omega}} \right] =\left[ \begin{matrix} 0& -\boldsymbol{\hat{\omega}}_3& \boldsymbol{\hat{\omega}}_2\\ \boldsymbol{\hat{\omega}}_3& 0& -\boldsymbol{\hat{\omega}}_1\\ -\boldsymbol{\hat{\omega}}_2& \boldsymbol{\hat{\omega}}_1& 0\\ \end{matrix} \right]
[ω^]=
0ω^3−ω^2−ω^30ω^1ω^2−ω^10
3.一般刚体运动与运动旋量
和之前的刚体转动相比较,对于一般刚体运动,齐次变换矩阵
T
\boldsymbol{T}
T与旋转矩阵
R
\boldsymbol{R}
R相对应,螺旋轴
S
\boldsymbol{S}
S与旋转轴
ω
^
\boldsymbol{\hat{\omega}}
ω^相对应。特殊欧氏群
S
E
(
3
)
\boldsymbol{SE}\left( 3 \right)
SE(3)也称刚体运动群或齐次变换矩阵群,是所有4×4实矩阵
T
\boldsymbol{T}
T的集合。 可以写成:
T
=
[
R
P
0
1
]
\boldsymbol{T}=\left[ \begin{matrix} \boldsymbol{R}& \boldsymbol{P}\\ \mathbf{0}& \mathbf{1}\\ \end{matrix} \right]
T=[R0P1]
运动旋量分为物体运动旋量
V
b
V_b
Vb和空间运动旋量
V
s
V_s
Vs,它是将角速度和线速度一起组合的形式。如前所述,角速度可以很方便地写成反对称矩阵的形式,同样,运动旋量
V
b
V_b
Vb也可以写成矩阵形式:
[
V
b
]
=
[
[
ω
b
]
v
b
0
0
]
∈
s
e
(
3
)
\left[ V_b \right] =\left[ \begin{matrix} \left[ \omega _b \right]& v_b\\ 0& 0\\ \end{matrix} \right] \in se\left( 3 \right)
[Vb]=[[ωb]0vb0]∈se(3)
同时定义:当给定
T
=
(
R
,
P
)
∈
S
E
(
3
)
T=\left( R,P \right) \in SE\left( 3 \right)
T=(R,P)∈SE(3) ,其伴随变换矩阵
[
A
d
T
]
\left[ Ad_T \right]
[AdT]为
[
A
d
T
]
=
[
R
0
[
p
]
R
R
]
∈
R
6
×
6
\left[ Ad_T \right] =\left[ \begin{matrix} R& 0\\ \left[ p \right] R& R\\ \end{matrix} \right] \in R^{6\times 6}
[AdT]=[R[p]R0R]∈R6×6
对于任一
V
∈
R
6
V\in R^6
V∈R6,与
T
\boldsymbol{T}
T相关联的伴随映射为
V
′
=
[
A
d
T
]
V
V'=\left[ Ad_T \right] V
V′=[AdT]V
有时也写成
V
′
=
A
d
T
(
V
)
V'=Ad_T\left( V \right)
V′=AdT(V)写成矩阵的形式,
[
V
]
∈
s
e
(
3
)
\left[ V \right] \in se\left( 3 \right)
[V]∈se(3),可写成
[
V
′
]
=
T
[
V
]
T
−
1
\left[ V' \right] =T\left[ V \right] T^{-1}
[V′]=T[V]T−1
这一结论在求解逆运动学时会有重要帮助。
3.1 一般刚体运动的指数坐标表达
一般刚体运动的指数坐标:类似于转动的指数坐标
ω
^
θ
\hat{\omega}\theta
ω^θ,定义齐次变换矩阵
T
\boldsymbol{T}
T的六维指数坐标
S
θ
∈
R
6
S\theta \in R^6
Sθ∈R6,其中,
S
S
S为螺旋轴,
θ
\theta
θ为绕螺旋轴转动的角度。若节距为有限值,则
θ
\theta
θ为绕螺旋轴转动的角度,若节距为无限值,则
θ
\theta
θ为沿螺旋轴移动的距离。
一般刚体运动的矩阵指数:令
S
=
(
ω
,
v
)
S=\left( \omega ,v \right)
S=(ω,v)为螺旋轴,若
∥
ω
∥
=
1
\lVert \omega \rVert=1
∥ω∥=1,则对于任意沿螺旋轴的距离
θ
∈
R
\theta \in R
θ∈R,都有矩阵指数
e
[
S
]
θ
=
[
e
[
ω
]
θ
(
I
θ
+
(
1
−
cos
θ
)
[
ω
]
+
(
θ
−
sin
θ
)
[
ω
]
2
)
v
0
1
]
e^{\left[ S \right] \theta}=\left[ \begin{matrix} e^{\left[ \omega \right] \theta}& \left( I\theta +\left( 1-\cos \theta \right) \left[ \omega \right] +\left( \theta -\sin \theta \right) \left[ \omega \right] ^2 \right) v\\ 0& 1\\ \end{matrix} \right]
e[S]θ=[e[ω]θ0(Iθ+(1−cosθ)[ω]+(θ−sinθ)[ω]2)v1]
一般刚体运动的矩阵对数:给定任意的
(
R
,
p
)
∈
S
E
(
3
)
\left( R,p \right) \in SE\left( 3 \right)
(R,p)∈SE(3),总能找到与之相对应的螺旋轴
S
=
(
ω
,
v
)
S=\left( \omega ,v \right)
S=(ω,v)和标量
θ
\theta
θ,满足
e
[
S
]
θ
=
[
R
p
0
1
]
e^{\left[ S \right] \theta}=\left[ \begin{matrix} R& p\\ 0& 1\\ \end{matrix} \right]
e[S]θ=[R0p1]式中,矩阵
[
S
]
θ
=
[
[
ω
]
θ
v
θ
0
1
]
\left[ S \right] \theta =\left[ \begin{matrix} \left[ \omega \right] \theta& v\theta\\ 0& 1\\ \end{matrix} \right]
[S]θ=[[ω]θ0vθ1]是
T
=
(
R
,
p
)
T=\left( R,p \right)
T=(R,p)的矩阵对数形式。
结论:给定
(
R
,
p
)
\left( R,p \right)
(R,p)写作
T
∈
S
E
(
3
)
T\in SE\left( 3 \right)
T∈SE(3),总是能找到
θ
∈
[
0
,
π
]
\theta \in \left[ 0,\pi \right]
θ∈[0,π]及螺旋轴
S
=
(
ω
,
υ
)
∈
R
6
S=\left( \omega ,\upsilon \right) \in R^6
S=(ω,υ)∈R6(其中的
∥
ω
∥
\lVert \omega \rVert
∥ω∥或
∥
υ
∥
\lVert \upsilon \rVert
∥υ∥必为1),使得
e
[
S
]
θ
=
T
e^{\left[ S \right] \theta}=T
e[S]θ=T。其中,向量
S
θ
∈
R
6
S\theta \in R^6
Sθ∈R6是
T
\boldsymbol{T}
T的指数坐标,而矩阵
[
S
]
θ
∈
s
e
(
3
)
\left[ S \right] \theta \in se\left( 3 \right)
[S]θ∈se(3)是
T
\boldsymbol{T}
T的矩阵对数。
4.力旋量
与运动旋量类似,我们可以将力矩和力合成为一个六维的空间力,称为力旋量,在a系中描述为 F a = [ m a f a ] F_a=\left[ \begin{array}{c} m_a\\ f_a\\ \end{array} \right] Fa=[mafa]无力元素的力旋量称为纯力偶,由于我们通常采用空间坐标系 { s } \left\{ s \right\} {s}和物体坐标系 { b } \left\{ b \right\} {b},因此可以定义为空间力旋量 F s F_s Fs和物体力旋量 F b F_b Fb,
第四章 机器人控制
4.1 运动控制
速度输入的运动控制:使用机器人运动学模型的方法控制机器人的运动。
前馈+反馈控制,机器人的输入为关节指令速度。
力或力矩输入的运动控制:使用机器人动力学模型的方法来控制机器人的运动。
前馈+反馈控制,机器人的输入为关节力矩。
4.2 力控制
纯粹的力控是不存在的。
4.3 运动-力混合控制
既存在运动方向上的约束也存在力方向的控制。