假想机器人

本节的目的是,当我们考虑把机器人作为通用系统而构成时,如何确定成为该出发点的基本功能的集合问题。为了具体讨论这个议题,首先,让我们从假定一个作为对象的假想机器人开始。作为对象的机器人,按照本章的宗旨,希望尽可能是单纯的东西。但是,如果过于单纯,就会不能适用于实际作业而抽象地结束,本章预定以装配作业为系统的最终应用实例。另外,作为单纯性与一般性的折衷方案,将通过对目前各种不同机器人的种种讨论结果,归纳为图5.1所示的假想机器人。这个假想机器人,是在实际开发一个装配机器人时,按照具体模型设计的,虽然它是单纯的,但又具有足够的一般性。

对于手臂,为了能够控制其在三维空间的位置和在水平面内的手腕部的回转姿势,它应该具有四个自由度。在手腕部内装有多轴力传感器。用于抓取对象物的手是平行开闭的两指构造,在指的尖端内装触觉传感器。视觉是电视摄像机与激光-光点-扫描器的组合,根据需要,认为它对三维空间的位置也能测定。下面就以这个假想机器人为对象,就各个要素,提取其基本功能并定义功能集。

捕获.JPG

5.2.2操作手

我们把搬运物体的装置称作操作手。操作手由臂和手组成。臂由多自由度的联杆机构构成,在其尖端,可以装上诸如抓取物体的手或螺丝刀那样的各种工具。根据伺服机构对臂的各个关节的控制,来控制装在手臂尖端的手和工具的位置及姿势。

位置和姿势的表现为了表现三维空间内手的位置和姿势,可如图5.2所示那样,在固定代表手的位置和姿势的直角坐标系之后再考虑。我们将其称为手部坐标系(或工具坐标系).另外,作为表现位置和姿势的基准,对作业空间还需要再设定一个直角坐标系,并称其为绝对坐标系。手的位置用手部坐标系的原点在绝对坐标系中的位置矢量表示。姿势用相对于绝对坐标系的手部坐标系的旋转来表示。为表示这个旋转,多用绝对坐标系为基准的欧拉角。

为了在三维空同内,控制手的任意位置和姿势,背一般需要具备六个自由度.但是,在本章中,为了简单地处理各种算式、公式,我们只考虑一下如图5.1所示的四自由度的臂。这个假想臂其有

捕获.JPG

如下构造:即底座固定在作业台上,在它上面,由三个旋转自由度(θ₁,θ₃,θ)和一个滑动自由度(s₂)组合而成。我们将这四个参数合在一起,称其为关节坐标。关节坐标的各个分量由伺服机构控制,并决定对应其值的手的位置和姿势。在图5.L所示的四自由度臂的场合,手的位置用在绝对坐标系中关于手部坐标系原点的坐标X,Y,z表示。姿势仅被限制在绝对坐标系中,绕2轴的旋转角α.为了将手的位置与姿势(X,Y,Z,c)和关节坐标(θ₁,5₁,θ₃,θ₄)的关系一般化,下面我们讨论一下臂的坐标变换问题,臂的坐标变换为了将手部坐标系和绝对坐标系之间的坐标变换一般化,对臂的各个联杆,设定如图5.2所示的坐标系,坐标系∑。是被固定在作业空间的绝对坐标系,用于表现绝对坐标时的基准。Σ1是被固定在联杆1上的坐标系,根据关节1的旋转自由度,仅绕Zw的Z轴旋转θ₁.Z₁被固定于联杆2,根据关节2的滑动自由度,5:在Σ:的Z轴方向平行移动。Z₃,∑4是固定于联杆3,4的坐标系。根据关节3,4的旋转自由度,进行角θg,θi的相对旋转运动,另外,∑;是被固定在手上的手部坐标系,在图5.2中,该坐标系可以看成是∑4仅在Z轴的负方向上平移距离d.其中d是根据加于手腕部的力传感器和手的尺寸而选的一个常数。

设手部坐标系∑上的点(xnsyh,万)在绝对坐标系∑中的表现坐标为(xwsyw,zm)。这二者的关系,若用齐次坐标形式中的坐标变换矩阵来表示,则为下式:

捕获.JPG

捕获.JPG

其中,szh,As分别是∑₁与∑,Z与Za,Z;与Z₄的原点之间的距离。这里θ₁,fθ₃,θ₄是臂的四个关节的旋转和滑动自由度的位移,并分别与伺服系统的控制量相对应。若整理上式,则有

捕获.JPG

这个式子表示从手部坐标系到绝对坐标系的坐标变换。因为手的位置能够用∑。中的x=yh一z-0代人,就可以求出手的位置X,Y,2.另外,上式中的坐标变换矩阵的前3×3子阵,表示∑。和∑。的回转。由此矩阵可知,w绕Z轴方向仅旋转θ₁+θ;+θ₁之后的结果。因此,手的姿势角α为θ₁+θ₃+θi.将以上内容归纳一下,有

X=l₂cos(θ₁+θ,)+l₁cosθ₁

Y-l₂sin(θ₁+θ₃)+l₁sinθ₁

Z一s2一d

a=θ+₃十θ

根据这个结果,就应该可以从假想臂的关节坐标值,计算出绝对坐标系中手的位置和姿势。

臂的解如果读取假想臂的四个关节位移的话,根据上式,就可以很容易地计算出手的位置和姿势。在控制机器人的场合,逆计算,即当作为目标的位置和姿势(X,Y,Z,c)被给出时,有必要求出为了实现这个目标的关节坐标(θ₁,s₂,θ₃,θ₄).理论上,将上述坐标变换的关系式着成是以关节坐标值为未知量的方程式,然后解出即可。这个求解过程就称之为臂的解。若臂的自由度增加,则根据坐标变换关系式用解析的方法求臂的解是困难的。另外,采用数值解法,收敛性很差,缺乏实用性。因此,一般在考虑几何学的关系之后,多采用一般化的方法直接求臂的解。本章在处理四个自由度的假想臂时,根据几何学的分析,臂的解很容易一般化。参照图5.3,根据△OE'w′的余弦定理,有

cosp₂一{+段一(X²+Y²)}/24₁22(5.4)

在对第三关节θ₃的旋转角没有限制时,β₂有两个解存在。θ₃的旋

捕获.JPG

转范围被限定在0≤6₃≤π时,B₂有唯一解。利用这个p2,有

θ₃—π一β2(5.5)

同理,根据余弦定理,对△OE'W',有

cosβ一{(X²+Y²)+群一}/{2l₁√X²+Y2}(5.6)根据此式,在上述限定范围内,β₁也被唯一确定。

另外,因为

β₁十θ₁=tan-¹(Y/X)

所以

θ₁一—β₁+tan-¹(Y/X)(5.7)

又,第二关节及第四关节的位移和角度,由图5.3有5=Z+d

0一一(θ₁+θ₃)(5.8)因为假想臂具有单纯的构造,所以臂的解也能由简单的式子给出,但在一般有六个自由度的臂中,则有必要进一步进行多少复杂一点的分析.特别是尽管各关节角设计在可能旋转的范围内,但实现相同位置、姿势的关节坐标不一定是唯一确定的,所以对解的斟酌和选择要充分注意。

操作手的伺服机构操作手是由多段连杆机构构成的。根据伺服机构对其各个关节位置的决定情况,控制装载在手臂尖端部的手和工具的位置和姿势。为了控制假想臂的各关节,我们假

捕获.JPG

定采用图5.4所示那样的直流电机驱动的伺服机构。D/A转换器的输出电流;经电流放大后加于电机,电机的输出转矩M基本上是与电枢电流i。成正比的,因此,如果电机被理想的电流放大器驱动,则电机的输出转矩为

M一k·i一·A·(5.9)

式中,k是电机的转矩系数,A是电流放大器的增益。

我们再考虑一下驱动系统的运动方程式。若设电枢与负载的惯性转矩为J.,J,输出轴的旋转角为θ,负载转矩为T,作用于齿轮上的切线为P,减速比为N,小齿轮的半径为r,则下式成立;

J·=M—P·r

J₁·mP·N·r一T₁(5.10)

θ。=N·θ

整理上式,则驱动系统的输入信号i和输出轴的旋转角θ的关系可用下式表示:

捕获.JPG

为了构成比例微分控制的位置伺服系统,使驱动系统的输入信号i等于由下式决定的反馈即可:

i=k(0,一θ)+k,(é,—6)(5.12)

这里,θ,是伺服机构的目标值,k,k.分别是与比例与微分有关的反馈增益,采用这种比例微分反馈的位置伺服机构的运动方程


式如下:

捕获.JPG

若无外力(T₁=0),则在稳定状态下,该伺服机构的位置偏差为0.若加入外力,则在稳定状态时,将产生与外力成正比的偏差(T₁/N²K₁)。这个伺服机构的特性,是根据与比例和微分系数相对应的两个参数K₁和K₂来调整的。伺服机构的刚性与固有角频率根据K,而变化。如果K₁选的小,则刚性下降,在较小的外力下,关节产生弹性弯曲。另一方面,固有角频率o=√K,/7变小,伺服机构的响应特性变坏。在决定了om之后,通过K,来调整伺服系统的衰减特性。衰减系数5=(K。+K₂)/2√JK,给出了伺服系统阻尼的大致指标,一般按ζ=0.8左右来调整K₂.

图5.4所示的同服系统,是由微型计算机的程序来实现上述反馈控制的。根据电位计所检测的输出轴的旋转角,经A/D转换,送进微型计算机。计算比例微分反馈的操作量,并将计算结果经D/A转换后,控制电机的驱动电流。

操作手的功能集作为控制操作手的基础,上面我们准备齐全了臂的坐标变换、臂的解伺服机构等,下面我们就来考虑一下,如何根据这些内容的组合,将它们归结为一个控制操作手的子系统。

如前所述,手的位置可用代表手的点(一般是手部坐标系的原点)在绝对坐标系中的X,Y,Z坐标来表示,姿势可用手部坐标系绕绝对坐标系中Z轴的旋转角x来表示。关于手的位置,姿势的目标值,我们可用加脚标》的X,Y,,Z,a,来表示。为了按照这个目标值控制手,首先有必要求出关于(X,Yr,Zr,a)的臂的解,关于臂的解法已被程式化。设对应于(X,Yr,Zr,ar)的关节坐标为(θr,sr,θr,θr),θ₁r,sr,θ₃r,θ即应为驱动臂的各个关节的位置伺服机构的目标值。在各关节的伺服机构中,通常以2毫秒左右的周期反复进行前边所述的反馈动作,并完成关节角值的跟踪目标值的控制。

在一般六自由度的臂中,因求臂的解,需要一定的计算时间,将这种计算包含在伺服系统的伺服周期内进行是困难的。因此,关于求解臂的计算,多数规划为如下形式,即伺服系统的目标值的计算和伺服系统动作的计算分别进行,后者以500Hz左右,前者以更长的周期进行反复计算、控制。但是,在本章中,根据下述三个理由,臂的解和伺服计算都在500Hz左右的伺服周期内一起进行而构成其控制系统,采取这种构造的理由如下:第一,如果臂的解能在伺服周期内进行计算,我们则可以考虑用绝对坐标系中的位置、姿势(X,Y,Z,n)这一抽象的表现来代表臂,从而在规划上级软件系统时,没有必要考虑分别依存于各个臂的关节坐标。再者,若仅仅用在绝对坐标系中的位置、姿势就可以处理操作手的动作的话,则如后面所述,传感器与实时的干扰动作程序可以完全描述。第二,对于复杂的臂,虽然在现在的微型计算机的运算速度之下,在伺服周期内,求臂的解尚属困难,但如果考虑到今后微电子技术的发展,则在不远的将来,运算速度的限制一定能得到解决。第三,对于在本章中所处理的假想臂的简单构造,按目前微型计算机的水平,实时计算是完全可能的。

在伺服周期内,同时进行臂的解与伺服计算时,其程序大致如下:

算法.5.1(臂的解与伺服计算)

[1].STEP[2]和STEP[3]根据500Hz左右的时间中断,反复执行。

[2]求臂的解,即由(Xr,Y,,Z,a)计算(0₁r,S₂r,θr,θ)。

[3]关于臂的4个关节,执行STEP[3.1]至[3.4].[3.1]根据A/D转换,读取关节角的0值。

[3.2]计算偏差c=θ,—θ,同时,按照过去数次的偏

差计算d.

[3.3]计算操作量i一无·十·&.

[3.4]将;值经D/A转换,然后再把操作信号送向电流放大器。

如果谈到手的控制,则有两种情况,即控制两指的张开幅度和控制手所产生的夹紧力。前者与上述的臂的位置伺服情况完全相同,而后者作为控制夹紧力的简单方法,可利用电机的驱动电流与

所产生的转矩成正比的关系,即若将与所指定的夹紧力相对应的.电流i经D/A转换后送经电流放大器,则指机构产生NkA:大小的转矩,将能保持住物体。在手的控制中,需要位置和力的两种控制方式。一般在伺服周期的开始点,根据指定控制方式的标志位,进行相应的位置与力的控制切换。

在臂的解和伺服计算同时进行的情况下,手的位置、姿势也可以看成是根据目标值进行的控制。因此,一般若参照给与臂的目标值数据的话,就可以知道手的位置与姿势的当前值。但是,在臂第一次动作时,或经过特殊控制之后,或产生错误时,也常常希望知道手的当前位置和姿势。因此,操作手子系统应该具备在读取关节坐标值的瞬间,计算手的当前位置、姿势的功能,下面概略地列出了这种计算步骤。

算法5.2(手的位置、姿势计算)

[1]根据A/D转换,读入臂的关节坐标值(0₁,s2,θg,θ₄)。

[2]根据(5.3)式,计算X,Y,Z,c.

整理上述内容,操作手控制系统的软件框图如图5.5所示。这个控制系统具备决定伺服周期用的固有时钟。按照这个时钟,例如;每隔2ms,就把设置在目标值寄存器的绝对坐标系中的目标值(X,,Y,Zr,a₂)变换成各关节的目标值(θ₁,5zr,θ₂n,θ),同时,起动关节伺服程序,移动臂;即每隔2ms,反复进行这个计算,进行让臂的状态与目标值寄存器的值一致的反馈控制。因此,用这个控制系统移动臂时,只要把绝对坐标系中的位置与姿势的目标值设定到目标值寄存器中去即可。同样,手的伺服也是根据时钟,自动地按一定周期反复进行控制。再有,在手的伺服系统中,控制指的张开幅度的位置控制方式,与控制夹紧力的力控制方式之间的切换是需要的.

作为操作手控制的基本功能集,进行如下5类定义就够了。

put-arm-reference(X,,Y,,Z,c)移动臂、让手的位置,姿势在绝对坐标系中,运动到X,Y,,Z,,a.若执行这个功能,则变量Xr,Y,,Zr,α,的值就被设置到图5.5

捕获.JPG

的目标值寄存器中,这个被设定的目标值,根据由控制系统的时钟所启动的程序,被变换为各关节的目标值,反复进行伺服动作,直到把臂移动到指定的位置和姿势.

get-arm-position(X,Y,Z,a)读取臂的各关节值,计算与其关节坐标相应的手的位置和姿势,把结果返回到变量X,Y,Z,α.

put-hand-opening(W,)将指的张开幅度W,设置到目标值寄存器中,把手的伺服切换成位置控制方式。

put-grasp-force(F,)将夹紧力(F,)的值设置到目标值

寄存器中,把手的伺服切换成力控制方式。

get-hand-opening(W)读取指的张开幅度,送到变量W。

控制假想机器人的操作手的命令被归结为上述5种功能。如后所述,根据这些功能的种种组合,可以编成操作手的多种动作的程序。



随便看看