动作轨道的控制

我们考虑一下机器人的手沿着作业空间内设定的折线轨道进行运动的情况,首先,用直线将作业空间内的2点联接,为了沿该

轨道运动,我们来考虑目标值插补法。设C点(x.,ya,6,α)为机器人的当前位置和姿势,R点(xr,yr,zr,a₂)为移动目标的位置和姿势,若机器人的移动速度为v,则用v除C点到R点的距离,即可决定两点间移动所需时间。所需时间是N·T。(T。为单位时间)时,每个单位时间T。的位置-姿势的增量为:

dx一〔x,一x.〕/N,dy=(y,—ye)/N,dz=(z,一z₆)/N,d=(a,—α₅)[N

因此,只要每隔T₀,将x,y,z,α的目标值分别增加dx,dy,dz,

dr执行put-arm+reference这个功能即可,即如果以PASCAL语言的形式写出进行这个直线移动的程序的话,则如下所示:

procetmova-dlreet(xr3y,s;,a,)

begin

《计算N,dx,dy,dt,da}

fort:=1toNdobegim

r:=+dx;yg:=y.+dy;=#+dz;αe:=α+da;

atartJOput-arm-reference(x₆>yesa₆);

delay(T₀);end;

end;

图5.19表示,假定在C点抓住物体,让其向F点移动的代表轨道例.在抬起物体时,从C点到D点,不改变它的姿势垂直抬起。另外,在从A点到台面的近旁,放下物体时,不改变其姿势与改变其姿势相比,与其它物体碰撞的可能性要小.一般我们称D点为偏离点,A点为接近点。设在F点上的位置-姿势为(r,y,z,cf),

偏离点距离与接近点距离为h,h,实现图5.19的轨道程序如下:

proceismove-deproach(xj,yis老,a);

begin

moye-disect(#65yes不a十青,α);

moye-direct(xjs

move-direct(x₁send;

y,zj+h,αj);y₂j,α);


捕获.JPG


随便看看