第5章 CHAPTER 5 多关节运动学和阻抗 肌肉是作为激动剂、拮抗剂还是稳定剂取决于运动因素,如关节角度、连杆长度、力矩臂和力的方向。许多肌肉或其肌腱跨越多个关节(图5.1)。例如,手臂上的肱二头肌和肱三头肌以及腿上的腘绳肌是双关节肌肉。一些手指屈肌和伸肌的肌腱交叉达4个关节,因此手上的大部分肌肉都被移除,从而减少了惯性并实现了快速反应。 图5.1手臂上肢肌肉组织 (a) 手臂表面肌肉的前视图。这些肌肉弯曲它们交叉的关节,也就是肩膀、肘部或手腕(注意二头肌交叉于肩膀和肘部关节); (b) 手臂表面肌肉的后视图; 这些肌肉伸展它们交叉的关节(注意三头肌的长头横跨肩膀和肘关节)。前臂的许多肌肉(包括前、后视图)主要用于手指屈伸; 但是,由于它们的肌腱横穿手腕,因此它们也会在手腕关节处产生力矩; 图中没有显示出深层肌肉,其中一些也有类似的功能 在多关节运动中,关节间的耦合往往会产生多余的力矩,这些力矩必须通过肌肉运动来抵消(Zajac,1993; 图5.2)。因此,大多数运动需要肌肉在几个关节处进行协调。有些肌肉起推动作用,有些起稳定作用,还有一些起制动作用。 图5.2由于关节之间的耦合,肌肉不仅在它们交叉的关节处产生力矩,而且在远端关节处也产生力矩 (a) 单关节肘部肌肉产生的肘关节弯曲伴随肩部伸展力矩; (b) 为了只移动肘部,因此必须同时产生肩部的弯曲力矩,以抵消相互作用的力矩 肢体和肌肉形成一个高度冗余的非线性耦合动力学系统。由于肌肉作用于多个肢体节段,并经常影响多轴旋转运动,想要预测产生期望运动所需的激活模式不是一件简单的事情。然而,运动学、动力学和控制学为轨迹、终点力和肌肉活动的描述提供了强大的工具,本章将对此进行描述。 5.1运动的描述 最常见的是,人类通过手或脚与环境接触来实现与环境的互动。它们的肢体是由一系列肢体节段和关节组成的运动学开放链(图5.1)。人们通常希望简化肢体的关节的表示形式,以避免在解剖学上只追求正确性而忽略了模型简单性。 通常,我们通过选择一组独立的位移和/或旋转来确定1个肢节的自由度(the Degrees of Freedom,DOF),这些位移和/或旋转可以完全确定肢节的位置和方向的变化。这就产生了关节空间 {q=(q1,q2,…,qN)T}。例如,肘关节有1个自由度,而手腕有多个自由度,但我们可以限制对单自由度的分析,如腕部屈伸,并将其视为1自由度系统,如第4章所述。 肢体的端点如手或脚的位置,在任务空间中可以被描述为姿势(x,θ),它的位置为 x=(x1,x2,x3)T,它的方向为θ=(θ1,θ2,θ3)T。这种外部 笛卡儿表示法是通过视觉运动协调与视觉空间相联系的。方向可以用不同的方式表示(Siciliano等人,2009),例如四元数或旋力矩阵,并且必须考虑到旋转并不对等的事实,但该主题不在本书的讨论范围之内。 除了外部的任务或手部空间及内在的关节空间,还有另一种生理上相关的内在表征,即肌肉空间 {λ=(λ1,λ2,…,λM)T}。任务空间最多有6个自由度,但描述受限任务所需的自由度更少。例如,在一桌面上移动平面物体涉及3个自由度: 2个笛卡儿自由度描述位置,1个自由度描述方向。关节空间可以有比任务空间有更多的自由度,这取决于所涉及的身体节段的数量,而肌肉空间具有与能够移动这些节段的骨骼肌数量相同的自由度。 5.2手臂平面运动 手臂的关节空间至少有7个自由度: 肩部3个旋转自由度,肘部1个旋转自由度,手腕3个旋转自由度,包括前臂旋转自由度。然而,对于平面运动,该模型可以简化为2个自由度,如图5.3所示。平面手臂运动的2关节6肌肉模型非常有用,因为其简单,所以在数学上易于处理且直观,同时仍然具有更复杂的肌肉骨骼模型的基本特征,例如非线性动力学和通过冗余系统进行驱动的肌肉。 图5.32关节6肌肉模型 用2关节6肌肉模型表示来分析水平手臂运动,手臂力矩随着肌肉和关节及其构造而变化。 在这个模型中,手相对于肩膀的位置x=(x,y)T可以简单地从关节角度q=(qs,qe)T和肢节长度l=(ls,le)T计算出来: x=lscos(qs)+lecos(qs+qe) y=lssin(qs)+lesin(qs+qe) (5.1) 5.3正运动学和逆运动学 通过传播连续关节的位置和方向,可以从关节角度迭代计算肢体(或任何开放运动链)的端点位置。算法已经在诸如Spong,Hutchinson和Vidyasagar出版的机器人教科书给出,并提供了相关软件包(Featherstone,2008)。这些算法能够计算从关节到手(笛卡儿)空间的转换或直接的运动学转换。同样地,肌肉长度可以从关节角度(和手臂的力矩)计算出来。 无论如何,大脑必须决定的是如何移动关节,以便在任务空间中产生所需要的运动或行为。这种逆运动学变换有时没有解决方案,例如,当要求的手腕角度超出关节限制时是无法实现的。或者相反,比如有多种解决方案,当你在固定的位置拿住一个杯子时,你可以上下移动你的肘部。 下面,我们使用图5.4(a)的变量来计算图5.3的2关节平面模型的逆运动学: x2+y2=l2s+l2e-2lslecos(π-qe) →qe=arccosx2+y2-l2s-l2e2lsle qs=α-β,α=arctan2(y,x) l2e=x2+y2+l2s-2lsx2+y2cosβ β=arccosx2+y2+l2s-l2e2lsx2+y2 (5.2) 很明显,即使对于这个简单的结构,逆运动学也是相对复杂的。 图5.4肩、肘、腕屈伸3关节平面手臂运动模型 (a) 定义变量的图表; (b) 运动学冗余: 如何以多种方式组合关节角度以抓住一个物体,例如桌上的乒乓球 5.4微分运动学和力的关系 要绕过计算正运动学和逆运动学的解析和数值困难,一种方法是将运动学推导成不同坐标系中速度表示之间的线性关系: dxidt=∑Nj=1 xiqjqjti,都有x·=J (q)q· (5.3) 式中 J(q)=xiqj(5.4) 用来将速度从q坐标系变换到x坐标系的雅可比矩阵。作为一个例子,式(5.1)的2关节模型的雅可比矩阵为 J(q)=-lsss-lesse-lesse lscs+lecselecse ss=sin(qs),sse=sin(qs+qe),cs=cos(qs),cse=cos (qs+qe)(5.5) 将式(5.3)的运动学关系一般化,还可以推导出关节和肌肉坐标之间的运动学微分关系: λ·=Jμ(ρ)q·(5.6) 雅可比矩阵为 Jμ(ρ)=λiqj(5.7) 表示坐标q和λ之间的微分关系是一个以臂部肌肉力矩ρ为系数的矩阵。 例如,以单关节拮抗肌对和双关节拮抗肌对为例,建立了双臂双关节肌肉模型 Jμ(ρ)=ρs+0 -ρs-0 ρbs+ρbe+ -ρbs+-ρbe- 0ρe+ 0-ρe- (5.8) 这里ρ=(ρs+,ρs-,ρbs+,ρbs-,ρbe+,ρbe-,ρe+,ρe-),分别为单关节肩关节力臂对和双关节肘关节肌肉力臂对。 雅可比矩阵不仅涉及两个坐标系中的速度,还涉及端点力、关节力矩向量和肌肉张力向量(图5.3)。坐标系之间的关系可以由幂函数来建立 (F,x·)=FTx·=∑ni=1Fix·i(5.9) 其中标量积(·,·)如上定义,它独立于任何坐标系: τ,q·=(F,x·)=(F,Jq·)=FTJq·=(JTF)Tq·=(JTF,q·)q·(5.10) τ=J(q)TF(5.11) 这种关系在计算每个关节必须施加的力矩时非常有用,以便在手上产生所需的力。肌肉张力向量μ与力矩向量τ之间的类比关系可以被描述为 τ=Jμ(ρ)Tμ (5.12) 5.5机械阻抗 电动机系统的主要功能是与环境相互作用。这种相互作用是双向的,正如牛顿第三定律所表达的: 作用和反作用是相等的、相反的、同时的。从人的角度来说,通过神经输入调节机械与环境的相互作用,其特点是可以抵抗强加的运动或机械阻抗(Hogan,1985),见第4章定义。机械阻抗抵抗人体运动的一个重要组成部分来自黏弹性组织特性。正如在第4章中讨论的单关节运动(图4.11),当手臂在运动过程中受到轻微扰动时,它往往会返回到原本未受扰动的轨迹(Milner,1993; Won和Hogan,1995; Gomi和Kawato,1997),就好像连接着一个沿着既定轨迹运动的弹簧。这种类似弹簧的特性主要来自于肌肉的弹性和伸展反射,它产生一种向未受干扰的轨迹恢复的力量。 虽然自主运动受到神经过程缓慢反应的限制,但阻抗是即时反应的。因此,对于涉及快速动态变化的任务(例如在步行/跑步中与地面的碰撞)来说,它是基础。自适应阻抗控制在稳定性中的作用将在本章和第8章中讨论。 因为大多数的相互作用都发生在肢体末端,所以其机械行为是最为重要的。人类手臂的神经控制(表示为力F)取决于位置x、速度x·、加速度x¨和肌肉刺激量u (x,x·): F=F(x,x·,x¨,u) (5.13) 阻抗也取决于这些变量。因此,从原理上讲,可以通过改变姿势或者通过反射和随意运动控制神经输入来调节阻抗,前者可以对扰动产生即时响应,后者涉及更长的延迟(Hogan,1990)。 一般而言,阻抗是运动变量的非线性函数。将端点力作为位置、速度、加速度和肌肉激活量的函数进行线性化 ΔF(x,x·,x¨,u )=KxΔx+DxΔx·+IxΔx¨(5.14) 这里定义 Kx≡-Fixj-∑kFiukukxj为刚度 Dx≡-Fi x·j-∑kFiukukx·j为黏度 Ix≡-Fix¨j为惯性 请注意,这些定义是从被动物理属性的通常定义改编而来的,被动物理属性不包括依赖于激活的部分。我们可以把生物系统的机械阻抗看作是由刚度、黏度和惯性组成的线性化方程。 目前用于测量生物系统的刚度和黏度的方法不能从肌肉的固有黏弹性的特性中分离出依赖于激活的组分(u项),即反射反馈。例如,相对于预测未受扰动的轨迹和测量恢复力,Burdet等人于2000年提出估计运动过程中端点刚度的方法,将手移动了一个恒定的距离。扰动包括一个100ms的光滑斜坡位移8mm,然后保持100ms不变,在此期间测量恢复力(图5.5)。恢复力包括来自于方程(5.14)中Kx和Dx定义的内在肌肉弹性和反射的贡献。 图5.5通过在运动中移动手来估计轮廓(Burdet等人,2000),10次实验的平均位移和x方向无扰动运动轨迹预测 (b)的偏差(a); (c)和(d)表示由y方向的位移所引起的轨迹和力 方程(5.14)的拉普拉斯变换[例如在Riley,Hobson和Bence(2006)中定义]为 L[ΔF](s)=Kxs ΔV+DxΔV+Ix sΔV=Kxs+Dx+s IxΔV(s)(5.15) 式中,V是速度v≡x·的拉普拉斯变换。假设阻抗用线性方程(5.14)表示,可以表示为传递函数 L[ΔFi]Δvj(s)=Kxs+Dx+sIx(5.16) 对正弦信号(或受控随机扰动)的响应进行简化,可以得到一个伯德图,可以从中计算阻抗,并使用参数模型估计刚度、阻尼和惯性(Trumbower等人,2009)。 根据在第3、第4章中描述的非线性并与历史相关的肌肉机械特性和反射反馈(例如,图3.9),阻抗的定量取决于用于识别的扰动类型。特别是,研究表明刚度的大小(如前所述,在静态条件下通过置换手来确定)随着位移幅值的增大而减小(Shadmehr,MussaIvaldi和Bizzi,1993),这可能是由于第3章3.5节中描述的肌肉的短期刚度。不同类型的扰动受到不同的混杂效应。可预测的扰动,如正弦位移,在低频率下可能会出现问题,因为受试者可能会在扰动频率下自动调节他们的抵抗力,而随机扰动可以通过抑制反射反应来低估阻抗。由于神经肌肉系统具有许多非线性特性,因此在比较线性阻抗模型得到的结果时,仔细考虑实验条件是很重要的。 5.6运动的转换 在5.4节中,我们讨论了速度和力是如何在任务、关节和肌肉坐标之间转换的。在端点处测量的阻抗也可以转换到关节处。特别是,关节刚度表示为 K≡τiqj=(JTF)iqj=∑k(JT)ikqjFk+JTFiqj =∑k(JT)ikqjFk+JT∑kFixkxkqj 可得 K=dJTd qF+JTKxJ(5.17) 这里,雅可比矩阵的转置被定义为(JT)ij≡Jji。方程(5.17)右边的第一项源于雅可比矩阵对位置的依赖关系,并随外部(或外加)力的变化而变化。注意在旋转的情况下,变换更加复杂(参见Zefran和Kumar,2002)。 D=JTDxJ(5.18) 和 I=JTIxJ 的关系也可以用同样的方法推导出来。 例如 D=τiq·j=(JTF)iq·j=∑k(JT)ikq·jFk+JTFiq·j= 0+JT∑kFix·kx·k q·j x·kq·j=∑lJkl q·lq·j=∑lJklq·jq·j+∑lJklq·lq·j=0+Jkj (5.19) 关节与肌肉坐标之间阻抗分量的变换可以用相似关系表示: K=dJTμdqμ+JTμKμJμ D=JTμDμJμ (5.20) 这些关系揭示了在与环境交互作用时,肌肉排列和身体节段几何对身体动力学的作用。 例如,让我们用双关节臂模型来检验肌肉刚度和单关节反射对关节刚度的影响。考虑无外力作用的情况,假设单位力矩臂和无双关节反射,使肌肉刚度矩阵呈对角形。关节刚度矩阵可计算如下: K= 1-11-100 001-11-1 Ks+00000 0Ks-0000 00Kb+000 000Kb-00 0000Ke+0 00000Ke- 10 -10 11 -1-1 01 0-1 =Ks++Ks-+Kb++Kb-Kb++Kb- Kb++Kb-Ke++Ke-+Kb++Kb-≡ Ks+KbKb KbKe+Kb (5.21) 式中,Ks=Ks++Ks-,Kb=Kb++Kb-,Ke=Ke++Ke-,分别是肩部肌肉、关节肌肉和肘部肌肉的刚度项。该方程表明在没有多关节反射的情况下,刚度矩阵和关节间的耦合是对称的。然而,多关节反射在原则上可以使中枢神经系统产生不对称的刚度或阻抗。单关节肌肉和反射影响刚度矩阵的对角元素,并使刚度在由雅可比矩阵J表示的变换确定的轴上的端点处进行调制。双关节肌肉产生交叉项,使刚度几何沿不同轴的修改成为可能。我们将在第8章讨论CNS如何修改阻抗几何。值得注意的是,这个简单的研究不仅忽略了多关节的反射,也忽略了手臂的力矩差异以及每一块肌肉调节其刚度的生理范围,它们在不同肌肉对阻抗的相对贡献中起着重要的作用。在确定中枢神经系统实际调节阻抗的范围时,必须考虑以上所有因素(Hu,Murray和Perreault,2012)。 表5.1总结了5.3节、5.4节以及本节中的转换。箭头表示可以始终在哪个方向执行转换。逆变换存在的一个必要条件是直接变换涉及正则矩阵,就像在非零矩阵行列式的大部分工作空间中做平面运动的2关节模型一样。在这种情况下 ,x,q,τ,F为2×1的向量(图5.3) ,K,Kx为2×2的矩阵,速度、力,以及刚度和阻尼矩阵可以在大部分工作空间中倒转(inverted)。另一方面,对于2连杆6肌肉模型,如何计算6维肌肉力向量μ来对应给定的二维关节力矩向量τ,还不是很清楚。有许多可能的解决方案。例如,一个人可以同时激活一对拮抗肌来产生相同的力量,而不需要改变关节处的力矩(假设手臂的力矩相同)。此外,还不清楚应该激活哪些肌肉来产生肩部或肘部的力矩,因为双关节肌肉可以对两个关节中的任何一个产生力矩。我们将在5.9节中分析CNS如何处理这个问题。 表5.1手、关节和肌肉空间的运动学转换 手关节肌肉 x←q→λ位置 x· J q·Jμ λ·速度 ←→ FJT τJTμ μ力 →← Kx JTKxJ+dJTdqF K JTμKμJμ+dJTμdqμ Kμ刚度 →← DxJTDxJ DJTμDμJμDμ阻尼 →← 5.7阻抗几何 原则上,阻抗取决于位置、速度和肌肉的活动。为了研究阻抗随运动方向的变化,可以测量手在不同方向上的小位移的恢复弹力(Burdet等人,2000)。为了可视化阻抗几何,我们绘制了与每个方向上的单位位移所引起的力相对应的椭球体(MussaIvaldi,Hogan和Bizzi,1985)。例如,由该集合定义的一个刚度椭球体 F=Kxx|x|,x(5.22) 如图5.6所示。需要注意的是,通常微扰产生的力与微扰的力方向略有不同。 图5.7显示了手臂的惯性、黏度和刚度几何如何依赖于(静态)姿势和施加的力。在不需要改变肌肉活动的情况下,修改肢体的运动构型时,阻抗的惯性和黏弹性成分会发生变化。我们注意到惯性椭圆的长轴大致沿着前臂。这似乎很直观,因为这个方向涉及上臂和前臂的运动,而垂直方向只对应于前臂的运动。刚度椭圆和阻尼椭圆方向相同,都与肩部大致对齐。 通过产生更多的力可以增加阻抗从而对扰动具有鲁棒性。图5.7显示,尽管惯性主要取决于物体的质量和几何形状,与力无关,但刚度和黏度随力的增加而增加。与第4章中描述的单关节阻抗类似,刚度矩阵的系数随施加力矩的大小呈线性增长(Gomi和Osu,1998; 图5.6刚度几何可以用与不同方向上的单位位移相对应的椭圆来表示 (a) 在8个方向上施加扰动,测量各个方向上的恢复力; (b) 这个恢复力可以用来确定肢体的端点刚度,并用椭圆表示; (c) 这种几何表示法可以简单地描述弹性响应大小的方向依赖性 图5.7惯性、黏度和刚度椭圆的对象保持恒定的力量与手臂在肩膀的高度(Perreault,Kirsch和Crago,2004) 刚度和阻尼随力的增大而增大,与惯性无关,这主要取决于其几何形状 Perreault,Kirsch和Crago,2004),如图5.8所示。例如,参与Gomi和Osu在1998年实验中研究的受试者的平均关节刚度可以表示为 K=KssKse KesKee=10.8+3.18τs2.83+2.15τe 2.51+2.34τe8.67+6.18τeN·mrad(5.23) 虽然Kss依赖于肩力矩,Kee依赖于肘力矩是合乎逻辑的,但从式(5.21)可以看出,非对角系数同时依赖于肩力矩和肘力矩。它们主要依赖于肘力矩这一事实可能表明肘部和双关节肌肉是作为一个单元来控制的。 图5.8受试者关节刚度K=[Kss,Kse; Kes,Kee]组成部分作为静态姿势下手臂力矩的函数(Gomi和Osu,1998)。Kss主要取决于|τs|,而其他变量主要取决于|τe| 有趣的是,式(5.23)的刚度矩阵所包括的固有分量和反射分量几乎是对称的。这种对称性是很重要的,因为它对应于由势函数定义的类弹簧保守力的特征。肢体阻抗的弹簧特性可能解释了人类与环境稳定交互的一些惊人能力。特别是,具有类弹簧属性的系统可以保证以稳定的方式与被动环境交互(Colgate和Hogan,1988)。 虽然在图5.7中,刚度和阻尼均随外力的增加而单调增加,但黏度并不呈线性增加。实际上,Perreault,Kirsch和Crago于2004年提出的研究表明,黏度矩阵的系数与力矩大小的平方根近似成正比,即阻尼比 ζ=Dx2 KxIx≌0.26(5.24) 保持常数不变。人体关节是欠阻尼的; 也就是说,肢体在某些情况下会振动。这种行为在弹道肢的运动中特别明显,在终点位置附近经常观察到阻尼振荡。可以通过负的黏性载荷来人为地降低阻尼,来放大这些振荡(图4.12; Milner和Cloutier,1993)。 5.8冗余 许多任务涉及的自由度比肌肉骨骼系统中可用的自由度要少。在这种情况下,中枢神经系统必须指定如何协调不同的四肢或肌肉,或在所有可能的组合空间中采用哪种轨迹。相反,这种冗余使中枢神经系统能够采用一种特别适合于给定任务的姿态。通常,当设备中的自由度大于完成任务所需的自由度时,系统就是冗余的。我们已经指出,人类手臂至少有7个自由度,尽管在自由空间中移动只需要6个自由度(正如大多数工业机器人有6个自由度这一事实所证明的那样)。这种相对于任务约束的自由度“过剩”被称为运动学冗余。此外,关节的大部分运动可以用各种肌肉组合来完成,我们称为肌肉冗余。最后,例如,在到达运动中可以使用无限多的路径来达到目标,肌肉理论上可以用无限多的不同的时间激活曲线来产生不同的速度曲线,我们称之为轨迹冗余。 图5.4(a)所示为涉及肩关节、肘关节和腕关节的运动学冗余示例。连杆机构的运动学描述如下: x′=lscs+lecse+lwcsew y′=lsss+lesse+lwssew ss=sin(qs),sse=sin(qs+qe),ssew=sin(qs+qe+qw) cs=cos(qs),cse=cosqs+qe,csew=cosqs+qe+qw (5.25) 如图5.4(b)所示,有不同的组合可以允许到达给定的位置(x′,y′)T; 也就是说,在关节运动范围内,手的任何方向都可以达到这个目标。例如,如果任务是抓一个乒乓球,因为球可以用手的任何方向抓住,所以手臂是多余的。另一个冗余的例子是用激光指示器指示的任务。在这种情况下,唯一的限制是激光点在屏幕上想要的位置是可见的,因为这个任务可以用手的不同方向来完成,所以手臂有多余的自由度。另一方面,如果这个任务需要一个更具体的方向,例如把手机从桌子上拿起来,那么手臂就不是多余的。在一个特定的取向θ=qs+qe+qw 上使用方程(5.25)所示的模型可得 x≡x′-lwcosθ=lscs+lecse y≡y′-lwsinθ=lsss+lesse (5.26) q由式(5.2)求解得到。 肌肉冗余如图5.1所示。例如,腕关节屈伸由腕长伸肌(ECRL)、腕短伸肌(Extensor Carpi Radialis Brevis,ECRB)、腕尺伸肌(ECU)、桡腕屈肌(FCR)和腕尺屈肌(FCU)控制,原则上可以在无限多的组合中被激活,以产生相同的手腕运动。然而,在特定的任务中,正如手指运动学分析中强调的那样,这种自由度可能会因肌肉系统的生物力学约束而降低(Kutch和ValeroCuevas,2012)。 总之,肌肉骨骼系统的控制以中枢神经系统必须解决的冗余(在关节、肌肉和轨迹中)为特征。相反,这种冗余可能为中枢神经系统提供优势,使其能够避免不舒适的姿势,产生与任务相适应的机械阻抗(将在第8章讨论)或最好简化操作过程(将在第6章和9章讨论)。人类重复一项任务特别是以特定的方式协调四肢时通常使用相同的运动模式,几乎没有变化。现在我们将研究如何对其进行建模。 5.9解决冗余 设计有冗余的机器人是可行的——例如,该机器人的关节数量比完成任务所需的关节数量多。在这种情况下,应该如何指定关节角度以遵循任务空间中指定的轨迹?这为不同的应用程序提供了何种灵活性? 让我们考虑图5.4所示的三个联合连杆和如何选择 (x′(t),y′(t))T来实现所需轨迹{(qs(t),qe(t),qw(t))T,t∈[0,T]}的问题。我们首先考虑微分运动学 x·′ y·′=J11J12J13 J21J22J23 q·s q·e q·w,Jij≡xiqj(q)(5.27) 解决冗余的一种方法是添加约束。例如,如果我们指定取向θ=qs+qe+qw,然后微分运动学方程变为 x·′ y·′ θ·=J11J12J13 J21J22J23 111q·s q·e q·w≡Jq·(5.28) 关节角度可以用下式计算 q·=J-1(q)x·(5.29) 假设逆J-1(q)存在(即满足条件det(J(q))≠0)。有一个生理学示例被称为清单定律,它使用运动学约束来减少冗余,根据该定律,三个眼球转动组合在一起(Tweed和Vilis,1990)。 另一种减少冗余的方法是在式(5.3)的约束下最小化速度‖q·‖。这种最小化特别适用于配备液压执行机构的机器人。由于石油流量与速度大致成正比,所以将速度最小化可以减少石油的移动并节约能源。拉格朗日待定乘子法给出了该约束极小化问题的方法 q·*=J x·,J=JT(JJT)-1,detJJT≠0(5.30) 很容易证明该解满足式(5.3)。伪逆J是J的伪逆,也就是说 JJ=JJT(JJT)-1=1(5.31) 在人体的冗余系统中,肢体也可以协调执行动作,同时最大限度地降低关节速度。我们通过两个串联的旋转执行器驱动的单关节装置这个简单的例子来说明这种方法是如何工作的。 关节角速度为 θ·= q·1+q·2=11q·1 q·2≡Jq·(5.32) 伪逆的计算方法如下: JJT=111 1=2,因此 J=JT(JJT)-1=1 112(5.33) 使二次关节速度q·21 +q·22最小的关节角速度向量 为 q·*1 q·*2=Jθ·=θ·2 θ·2(5.34) 注意式(5.30)的伪逆一般是不可积的; 也就是说,一个封闭的运动可能不会以它开始时的状态结束。MussaIvaldi和Hogan于1991年展示了如何通过修改伪逆来解决这个问题,并得到一个可积加权伪逆。 5.10附加约束的优化 利用冗余度,可以在不改变末端执行器位置或方向的情况下修改机械手的配置。这个过程涉及限制在机械手的零空间的“内部运动”: N≡q·,Jq·=0(5.35) 我们可以证明如果q·0是公式x·0=Jq·0的一个特解,对于所有的Δq·∈N,q·0+Δq·也是它的解。因此,我们可以通过在零空间中运动来最优化代价函数Vq,q·。特别地,代价V可以使用梯度下降法来降低 Δq·=-χnVn=-χ(V·n)n,χ>0,n∈N(5.36) 这里 nV≡limλ→0Vq+λn-V(q)λ 是在方向n上的导数 V≡Vq1  VqN 是梯度,它由与n的标量积投影到零空间。 梯度下降最小化方法如图5.9所示。由于梯度是在函数下降最快的方向,在这个方向上移动参数可以使代价值降为最低。虽然梯度下降法是一种有效的数值优化方法,但如果代价函数V相对平坦,则会陷入局部极小值或收敛速度较慢。这两个问题都可以通过在搜索过程中加入参数的随机扰动来解决。 图5.9梯度下降最小化的计算,其中参数沿成本函数下降最陡的方向移动。注意最终收敛到的最小值取决于起始条件 接下来,我们将演示如何正确地使用这种方法。为了将关节限制在q-和q+的区间内,可以在区间 {[q-i,q+i]}的中点即 q*≡(q++q-)/2处,在每个维度上使用代价函数 V(q)=‖Δq‖2=(Δq)TΔq,Δq≡q-q*(5.37) 通过添加相应的势函数,还可以在此框架中考虑重力和其他任务约束。 这些技术使我们能够模拟手臂的运动。尽管抓住一个物体的方法有无数种,但观察表明,人类总是使用相似的姿势和路径。特别是在即将到达物体的过程中,轨迹通常是非常直的,其速度剖面为钟形v(图5.10),可以用四阶多项式来建模: v(t)=t2n-2tn+130At2nT,tn=tT(5.38) 图5.10典型的平面臂运动轨迹,具有直线路径(a)和钟形速度剖面(b)。(b)中的虚线对应式(5.38)多项式的拟合 式中,t为时间; A为运动幅度; T为运动持续时间(Flash和Hogan,1985)。此外,Cruse,Brüwer和Dean于1993年提出,在平面运动中,中枢神经系统协调多余的关节,从而产生“舒适”的姿势; 例如,避免关节受限的姿势。通过研究人类如何在平面运动中使用冗余手臂,他们发现受试者所采用的姿势对应于最小化成本函数,类似于式(5.37)。此外,这些受试者对姿势“舒适”的主观评估得出的不适感指标与成本函数产生的不适感指标大致相当(Cruse等人,1990)。 这些概念从机器人和优化的角度出发,提出一个关于人类控制冗余骨骼系统运动的框架假设。关节之间的协调可以使用伪逆来实现,舒适的姿势需要成本函数,对应于式(5.37)所示的关节受限。图5.11描绘了使用这些原理模拟的具有肩、肘和腕关节的三关节手臂的伸展运动。运动学参数见表5.2。手沿直线运动,速度剖面如式(5.38)所示,运动持续时间 T=1s。在图5.11(a)中,通过使速度的平方最小化,运动可以在关节之间很好地分布。然而,这种最小化并不会改变整个运动过程中手腕笨拙的初始形态。图5.11(b)显示了惩罚姿势接近关节限制的代价函数,允许手腕的重新定位摆脱关节限制运动时“不舒服”的姿势。Cruse,Brüwer和Dean于1993年所做实验的结果表明该模型捕捉到了冗余平面手臂运动的主要运动学特征。 图5.11肩关节高度水平面上手臂冗余运动的仿真 虽然关节速度平方的最小化协调了关节的运动(a),但只需要额外考虑指定关节范围的成本函数,就可以使手臂避免在接近关节限制的情况下进行不合适的初始腕关节配置(b) 表5.2模拟中使用的臂节人体测量学数据 部位质量/kg长度/m近关节的质心/m质量惯性矩/kg·m2 上臂1.930.310.1650.0141 前臂1.520.340.190.0188 手0.520.080.0550.0003 5.11选择姿势以减少噪声或干扰 除了关节速度、重力或不符合人体结构的关节姿势外,肌肉骨骼系统的冗余还能使中枢神经系统在需要准确性的任务中最小化内部或外部噪声的影响。例如,为了尽量减少由内在震颤引起的手部运动偏差,显微外科医生和钟表匠会采用舒适的身体姿势来减少不必要的动作。此外,他们在坚实的平面上支撑手臂,通过让更多的肢体免受外部的干扰来减少手部震颤。 无控制流形理论(The theory of Uncontrolled Manifolds,UCM)(Scholz和Schner,1999)利用方程(5.35)的零空间形式来分析使噪声影响最小化的协调策略。它区分了关节与端点空间相关的雅可比矩阵零空间中的不影响终点位置的关节变异性和影响终点精度的正交变异性。关于UCM的实验证据由Latash,Scholz和Schner在2007年所做的实验评估,包括关于坐立运动和手指力量协调的研究。 最近的一个实验进一步研究了人类是否选择不同的肢体结构来增加端点阻抗的稳定性。虽然采用合适的肢体结构是一种节能的阻抗调节方式,但人类会自发地选择最适合特定任务的姿势吗?Trumbower等人于2009年设计了一个实验来解决这个问题,要求受试者在机器人界面产生干扰的情况下稳定他们的手部。受试者被要求探索手臂不同姿势的空间,并可自由采取任何姿势。三个笛卡儿轴的每一个方向都会施加扰动。如图5.12所示,受试者所选择的姿态代表了扰动方向上高刚度的构型,从而减弱了扰动的影响。受试者通常利用机械臂的被动特性来减少抵消干扰所需要的力。例如,受试者通过伸展肘部以减弱正/反方向干扰的影响; 肘部的完全伸展代表了在这个方向上刚度的一个奇点(趋向于无穷大),所以在对抗这种姿势的扰动时几乎不需要施加什么力。同样,受试者弯曲手臂以对抗横向干扰。这一发现表明,中枢神经系统可以选择一个与手臂完成这项任务阻抗相适应的姿势。 图5.12受试者倾向于选择产生阻抗的姿势以适应任务(经Trumbower等人允许使用,2009) 在这个实验中,受试者必须保持手在目标位置,尽管机器人界面提供了正弦干扰。这张图展示了一个有代表性的受试者所采用的姿势和刚度椭球 5.12总结 在本章中,我们讨论了以下内容:  利用无穷小运动学等数学工具,能够方便地分析复杂的多关节多轴系统的运动特性。  运动控制涉及三个坐标系,分别表示任务、关节运动学和肌肉几何。  机械与环境的相互作用是通过机械阻抗来控制的: 对运动施加的阻力。  在线性模型中,阻抗可以由三部分来表示——刚度、黏度和惯性——这取决于物体的几何形状。 此外,我们还讨论了如何在坐标系统之间转换位置、速度、力、刚度、阻尼和惯性。我们还讨论了人体的冗余,以及如何通过添加约束和优化方法来解决由骨骼系统冗余引起的控制问题。下一章将对这种方法进行扩展,以处理肌肉系统中的冗余。 实验表明,在阻尼比不变的情况下,关节刚度随施加的力矩线性增加。尽管肢体的端点(笛卡儿坐标)阻抗随着关节结构的变化而急剧变化(取决于位置相关的雅可比矩阵),但关节刚度和阻抗似乎不随关节角度的变化而发生显著变化,这赋予人类采用不同姿势的能力,他们可以产生一种阻抗几何图形以适应他们想要执行的任务。 虽然本章的例子主要涉及平面手臂的运动,但是这些技术对于6自由度环境下手臂的任意运动都是有效的。在一般任务中,应注意以适当的方式对方向参数化, 这些内容在Spong,Hutchinson和Vidyasagar于2006年以及Siciliano等人于2009年出版的 机器人规范性书籍中均有描述。