KRL运动编程指令语法总结
KRL是“KUKA Robot Language”的縮寫。KUKA機器人編程語言是一種類Python的高級編程語言,編程方式靈活多樣,語句指令功能強大,本文對其運動編程的指令及含義進行簡要歸納總結如下:在實際編程中,語句不區分大小寫。
KRL中用于表示、記錄、存儲機器人空間位置的特定變量,其類型為結構體Structure,有如下幾類:
(1)AXIS { A1, A2, A3, A4, A5, A6 } ,用于存儲機器人6根軸的軸角度數據。
(2)E6AXIS?{ A1, A2,?A3, A4, A5,?A6,E1, E2, E3, E4, E5, E6},用于存儲機器人6根軸和6個外部軸的軸角度數據。
(3)POS {X, Y, Z, A, B, C, S, T },用于存儲機器人的TOOL(工具坐標)相對于BASE(工件坐標系)或世界坐標系(WORLD)的笛卡爾三維坐標值及分別繞三維旋轉的角度值;S即Status,T即Turn,這兩個參數用來規避奇異點,確保機器人空間坐標對應軸坐標的唯一性。
(4)E6POS?{X, Y, Z,?A, B, C,?S, T,E1, E2, E3, E4, E5, E6},上述POS結構體增加6根外部軸的角度位置。
(5)FRAME?{X, Y, Z, A, B, C},用于存儲機器人的TOOL(工具坐標)相對于BASE(工件坐標系)或世界坐標系(WORLD)的笛卡爾三維坐標值及分別繞三維旋轉的角度值。
說明:機器人程序中示教的路徑點都是以E6POS結構體保存,機器人的起始點HOME是以E6AXIS結構體保存,工具坐標、工件坐標都是以FRAME結構體保存。
一、SPTP-軸運動指令:
SPTP是"Spline Point to Point"的縮寫即“樣條點到點運動”。SPTP是機器人軸運動即關節型運動,特點是運動軌跡非線性、路徑由機器人自主決定、節拍速度通常最快,適用于無特定軌跡要求、空間中位移等場合。
SPTP指令可以定義并使用的結構體類型有:AXIS,E6AXIS,POS,E6POS,FRAME
1、sptp xp1 with $tool=tool_data[1],$base=base_data[1]??;xp1 機器人程序中示教保存的第一個路徑點,存儲在DAT數據列表中的名稱為"XP1"
2、sptp {a1 0,a2 -90,a3 90,a4 0,a5 0,a6 0}??;讓機器人的6根軸回到零點位置。
sptp {a2 -45}? ? ? ?;僅讓機器人的A2軸運動到-45度的位置。
說明:tool和base在運動前初始化或在運動指令中給定,針對E6POS,POS類型位置。
$tool=tool_data[1]? ?;指定當前工具為1號工具;(工具號:1-16)
$base=base_data[1]? ;指定當前工件為1號工件;(工件號:1-32)
sptp {x 100,y -100,z 200,a 0,b 0,c 0}
sptp {x 1000}
3、逼近點設置
sptp xp1 ?c_spl ?;c_spl代表xp1是一個逼近點,非精確到達的點,舊的PTP指令用c_dis代表逼近點(ptp xp1??c_dis)。
二、SLIN-直線運動指令
SLIN指令可以定義并使用的結構體類型有:E6POS,POS,FRAME
例:slin xp1 with $tool=tool_data[1],$base=base_data[1],$vel.cp=0.5,$jerk={cp 50} c_spl
slin {x 100} with …….
三、SCIRC-圓弧運動指令
SCIRC指令可以定義并使用的結構體類型有:E6POS,POS,FRAME
例:
1、scirc xp7,xp8 c_spl with …. ??;xp7是圓弧的輔助點,xp8是圓弧的目標點,
scirc xp7,xp8, ca 360 with …. ??; ca 用來定義圓弧的圓心角,360度代表運動一周。
2、scirc {x 100,y 300} , {x 200,y 280} with…
?? Scirc?{x 100,y 300} , {x 200,y 280},ca 180 with…
四、運動參數初始化的指令:
1、$tool=tool_data[1]? ? ? ;指定當前工具是1號工具
?? $load=load_data[1]? ? ? ;指定當前工具負載是1號工具負載
2、$base=base_data[1]? ?;指定當前工件是1號工件
3、$ipo_mode=#base,#tcp ??;指定機器人運動模式
4、axis velocity ?? ? ;指定機器人6根軸的移動速度
? ?for n=1 to 6
????? $vel_axis[n]=100? ? ;100%全速移動
? ?endfor
?? cp velocity ?? ;指定機器人軌跡移動速度
?? $vel.cp=3 (max.3m/s)? ? ;指定機器人工具TCP當前的軌跡移動速度為3米/秒
?? $vel.ori1= 100 (A,B)? ?;指定機器人工具繞Y、Z軸旋轉的角速度為100度/秒
?? $vel.ori2=100 (C)? ? ;指定機器人工具繞X軸(工具作業方向)旋轉的角速度為100度/秒
5、$acc_axis[1]=100? ??;指定機器人A1軸加速度為100%
???? $acc.cp=100? ?;指定機器人TCP軌跡加速度為100%
????$acc.ori1=150? ?;指定機器人工具繞Y、Z軸旋轉加速度
????$acc.ori2=200? ? ;指定機器人工具繞X軸(工具作業方向)旋轉加速度
6、$apo.cdis=100?? c_spl?(c_dis)? ?;指定機器人軌跡逼近距離為100mm
?? $apo.cvel=100?? c_vel??;指定機器人速度逼近
??$apo.cori=50? ? c_ori ??;指定機器人姿態角逼近
? ?說明:CP運動要設置以上參數,可指定其中一種即可,最常用的是距離逼近?c_dis
7、CP-PTP,也需要指定以上參數中的一種。
純PTP的逼近: c_ptp, $apo.cptp=100,軸運動的路點逼近
ptp ?xp1 c_ptp
ptp xp2 c_ptp
ptp xp3 c_ptp
ptp xp4 c_ptp
四、相對運動指令:
sptp_rel ??;PTP相對運動指令
slin_rel ?? ;LIN相對運動指令
slin_rel {x 100} #base?(默認相對工件坐標,可省略)
slin_rel {x 100} #tool?(相對工具坐標,沿工具作業方向X+移動100,須做工具標定)
scirc_rel? ??;CIRC相對運動指令
總結
以上是生活随笔為你收集整理的KRL运动编程指令语法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python - 删除文件、文件夹
- 下一篇: 有关电阻的小知识