返回首頁 hi, 歡迎來到機器人在線 請登錄/ 免費注冊 訂閱郵件
有疑問,咨詢在線客服

【ABB】ABB機器人如何計算直線上到某點指定距離的點位及平移指令

時間:2020-08-06 來源:上海ABB工程有限公司 閱讀:6271

(一)ABB機器人如何計算直線上到某點指定距離的點位

1. 已知點Curr和點Refer,點Curr和點Refer構成直線,方向由Curr指向Refer

2. 要求Result點距離Curr為指定距離,且Result在直線Curr_Refer上,如何計算Result點位置

3.? 可以計算Curr到Refer的距離,根據要求的Result到Curr的距離和Curr到Refer距離的倍率,計算Result的位置

4. 代碼如下:


FUNC robtarget GetTracePoint(robtarget Current,robtarget Refer,num Dist)

? ? ? ? !line direction: Current to Refer

? ? ? ? !Dist: distance between Current and Return position

? ? ? ? VAR num dis_tmp;

? ? ? ? VAR num dx;

? ? ? ? VAR num dy;

? ? ? ? VAR num dz;

? ? ? ? VAR num ratio;

? ? ? ? VAR robtarget pResult:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];


? ? ? ? pResult:=Current;

? ? ? ? dx:=Refer.trans.x-Current.trans.x;

? ? ? ? dy:=Refer.trans.y-Current.trans.y;

? ? ? ? dz:=Refer.trans.z-Current.trans.z;


? ? ? ? dis_tmp:=distance(Current.trans,Refer.trans);

? ? ? ? ratio:=Dist/dis_tmp;

? ? ? ? pResult.trans.x:=Current.trans.x+ratio*dx;

? ? ? ? pResult.trans.y:=Current.trans.y+ratio*dy;

? ? ? ? pResult.trans.z:=Current.trans.z+ratio*dz;

? ? ? ? RETURN pResult;


? ? endfunc


(二)ABB機器人平移指令

1、現場機器人在wobj0下有軌跡path_0,現在希望實際運行的時候,軌跡能整體沿著wobj0的x和y方向各偏移30mm,如何最快速實現?


2. 安川機器人有平移指令SFTON,使用如下:

SFTON P003 RF

//基于機器人坐標系平移p003,p003中設置平移的xyz數值

//以下軌跡均基于RF平移p003

MOVL V=290.0

MOVL V=290.0

MOVL V=290.0

SFTOF

//關閉平移


3. 對應ABB機器人RAPID指令為:PDISPSET pose100,其中pose100為pose類型數據,包括trans(xyz)和rot(q1-q4)。Pdispset的偏移和旋轉均基于當前使用坐標系,即對于當前坐標系的右乘。

?VAR posepose500:=[[0,0,0],[1,0,0,0]];

?PROC main()

? ? ? ? path_t1;

? ? ? ? !原始軌跡

? ? ? ? pose500.trans:=[30,30,0];

? ? ? ? !設置pose500數據的xyz

? ? ? ? PDispSet pose500;

? ? ? ? !以下軌跡基于當前軌跡使用的坐標系偏移pose500

? ? ? ? path_t1;

? ? ? ?PDispOff;

? ? ? ?!關閉偏移

? ENDPROC

? PROC path_t1()

? ? ? ? reg1:=100;

? ? ? ? MoveLp500,v100,fine,tWeldGun\WObj:=wobj0;

? ? ? ? MoveLoffs(p500,reg1,0,0),v100,fine,tWeldGun\WObj:=wobj0;

? ? ? ? MoveLoffs(p500,reg1,reg1,0),v100,fine,tWeldGun\WObj:=wobj0;

? ? ? ? MoveLoffs(p500,0,reg1,0),v100,fine,tWeldGun\WObj:=wobj0;

? ? ? ? MoveLp500,v100,fine,tWeldGun\WObj:=wobj0;

ENDPROC

? ?

4. 若機器人軌跡參考wobj1,wobj1不與wobj0平行,則使用pdispset后,軌跡偏移如下圖,即偏移參考wobj1的方向。

好的文章,需要您的鼓勵

9

  • 最新文章
  • 精品案例
  • 現貨產品
延伸閱讀 熱門要聞

青海排五开奖结果