机器人动力学
机器人运动学:刚体的位姿描述、齐次变换,机器人各连杆间的位移关系,建立了机器人的运动学方程,研究了运动学逆解,建立了操作空间与关节空间的映射关系。
机器人动力学:在位移分析的基础上,进行速度分析,研究操作空间速度与关节空间速度之间的线性映射关系—雅可比矩阵(简称雅可比)。
角度设定法
采用相对参考坐标系或相对运动坐标系作三次连续转动来规定姿态的方法。
手部位姿可用一个6维列矢量来表示
X
=
[
x
y
z
ϕ
x
ϕ
y
ϕ
z
]
T
X = [x \ y\ z\ \phi_{x} \ \phi_{y} \ \phi_{z}]^{T}
X=[x y z ϕx ϕy ϕz]T
广义关节变量
q
=
[
q
1
q
2
.
.
.
q
n
]
T
q = [q_{1} \ q_{2} \ ... q_{n}]^{T}
q=[q1 q2 ...qn]T
则:
x = x ( q 1 q 2 . . . q n ) = x ( q ) x = x(q_{1} \ q_{2} \ ... q_{n})=x(q) x=x(q1 q2 ...qn)=x(q)
y = y ( q 1 q 2 . . . q n ) = y ( q ) y = y (q_{1} \ q_{2} \ ... q_{n})=y (q) y=y(q1 q2 ...qn)=y(q)
z = z ( q 1 q 2 . . . q n ) = z ( q ) z = z(q_{1} \ q_{2} \ ... q_{n})=z(q) z=z(q1 q2 ...qn)=z(q)
ϕ x = ϕ x ( q 1 q 2 . . . q n ) = ϕ x ( q ) \phi_{x} = \phi_{x}(q_{1} \ q_{2} \ ... q_{n})=\phi_{x}(q) ϕx=ϕx(q1 q2 ...qn)=ϕx(q)
ϕ y = ϕ y ( q 1 q 2 . . . q n ) = ϕ y ( q ) \phi_{y} = \phi_{y}(q_{1} \ q_{2} \ ... q_{n})=\phi_{y}(q) ϕy=ϕy(q1 q2 ...qn)=ϕy(q)
ϕ z = ϕ z ( q 1 q 2 . . . q n ) = ϕ z ( q ) \phi_{z} = \phi_{z}(q_{1} \ q_{2} \ ... q_{n})=\phi_{z}(q) ϕz=ϕz(q1 q2 ...qn)=ϕz(q)
雅可比矩阵
在机器人学中,速度雅可比矩阵和力雅可比矩阵分别用于描述机器人末端执行器的速度与关节角速度之间的关系,以及关节力矩与末端力之间的关系。两者密切相关,通常通过力与速度之间的对偶性(力与运动的关系)来推导和理解。
1. 速度雅可比矩阵
以二自由度平面关节型机器人为例子
位置表达式:
X = l 1 c o s ( θ 1 ) + l 2 c o s ( θ 1 + θ 2 ) X=l1cos(\theta_{1})+l2cos(\theta_{1}+\theta_{2}) X=l1cos(θ1)+l2cos(θ1+θ2)
Y = l 1 s i n ( θ 1 ) + l 2 s i n ( θ 1 + θ 2 ) Y=l1sin(\theta_{1})+l2sin(\theta_{1}+\theta_{2}) Y=l1sin(θ1)+l2sin(θ1+θ2)
角度关系表达式:
X = X ( θ 1 , θ 2 ) X=X(\theta_{1},\theta_{2}) X=X(θ1,θ2)
Y = Y ( θ 1 , θ 2 ) Y=Y(\theta_{1},\theta_{2}) Y=Y(θ1,θ2)
微分:
d X = ∂ X ∂ θ 1 d θ 1 + ∂ X ∂ θ 2 d θ 2 dX= \frac{\partial X}{\partial\theta_{1}}d\theta_{1} + \frac{\partial X}{\partial\theta_{2}}d\theta_{2} dX=∂θ1∂Xdθ1+∂θ2∂Xdθ2
d Y = ∂ Y ∂ θ 1 d θ 1 + ∂ Y ∂ θ 2 d θ 2 dY= \frac{\partial Y}{\partial\theta_{1}}d\theta_{1} + \frac{\partial Y}{\partial\theta_{2}}d\theta_{2} dY=∂θ1∂Ydθ1+∂θ2∂Ydθ2
矩阵形式:
[ d X d Y ] = [ ∂ X ∂ θ 1 ∂ X ∂ θ 2 ∂ Y ∂ θ 1 ∂ Y ∂ θ 2 ] [ d θ 1 d θ 2 ] \begin{bmatrix} dX \\ dY \end{bmatrix} = \begin{bmatrix} \frac{\partial X}{\partial\theta_{1}} & \frac{\partial X}{\partial\theta_{2}} \\ \frac{\partial Y}{\partial\theta_{1}} & \frac{\partial Y}{\partial\theta_{2}} \end{bmatrix} \begin{bmatrix} d\theta_{1} \\ d\theta_{2} \end{bmatrix} [dXdY]=[∂θ1∂X∂θ1∂Y∂θ2∂X∂θ2∂Y][dθ1dθ2]
雅可比矩阵为:
J = [ ∂ X ∂ θ 1 ∂ X ∂ θ 2 ∂ Y ∂ θ 1 ∂ Y ∂ θ 2 ] J = \begin{bmatrix} \frac{\partial X}{\partial\theta_{1}} & \frac{\partial X}{\partial\theta_{2}} \\ \frac{\partial Y}{\partial\theta_{1}} & \frac{\partial Y}{\partial\theta_{2}} \end{bmatrix} J=[∂θ1∂X∂θ1∂Y∂θ2∂X∂θ2∂Y]
全微分:
d M o v e = J d θ dMove = Jd\theta dMove=Jdθ
对式子两边都除以 d t dt dt:
d M o v e d t = J ( q ) d q d t v = M ˙ = J ( q ) q ˙ \frac{dMove}{dt} = J(q)\frac{dq}{dt} \\ v= \dot{M}=J(q)\dot{q} dtdMove=J(q)dtdqv=M˙=J(q)q˙
一般我们只关注机器人末端速度要多快(已知末端速度),求解关节速度:
q ˙ = J − 1 V \dot{q} = J^{-1}V q˙=J−1V
J − 1 J^{-1} J−1称为工业机器人逆速度雅可比。当工业机器人手部在空间按规定的速度进行作业,用上式可以计算出沿路径上每一瞬时相应的关节速度。
速度雅可比矩阵
V
e
l
o
c
i
t
y
J
a
c
o
b
i
a
n
Velocity Jacobian
VelocityJacobian描述的是机器人末端执行器的线速度和角速度相对于各个关节的角速度的变化关系。具体来说,给定机器人关节角速度
θ
˙
\dot{\theta}
θ˙,末端执行器的线速度和角速度
v
\mathbf{v}
v 与关节角速度
θ
˙
\dot{\theta}
θ˙ 之间的关系可以通过雅可比矩阵
J
\mathbf{J}
J来表示:
v
=
J
(
θ
)
θ
˙
\mathbf{v} = \mathbf{J}(\theta) \dot{\theta}
v=J(θ)θ˙
其中:
- v \mathbf{v} v 是末端执行器的线速度和角速度,通常表示为 $\mathbf{v} = [\mathbf{v}{lin}, \mathbf{v}{ang}]^T $,其中 v l i n \mathbf{v}_{lin} vlin 是线速度, v a n g \mathbf{v}_{ang} vang 是角速度。
- $ \dot{\theta} $ 是关节角速度向量。
- $ \mathbf{J}(\theta) $ 是雅可比矩阵,描述了关节角速度如何映射到末端执行器的速度。
雅可比矩阵的构造:
对于一个六自由度的机械臂,假设末端执行器的位置是一个由关节角度
θ
\theta
θ 的函数,则雅可比矩阵由末端执行器的位置 $ \mathbf{p} $ 和姿态的偏导数构成:
J
(
θ
)
=
∂
x
∂
θ
\mathbf{J}(\theta) = \frac{\partial \mathbf{x}}{\partial \theta}
J(θ)=∂θ∂x
其中
x
=
[
p
,
R
]
T
\mathbf{x} = [\mathbf{p}, \mathbf{R}]^T
x=[p,R]T 是末端执行器的位置和姿态。
速度雅可比矩阵通常表示为一个 $ 6 \times n $ 的矩阵(其中 $ n $ 是关节数),前 3 行对应于末端执行器的线速度与关节角速度的关系,后 3 行对应于末端执行器的角速度与关节角速度的关系。
速度雅可比矩阵与速度分析
对于n自由度机器人,关节变量可用广义关节变量q表示:
q = [ q 1 q 2 . . . q n ] T q = [q_{1} \ q_{2} \ ... q_{n}]^{T} q=[q1 q2 ...qn]T
当关节为转动关节时 q i = θ i q_{i} = \theta_{i} qi=θi
当关节为移动关节时 q i = d i q_{i} = d_{i} qi=di
d q = [ d q 1 d q 2 . . . d q n ] T dq = [dq_{1} \ dq_{2} \ ... dq_{n}]^{T} dq=[dq1 dq2 ...dqn]T,反映了关节空间的微小运动。
机器人末端在操作空间的位置和方位可用末端手爪的位姿X表示,它是关节变量的函数,X=X(q),并且是一个6维列矢量。
d X = [ d x , d y , d z , Δ ϕ x , Δ ϕ y , Δ ϕ z ] T dX=[dx,dy,dz, \Delta\phi_{x}, \Delta\phi_{y}, \Delta\phi_{z}]^{T} dX=[dx,dy,dz,Δϕx,Δϕy,Δϕz]T反映了操作空间的微小运动,它由机器人末端微小线位移和微小角位移(微小转动)组成。
d X = J ( q ) d q [ v x , v y , v z , w x , w y , w z ] dX=J(q)dq \\ [v_{x},v_{y},v_{z}, w_{x},w_{y}, w_{z}] dX=J(q)dq[vx,vy,vz,wx,wy,wz]
雅可比矩阵的奇异性
当雅可比矩阵的行列式为0时(不满秩)时候,关节速度会超速(趋近无穷)。
机械手臂在奇异形位下,手部正好处在工作域的边界上,改瞬间手部只能沿着一个方向运动,退化了一个自由度。
机器人的奇异形位分为两类:
(1) 边界奇异形位:当机器人臂全部伸展开或全部折回时,使手部处于机器人工作空间的边界上或边界附近,出现逆雅可比奇异,机器人运动受到物理结构的约束。这时相应的机器人形位叫做边界奇异形位。
(2) 内部奇异形位:两个或两个以上关节轴线重合时引起的奇异。当出现奇异形位时,会产生退化现象。
6轴机械手奇异点:
(1)4轴6轴共线,腕部奇异点。
(2)达到物理边界,肘部奇异点。
(3)1轴6轴共线,肩部奇异点。
解决办法:添加机器人语言指令。
雅可比矩阵的建立
计算方法:
- 对末端位姿方程求偏导。(最常用的,最简单的)
- 通过连杆速度递推计算。
- 矢量积:通过连杆速度分析构造。
- 微分变换:通过微分变换关系构造。
连杆的速度传递与计算
角速度(有方向的)。刚体上角速度相同
w = d θ / d t w = d\theta/dt w=dθ/dt
v = w × r v = w\times r v=w×r
对于移动关节:
w i = w i − 1 w_{i} = w_{i-1} wi=wi−1
p i = p i − 1 + d i z i + w i × r i − 1 , i p_{i} = p_{i-1} + d_{i}z_{i} + w_{i}\times r_{i-1,i} pi=pi−1+dizi+wi×ri−1,i
2. 力雅可比矩阵
力雅可比矩阵(Force Jacobian)描述的是末端力和关节力矩之间的关系。根据力和速度的对偶性,如果末端执行器上作用一个力 $\mathbf{f} $,该力会通过关节传递并产生关节力矩
τ
\tau
τ。力雅可比矩阵 $\mathbf{J}^T(\theta) $将末端力和关节力矩联系起来:
τ
=
J
T
(
θ
)
f
\tau = \mathbf{J}^T(\theta) \mathbf{f}
τ=JT(θ)f
其中:
- $\tau $ 是关节力矩向量。
- $ \mathbf{f} $ 是末端作用的力和力矩的合成,通常表示为 $\mathbf{f} = [\mathbf{f}{lin}, \mathbf{f}{ang}]^T $,其中 $\mathbf{f}{lin} 是作用在末端的线力, 是作用在末端的线力, 是作用在末端的线力,\mathbf{f}{ang} $ 是作用在末端的扭矩。
- J T ( θ ) \mathbf{J}^T(\theta) JT(θ) 是雅可比矩阵的转置,用于将末端力映射到关节力矩。
3. 速度雅可比矩阵和力雅可比矩阵的关系
速度雅可比矩阵和力雅可比矩阵之间的关系基于力与运动的对偶性。具体来说:
- 速度雅可比矩阵 $ \mathbf{J}$ 描述的是关节角速度如何影响末端执行器的速度。
- 力雅可比矩阵 $\mathbf{J}^T $ 描述的是末端力如何传递到关节产生力矩。
两者的主要联系在于它们都是通过雅可比矩阵来进行坐标系的映射。雅可比矩阵用于速度时是直接的,而用于力时是转置的。这个转置体现了力和运动之间的对偶关系,即动量的守恒和能量的传递。
4. 应用场景
- 机器人动力学控制:在机器人控制中,速度雅可比矩阵用于描述关节空间的运动如何映射到任务空间,力雅可比矩阵用于计算末端执行器施加的力如何影响关节力矩。
- 逆运动学问题:通过雅可比矩阵可以在任务空间和关节空间之间进行映射,解决逆运动学问题。
- 运动规划与优化:雅可比矩阵用于分析和优化机器人运动,确保机器人在任务空间中执行精确的动作。
总结
- 速度雅可比矩阵:描述机器人末端执行器的线速度和角速度与关节角速度之间的关系。
- 力雅可比矩阵:通过速度雅可比矩阵的转置,描述末端施加的力和关节力矩之间的关系。
- 两者通过雅可比矩阵密切联系,广泛应用于机器人运动控制和动力学分析。
机器人静力分析
机器人在作业过程中,当末端操作器与环境接触时,各关节产生相应的作力。
• 机器人各关节的驱动装置提供关节力矩,通过连杆传递到手部,克服外界作用力。
两类静力学问题:
(1) 已知外界环境对工业机器人手部作用力F ,求相应的满足静力学平衡条件的关节驱动力矩
τ
\tau
τ。
(2) 已知关节驱动力矩
τ
\tau
τ,确定工业机器人手部对外界环境的作用力F或负荷的质量。
末端广义力矢量:机器人在外接接触处产生力
f
f
f和力矩
n
n
n:
F
=
[
f
n
]
f
=
[
f
x
f
y
f
z
]
τ
=
[
τ
1
τ
2
.
.
.
τ
n
]
T
F = \begin{bmatrix} f \\ n \end{bmatrix} \\ f = \begin{bmatrix} f_{x} \\ f_{y} \\ f_{z} \end{bmatrix} \\ \tau = \begin{bmatrix} \tau_{1} \ \tau_{2} ... \tau_{n} \end{bmatrix}^{T}
F=[fn]f=
fxfyfz
τ=[τ1 τ2...τn]T
在静止状态下,F 应与各关节的驱动力或力矩平衡。
关节力矢量:n个关节的驱动力矩组成n维矢量.
假定关节无摩擦,并忽略各杆件的重力,广义关节力矩与机器人手部端点力F的关系为:
τ
=
J
T
(
q
)
F
\tau = J^{T}(q)F
τ=JT(q)F
力雅可比矩阵是速度雅可比矩阵的转置。
示例:
机器人动力学分析
机器人动力学研究各杆件的运动和作用力之间的关系,是机器人设计、运动仿真和动态实时控制的基础。
机器人动力学问题有两类:
动力学正问题——已知关节的驱动力矩,求机器人系统相应的运动参数(包括关节位移、速度和加速度)。
动力学逆问题——已知运动轨迹点上的关节位移、速度和加速度,求出所需要的关节力矩。
刚体转动的惯性
刚体的转动惯量(定轴)
刚体的惯性张量(定点)
物体的惯性是指物体保待其原有运动状态不变的性质。
物体作惯性运动,其本质就在于物体具有惯性。
惯性可以认为是保持匀速直线运动的、由质量所决定的一种物质属性,不受力,就可以保持匀速直线运动(含静止)。
同时,刚体也有保持匀速转动的性质,如果不受外力矩,就保持匀速转动或者止状态,衡量这种属性的量是转动惯量。
转动惯量
刚体转动时对惯性的量度描述:
使用于离散刚体转动惯量的计算 J = ∑ i Δ m i r i 2 J=\sum_{i}\Delta m_{i}r_{i}^{2} J=∑iΔmiri2
使用于连续刚体转动惯量的计算 J = ∫ m r 2 d m J=\int_{m} r^{2}dm J=∫mr2dm
转动惯量的单位为千克二次方米。
由于刚体是一个特殊质点系,即各质点之间无相对位移,对于给定的刚体其量分布不随时间变化,故对于定轴而言,刚体的转动惯量是一个常数。
1)形状大小分别相同的刚体质量大的转动惯量大;
2)总质量相同的刚体,质量分布离轴越远转动惯量越大;
3)对同一刚体而言,转轴不同,质量对轴的分布不同,转动惯量的大小不同。
惯性张量
刚体作定点转动的力学情况要比刚体作定轴转动的力学情况复杂得多。刚体在做定点转动时,刚体中有一点始终保持不动。
惯性张量是描述刚体作定点转动时的转动惯性的一组惯性量。因为有不同方向的分量,把它们合在一起用一个张量就可以表示,这个张量就是惯性张量。
定轴转动是定点转动的特例,转动惯量包含在惯性张量中。
动力学分析
机器人是由多个连杆和多个关节组成的复杂的动力学系统,具有多个输入和个多输出,存在着错综复杂的耦合关系和严重的非线性。
采用的方法:
• 牛顿—欧拉方法(Newton-Euler)方法
• 拉格朗日(Lagrange)方法
• 高斯(Gauss)方法
• 凯恩(Kane)方法等。
牛顿-欧拉方程
拉格朗日方法
拉格朗日方法以简单的形式求得非常复杂的系统动力学方程,而且具有显式结构,物理意义比较明确,对理解机器人动力学比较方便。
机器人动力学问题的求解比较困难,而且需要较长的运算时间。因此,简化求解的过程,最大限度地减少机器人动力学在线计算的时间是持续研究的课题。