TriggerMode (FMR#) 屬性
應用項目
力覺動作限制物件FMR#
註解
設定或傳回力覺動作限制的監控對象。
立即執行
否
用途
FGet Object.TriggerMode, iVar
FSet Object.TriggerMode, iValue
Object
物件名稱
物件指定為FMR(數值)或FMR(標籤)。iVar
定義屬性值的整數變數iValue
定義屬性新數值的整數或公式
數值
iValue
常數名稱 | 數值 | 說明 |
---|---|---|
FG_ABS_COORD_SYS | 0 | 以RobotLocal屬性中選擇的基礎或本地座標系為基準,監控目前的位置姿態。 |
FG_REL_COORD_SYS | 1 | 以RobotLocal屬性中選擇的基礎或本地座標系為基準,監控從開始監控時位置姿態到目前位置姿態為止的移動量。 |
FG_REL_TOOL | 2 | 監控從開始監控時工具座標系到目前位置姿態為止的移動量。 |
FG_REL_POINT | 3 | 監控從DatumPoint中指定位置到目前位置姿態為止的移動量。 |
FG_FRC_CORRECTION | 4 | 監控力控制功能的修正量。 |
FG_ABS_JOINT | 5 | 監控各關節角度。 |
FG_REL_JOINT | 6 | 監控從開始監控時各關節角度算起的關節旋轉量。 |
詳細說明
設定或傳回力覺動作限制的監控對象。
- FG_ABS_COORD_SYS
監控對象為從RobotLocal屬性中指定基礎或本地座標系所見的目前位置姿態。LowerLevel與UpperLevel將被固定為RobotLocal中指定本地座標系上的數值,因此從外部所見的限制範圍不會隨著開始監控時的機器人位置姿態而改變。使用於無論動作起始點在何處,都要將條件設為需隨時在某個範圍內,或隨時超出該範圍的情況。
位置是透過作為基準的基礎或本地座標系上的目前X、Y、Z來判定。指定X為指定軸時,如下圖,將判定本地座標系上的X方向位置。
姿態則是透過作為基準的基礎或本地座標系與工具座標系Rot_Axes屬性中指定的軸(X, Y, Z)所形成角度,或任一軸的旋轉量兩者其中之一來判定。指定X為指定軸時,如下圖,將判定基準座標系的X與目前工具座標系X軸所形成的角度。
- FG_REL_COORD_SYS
針對開始監控時與目前的工具位置姿態,以RobotLocal屬性中指定的基礎或本地座標系上相對移動量為監控對象。LowerLevel與UpperLevel是以起始點為基準進行設定,因此從外部所見的限制範圍會隨著開始監控時的機器人位置姿態而改變。使用於透過Vision系統或力覺觸發功能來計算起始點等動作或監控起始點會改變的情況下,偵測在某個本地座標系上,是否往指定方向移動了指定距離以上。
位置是透過作為基準的基礎或本地座標系上,從開始監控時到目前位置的X、Y、Z移動量來判定。指定X為指定軸時,如下圖,將判定本地座標系上的X方向移動量。
姿態則是透過開始監控時與目前工具座標系上Rot_Axes屬性中指定的軸(X, Y, Z)所形成角度,或任一軸的旋轉量兩者其中之一來判定。指定X為指定軸時,如下圖,將判定開始時X軸與目前X軸所形成的角度。
- FG_REL_TOOL
監控對象為開始監控時工具座標系到目前位置為止的相對移動量。LowerLevel與UpperLevel是以起始點為基準進行設定,因此從外部所見的限制範圍會隨著開始監控時的機器人位置姿態而改變。使用於透過Vision系統或力覺觸發功能來計算起始點等動作或監控起始點會改變的情況下,偵測開始時的工具座標系上,是否往指定方向移動了指定距離以上。
位置是透過開始監控時的工具座標系上,從開始監控時到目前位置的X、Y、Z移動量來判定。指定X為指定軸時,如下圖,將判定開始時工具座標系上的X方向移動量。
姿態則是透過開始監控時與目前工具座標系上Rot_Axes屬性中指定的軸(X, Y, Z)所形成角度,或任一軸的旋轉量兩者其中之一來判定。指定X為指定軸時,如下圖,將判定開始時X軸與目前X軸所形成的角度。
- FG_REL_POINT
監控對象為從DatumPoint屬性中指定的端點資料所見,到目前位置為止的相對移動量。LowerLevel與UpperLevel是以指定的端點資料為基準進行設定,因此從外部所見的限制範圍不會隨著開始監控時的機器人位置姿態而改變。但是,若在開始動作前更新端點資料,便可依每個動作實施以起始點為基準的監控。FG_REL_COORD_SYS與FG_REL_TOOL可依據開始時的位置來改變監控範圍,但若是如以下編程對多個動作命令指定監控用的Till時,將依各個動作命令執行監控。因此,在執行多個動作命令期間,舉例而言,就無法以第1個動作起始點為基準來監控位置。
Move P1 FC1 Till FMR1 Move P2 FC1 Till FMR1
該情況下請使用FG_REL_POINT,在第1個動作之前,將動作起始點儲存在DatumPoint屬性中指定的端點。
P1 = Here Move P1 FC1 Till FMR1 Move P2 FC1 Till FMR1
使用於透過Vision系統或力覺觸發功能來計算起始點等動作或監控起始點會改變的情況下,進一步在多個動作之間,監控從某個位置算起的移動量。另外,也可使用於單一個動作命令,並且以偏移了起始點的位置為基準進行監控。
位置是透過從對DatumPoint指定的端點資料到目前位置的X、Y、Z移動量來判定。指定X為指定軸時,如下圖,將判定指定端點座標系上的X方向移動量。
姿態則是透過對DatumPoint指定端點資料與目前工具座標系上Rot_Axes屬性中指定的軸(X, Y, Z)所形成角度,或任一軸的旋轉量兩者其中之一來判定。指定X為指定軸時,如下圖,將判定指定端點資料X軸與目前X軸所形成的角度。
- FG_FRC_CORRECTION
監控對象為力控制功能的修正量。修正量是指在力覺座標系上,原始動作命令嘗試移動的虛擬命令位置(RefPos)與包含力控制功能修正的命令位置之間的差異。力覺座標系取決於力覺控制物件(FC)的CoordinateSystem屬性中指定的力覺座標系物件(FCS)。可偵測出力控制功能的修正是否偏離假設範圍。
位置是以X、Y、Z判定力覺座標系的Fx、Fy、Fz方向修正量。指定X為指定軸時,如下圖,將判定Fx方向的移動量。
姿態則是透過RefPos與CurPos的Rot_Axes屬性中指定的軸(X, Y, Z)所形成角度,或任一軸的旋轉量兩者其中之一來判定。指定X為指定軸時,如下圖,將判定RefPos的X軸與CurPos的X軸所形成角度。
- FG_ABS_JOINT
監控對象為各關節的目前關節位置。LowerLevel與UpperLevel將被固定於機器人的關節位置,因此從外部所見的限制範圍不會隨著開始監控時的機器人位置姿態而改變。使用於無論動作起始點在何處,都要將條件設為需隨時在某個範圍內,或隨時超出該範圍的情況。
- FG_REL_JOINT
針對各關節,以開始監控時位置到目前關節位置為止的移動量為監控對象。LowerLevel與UpperLevel是以開始監控位置為基準進行設定,因此從外部所見的限制範圍會隨著開始監控時的機器人位置姿態而改變。使用於透過Vision系統或力覺觸發功能來計算起始點等動作或監控起始點會改變的情況下,偵測指定的關節是否從開始時移動了指定角度以上。
使用範例
此為指定FG_ABS_COORD_SYS後,在基礎座標系上啟用力控制功能同時移動至Z位置在100[mm]以下的範例。
Function ABS_COORD_SYS_Test
Motor On
Go Here :Z(150) ' 移動至Z=150[mm]作為初始位置
FSet FCS1.Orientation, FG_BASE ' 設定力覺座標資料
FSet FC1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FC1.Fz_Spring, 0 ' 設定Fz虛擬彈性係數
FSet FC1.Fz_Damper, 1 ' 設定Fz虛擬阻尼係數
FSet FC1.Fz_Mass, 10 ' 設定Fz虛擬慣性係數
FSet FC1.Fz_Enabled, True ' 設定Fz力控制功能為啟用
FSet FMR1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FMR1.TriggerMode, FG_ABS_COORD_SYS
' 設定為監控指定座標系上的位置
FSet FMR1.RobotLocal, 0 ' 設定0(基礎)作為位置的座標系
FSet FMR1.PosZ_Enable, True ' 啟用Z方向的監控
FSet FMR1.PosZ_Levels, -100, 100 ' 將Z方向的範圍設定為-100~100[mm]
FSet FMR1.PosZ_Polarity, FG_IN ' 設定達成條件為需在範圍內
Move Here -Z(100) FC1 Till FMR1
' 透過Till監控結束條件,同時執行啟用了力控制功能的Move動作
Fend
此為指定FG_REL_COORD_SYS後,在本地1座標系上啟用力控制功能同時往本地1的Z位置移動±100[mm]以上便停止的範例。範例中雖未記載,但每個動作的起始點預計會依Vision系統偵測等因素而改變。
Function REL_COORD_SYS_Test
Motor On
FSet FCS1.Orientation, FG_LOOCAL, 1 ' 設定力覺座標資料
FSet FC1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FC1.Fz_Spring, 0 ' 設定Fz虛擬彈性係數
FSet FC1.Fz_Damper, 1 ' 設定Fz虛擬阻尼係數
FSet FC1.Fz_Mass, 10 ' 設定Fz虛擬慣性係數
FSet FC1.Fz_Enabled, True ' 設定Fz力控制功能為啟用
FSet FMR1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FMR1.TriggerMode, FG_REL_COORD_SYS
' 設定為監控指定座標系上的移動量
FSet FMR1.RobotLocal, 1 ' 設定本地1作為位置的座標系
FSet FMR1.PosZ_Enable, True ' 啟用Z方向的監控
FSet FMR1.PosZ_Levels, -100, 100 ' 將Z方向的範圍設定為-100~100[mm]
FSet FMR1.PosZ_Polarity, FG_OUT ' 設定達成條件為需超出範圍
Move P0 FC1 Till FMR1
' 透過Till監控結束條件,同時執行啟用了力控制功能的Move動作
Fend
此為指定FG_REL_TOOL後,啟用力控制功能同時往開始時工具座標系Z方向移動+100[mm]以上便停止的範例。範例中雖未記載,但每個動作的起始點預計會依Vision系統偵測等因素而改變。
Function REL_TOOL_Test
Motor On
FSet FCS1.Orientation, FG_TOOL ' 設定力覺座標資料
FSet FC1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FC1.Fz_Spring, 0 ' 設定Fz虛擬彈性係數
FSet FC1.Fz_Damper, 1 ' 設定Fz虛擬阻尼係數
FSet FC1.Fz_Mass, 10 ' 設定Fz虛擬慣性係數
FSet FC1.Fz_Enabled, True ' 設定Fz力控制功能為啟用
FSet FMR1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FMR1.TriggerMode, FG_REL_TOOL
' 設定為監控工具座標系上的移動量
FSet FMR1.PosZ_Enable, True ' 啟用Z方向的監控
FSet FMR1.PosZ_Levels, 100, 200 ' 將Z方向的範圍設定為100~200[mm]
FSet FMR1.PosZ_Polarity, FG_IN ' 設定達成條件為需在範圍內
Move Here +TLZ(200) FC1 Till FMR1
' 透過Till監控結束條件,同時執行啟用了力控制功能的Move動作
Fend
此為指定FG_REL_POINT後,以開始時的位置為基準,在執行多個啟用了力控制功能的動作命令期間,往第1個命令開始時工具座標系Z方向移動±100[mm]以上便停止的範例。範例中雖未記載,但每個動作的各端點預計會依Vision系統偵測等因素而改變。
Function REL_POINT_Test
Motor On
Go P1 ' 移動至P1作為初始位置
FSet FCS1.Orientation, FG_TOOL ' 設定力覺座標資料
FSet FC1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FC1.Fz_Spring, 0 ' 設定Fz虛擬彈性係數
FSet FC1.Fz_Damper, 1 ' 設定Fz虛擬阻尼係數
FSet FC1.Fz_Mass, 10 ' 設定Fz虛擬慣性係數
FSet FC1.Fz_Enabled, True ' 設定Fz力控制功能為啟用
FSet FMR1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FMR1.TriggerMode, FG_REL_POINT
' 設定為監控從端點算起的移動量
FSet FMR1.DatumPoint, P1 ' 設定P1作為基準位置
FSet FMR1.PosZ_Enable, True ' 啟用Z方向的監控
FSet FMR1.PosZ_Levels, -100, 100 ' 將Z方向的範圍設定為-100~100[mm]
FSet FMR1.PosZ_Polarity, FG_OUT ' 設定達成條件為需超出範圍
Move P2 FC1 Till FMR1
Move P3 FC1 Till FMR1
Move P4 FC1 Till FMR1
' 透過Till監控結束條件,同時執行啟用了力控制功能的Move動作
Fend
此為指定FG_FRC_CORRECTION後,在執行多個啟用了力控制功能的動作命令期間,往Fz方向移動±100[mm]以上便停止的範例。
Function FRC_CORRECTION_Test
Motor On
Go P1 ' 移動至P1作為初始位置
FSet FCS1.Orientation, FG_TOOL ' 設定力覺座標資料
FSet FC1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FC1.Fz_Spring, 0 ' 設定Fz虛擬彈性係數
FSet FC1.Fz_Damper, 1 ' 設定Fz虛擬阻尼係數
FSet FC1.Fz_Mass, 10 ' 設定Fz虛擬慣性係數
FSet FC1.Fz_Enabled, True ' 設定Fz力控制功能為啟用
FSet FMR1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FMR1.TriggerMode, FG_FRC_CORRECTION
' 設定為監控力控制修正量
FSet FMR1.PosZ_Enable, True ' 啟用Z方向的監控
FSet FMR1.PosZ_Levels, -100, 100 ' 將Z方向的範圍設定為-100~100[mm]
FSet FMR1.PosZ_Polarity, FG_OUT ' 設定達成條件為需超出範圍
Move P2 FC1 Till FMR1
Move P3 FC1 Till FMR1
Move P4 FC1 Till FMR1
' 透過Till監控結束條件,同時執行啟用了力控制功能的Move動作
Fend
此為指定FG_ABS_JOINT後,在執行多個啟用了力控制功能的動作命令期間,J5移動-5[deg]以上便停止的範例。
Function ABS_JOINT_Test
Motor On
Go JA(0, 0, 0, 0, -90, 0) ' 將J5移動至-90[deg]作為初始位置
FSet FCS1.Orientation, FG_TOOL ' 設定力覺座標資料
FSet FC1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FC1.Fz_Spring, 0 ' 設定Fz虛擬彈性係數
FSet FC1.Fz_Damper, 1 ' 設定Fz虛擬阻尼係數
FSet FC1.Fz_Mass, 10 ' 設定Fz虛擬慣性係數
FSet FC1.Fz_Enabled, True ' 設定Fz力控制功能為啟用
FSet FMR1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FMR1.TriggerMode, FG_ABS_JOINT ' 設定為監控關節位置
FSet FMR1.J5_Enable, True ' 啟用J5的監控
FSet FMR1.J5_Levels, -5, 100 ' 將J5的範圍設定為-5~100[mm]
FSet FMR1.J5_Polarity, FG_IN ' 設定達成條件為需在範圍內
Move P1 FC1 Till FMR1
' 透過Till監控結束條件,同時執行啟用了力控制功能的Move動作
Fend
此為指定FG_REL_JOINT後,在執行多個啟用了力控制功能的動作命令期間,J5移動±30[deg]以上便停止的範例。範例中雖未記載,但每個動作的起始點預計會依Vision系統偵測等因素而改變。
Function FG_REL_JOINT_Test
Motor On
FSet FCS1.Orientation, FG_TOOL ' 設定力覺座標資料
FSet FC1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FC1.Fz_Spring, 0 ' 設定Fz虛擬彈性係數
FSet FC1.Fz_Damper, 1 ' 設定Fz虛擬阻尼係數
FSet FC1.Fz_Mass, 10 ' 設定Fz虛擬慣性係數
FSet FC1.Fz_Enabled, True ' 設定Fz力控制功能為啟用
FSet FMR1.CoordinateSystem, FCS1 ' 指定力覺座標資料
FSet FMR1.TriggerMode, FG_REL_JOINT ' 設定為監控關節移動量
FSet FMR1.J5_Enable, True ' 啟用J5的監控
FSet FMR1.J5_Levels, -30, 30 ' 將J5的範圍設定為-5~100[mm]
FSet FMR1.J5_Polarity, FG_IN ' 設定達成條件為需在範圍內
Move P2 FC1 Till FMR1
' 透過Till監控結束條件,同時執行啟用了力控制功能的Move動作
Fend
參考
DatumPoint屬性、RefPos、RobotLocal屬性、力覺動作限制物件FMR#