CS運動到達時提前觸發信號
1. 簡介
EC機器人在運動指令中有TRIGGER指令,可以在到達點位前滿足距離或時間的條件觸發IO狀態。
在CS機器人指令中就沒有這個指令,我們就可通過本文方式實現通過距離判斷提前觸發IO狀態
2. 操作流程
1、樹狀圖中編寫
程序具體實現如下:
flag_1:標志位,是用于控制僅 路點_1到路點_2過程中滿足條件才觸發,其他位置接近路點_2不觸發
路點2添加Until的已到達路點模式會保證一定準確到達路點,在到達路點后添加一個動作,標志位置0,保證其他位置不會觸發事件
事件:事件中判斷標志位為0,判斷兩個工具之間的距離<設定的距離,兩個都為True時觸發事件中的程序,設置IO信號
point_dist()計算直線距離,不考慮位姿
也可使用pose_dist(),計算距離時考慮位姿
2、腳本編寫方式
腳本如下:
#P:需提前觸發信號路點
#L:觸發距離,單位為m
#O:觸發輸出,填寫輸出信號0-15
def trigger(P,L,O):
global flag
if flag==1:
pose1=get_actual_tcp_pose()
l1=point_dist(P,pose1)
if l1<l:< p="" style="box-sizing: border-box;">
set_standard_digital_out(O,False)
flag=0
程序中使用腳本,要現在全局變量中創建一個變量flag,
在線程中調用函數,分別填入(標志位變量,需提前觸發路點,觸發距離,觸發輸出信號0-15)