Move陳述式

註解
在啟動力控制功能時,執行線性插補動作。

用途
Move P# [FC#] [ROT] [CF] [CP] [Till | Find] [!平行處理!] [SYNC]

  • P#
    指定定義動作目標位置的端點資料。

  • FC#
    指定力覺控制物件。

  • CF
    繼續執行力控制功能。可忽略。

詳細說明
將力覺控制物件當成參數新增到一般Move命令後,將在力控制啟動時執行Move動作。在相同路徑中的執行個體,無須當成完全相同的命令追蹤,因為路徑會依動作期間的作用力而變更,且動作可能會在不同於目標位置處停止。

力控制功能會依力覺控制物件的各屬性運算。在確認力覺控制物件的各屬性後執行。

在力控制功能運算期間,力覺控制物件的速度及加速受到LimitSpeed和LimitAccel的限制。如需所有屬性的詳細資訊,請參閱適當項目。

在新增CF參數後,可繼續執行力控制功能直到下次動作。新增後,機器人會如平常一樣在完成Move動作後繼續下個陳述式,不過機器人仍會在力控制功能啟動時持續作動。另外,當新增CP參數後,您必須新增CF參數。新增CP參數時,持續執行的力控制功能會伴隨正常的路徑動作。

此外,因CF參數含有下列修改力覺控制物件的限制,所以會接續力控制。

屬性名稱 前置動作參數 後置動作參數 建議修改?
Enabled False True OK
True False NG
LimitAccel OK
NG
LimitSpeed OK
NG
TargetForcePriorityMode False True NG
True False NG
CoordinateSystem FCSX FCSX OK
FCSX FCSY NG

此外,當新增CF參數時,之後無法立即執行正常動作。想要在啟動力控制功能後執行正常動作命令,則不新增CF參數或執行FCEnd陳述式停用力控制功能。
透過與一般動作相同的方式,在新增Till辨識符號時,可透過特定條件終止移動。如需Till辨識符號的詳細資訊,請參閱下列手冊及Force Trigger Object章節。
"Epson RC+ 8.0 SPEL+ Language Reference" Till
當力控制正在運作時,Till將在停止正常動作後,導致力控制功能降低速度。另外,當新增CF參數時可停止動作命令,但力控制功能仍會繼續。想要停止力控制功能時,不要新增CF參數,或執行FCEnd 陳述式。

在力控制運作的同時暫停動作時,無法重新啟動力控制功能。在完成目前動作後,執行下一個動作。
當力控制功能運作時,無法使用下列命令。在執行FCEnd陳述式並結束力控制功能後,執行下列命令。

Arm

ArmClr

ArmSet

Base

Brake

Calib

CP

ECP

ECPClr

ECPSet

Elbow

Encreset

Hand

Here

Home

J1Angle

J1Flag

J2Flag

J4Flag

J6Flag

Local

LocalClr

Mcal

Motor

Power

PTPTime

SFree

TLClr

TLSet

Tool

WaitPos

Where

Wrist

如為SCARA機器人(包括RS系列),無法在下列情形下無視由FC物件引用的FCS物件設定執行力控制功能。

  • 當基礎座標系的V或W參數,或選擇的工具座標系非0時。
  • FC物件的Tx_Enabled或Ty_Enabled屬性為True時。

為FC物件引用的FCS物件Orientation屬性指定本地座標系時,無法在下列情形下執行力控制功能。

  • 當由FCS物件引用含編號本地座標系的V或W參數非0時。

為FC物件引用的FCS物件Orientation屬性指定自訂座標系時,無法在下列情形下執行力控制功能。

  • Orientation屬性的V或W參數非0時。

無法在非SCARA(包括RS系列)及6軸機器人(包括N系列),執行力控制功能。

力控制及軌道


  • 搭配FC使用Move

未新增CF參數及CP參數時,每次完成動作命令都將定位機器人。在後續命令中,將會規劃目前位置到目標位置的軌道。
下圖顯示執行下列程式時的動作軌道。

Move P1 FC1  
Move P2 FC1  

画像
在第一個Move中,已規劃出初始位置P0至目標位置P1的軌道(虛線),接著機器人將開始動作。
此時,因力控制會修正路徑,所以機器人移至P1’。(實線)
機器人固定在P1’位置,然後停止。
第二個Move中是規劃P1’(機器人固定位置)到P2的軌道(虛線),但因力控制如第一個Move一樣會修正路徑,所以機器人移至P2’。(實線)

  • 搭配FC和Till使用Move

下圖顯示執行下列使用Till程式時的動作軌道。

Move P1 FC1 Till  
Move P2 FC1  

画像
在第一個Move中,已規劃出初始位置P0至目標位置P1的軌道(虛線),接著機器人將開始動作。
此時,因力控制會修正路徑,所以機器人移至P1’。(實線)
若動作期間符合Till條件,規劃軌道的P1’’停止,而力控制會修正路徑,所以機器人停止並定位於P1’。
第二個Move中是規劃P1’(機器人固定位置)到P2的軌道(虛線),但因力控制如第一個Move一樣會修正路徑,所以機器人移至P2’。(實線)
如果在第一個Move動作期間達到Till條件,機器人將以 “搭配FC使用Move”中所述的相同方式移動。

  • 搭配FC和CF使用Move

新增CF參數時,力控制功能會繼續,且即使完成動作命令,機器人也不會固定至定位。在後續命令中,將根據初始規劃目標位置及後續目標位置規劃軌道。
下圖顯示執行下列程式時的動作軌道。

Move P1 FC1 CF  
Move P2 FC1  

画像
在第一個Move中,已規劃出初始位置P0至目標位置P1的軌道(虛線),接著機器人將開始動作。此時,因力控制會修正路徑,所以機器人移至P1’。(實線)由於已新增CF參數,所以機器人未固定至定位且力控制繼續。
在第二個Move中,規劃出從第一個Move的目標位置P1至P2的軌跡(虛線)。接著,機器人朝考慮與目前位置P1’的相對位移量的位置移動。(虛線)此時,因力控制會如第一個Move修正路徑,所以機器人會移至P2’。(實線)

  • 搭配FC, CF, Till使用Move

下圖顯示執行下列程式時的動作軌道。

Move P1 FC1 CF Till  
Move P2 FC1  

画像
在第一個Move中,已規劃出初始位置P0至目標位置P1的軌道(虛線),接著機器人將開始動作。此時,因力控制會修正路徑,所以機器人移至P1’。(實線)若在動作期間符合Till條件,機器人將停止朝規劃的軌道移動。(P1”)由於已新增CF參數,所以機器人未固定至定位且力控制繼續。
在第二個Move中,規劃出P1”(為第一個Move規劃軌道上的停止位置)至P2的軌道(虛線)。接著,機器人朝考慮與目前位置P1’的相對位移量的位置移動。(虛線)此時,因力控制會如第一個Move修正路徑,所以機器人會移至P2’。(實線)

藉由使用RefPos屬性,即可取得所規劃軌道上的目前位置與實際位置。不過,如果由CF參數繼續進行力控制,實際位置將持續改變。藉由使用此方式,即可由Till動作停止後指定相對位移量。
下圖顯示執行下列程式時的動作軌道。

Move P1 FC1 CF Till  
FGet Robot.RefPos, P2, P3  
Move P3 +X(100) FC1  

画像
規劃軌道上的停止位置P1”會在動作停止於Till時變為P3。進行位置控制時的相對位移量可根據P3指定。

  • 搭配FC, CF, CP使用Move

新增CF參數時,力控制功能會繼續,且即使完成動作命令,機器人也不會固定至定位。在後續命令中,將根據初始規劃目標位置及後續目標位置規劃軌道。此外,新增CP參數時,該控制會在動作命令開始減速的同時前往下一個陳述式。藉由使用此方式,即可連接多個連續動作。
下圖顯示執行下列程式時的動作軌道。

Move P1 FC1 CF CP  
Move P2 FC1  

画像
在第一個Move中,已規劃出初始位置P0至目標位置P1的軌道(虛線),接著機器人將開始動作。此時,因力控制會修正路徑,所以機器人移至P1’。(實線)
在規劃軌道 (P1’’)中開始減速時,第二個Move會規劃P1(第一個Move的目標位置)與P2之間的軌道,然後與第一個Move的規劃軌道結合。(彎虛線)機器人開始朝認為是目前位置P1’的相對位移量的位置移動。(虛線)此時,因力控制持續修正路徑,所以機器人會移至P2’。(實線)

  • 搭配FC, CF, CP, Till使用Move

一起使用力覺控制物件, CF參數, CP參數, Till辨識符號時,機器人會如下移動。

Move P1 FC1 CF CP Till  
Move P2 FC1  

如果在第一個Move開始減速之前符合Till條件,機器人將以與 “搭配FC, CF, Till使用Move”相同的方式移動。
如果在第一個Move開始減速之前未符合Till條件,機器人將以與 “搭配FC, CF, CP使用Move”相同的方式移動。由於已在減速開始的同時執行下一個動作命令,Till的條件式判斷也會同時完成。

使用範例
此為在力控制啟動時,執行Move動作的簡易編程範例。
此範例會在力控制啟動時,以工具座標系中的X軸方向執行Move動作。

Function ForceMoveTest
  FSet FCS1.Orientation, FG_TOOL    ' 設定力覺座標資料

  FSet FC1.CoordinateSystem, FCS1   ' 指定力覺座標資料
  FSet FC1.Fx_Spring, 0             ' 設定Fx虛擬彈性係數
  FSet FC1.Fx_Damper, 1             ' 設定Fx虛擬阻尼係數
  FSet FC1.Fx_Mass, 10              ' 設定Fx虛擬慣性係數
  FSet FC1.Fx_Enabled, True         ' 設定Fx力控制功能為啟動

  Move P0 FC1                       ' 在力控制啟動時的Move動作
Fend

接下來是使用CF參數的編程範例。
在此範例中,將使用力覺控制物件FC1執行力控制功能,同時從目前的位置移動至P0,然後移至P1。力控制功能將在完成移動時終止。之後,將繼續使用力覺控制物件FC2移至P2,然後移至P3,以執行力控制功能。完成至P3的移動後,因CF參數的緣故,力控制功能仍將維持啟動,不過力控制功能將透過FCEnd陳述式終止。接下來,在達到P4後力覺控制物件FC3將用於延續力控制直到經過5秒。為了在移動後維持力控制功能的啟動狀態長達一段時間,請使用FCKeep陳述式。

如需FCKeep和FCend的詳細資訊,請參閱各陳述式的詳細說明。

Function ForceMoveCFTest
  Move P0 FC1 CF
  Move P1 FC1

  Move P2 FC2 CF
  Move P3 FC2 CF
  FCEnd

  Move P4 FC3 CF
  FCKeep FC3, 5
Fend

接下來是使用Till辨識符號的編程範例。
建立Till的力覺觸發物件FT1,並新增Till辨識符號至啟動力控制功能的Move動作命令。在移至P1期間Till變為使用中時,Move動作和力控制功能都將終止,且機器人會停止。在移至P2期間也會出現同樣的情形。當Till在移動至P3時變為使用中,Move動作將因新增CF參數而終止,不過力控制功能仍維持啟動。基於此原因,機器人不會停止。之後移動至P4的進度,會伴隨力控制功能維持啟動。

Function ForceMoveTillTest
  Till FT1
  Move P1 FC1 Till     ' 動作和力控制功能皆終止
  Move P2 FC2 Till     ' 動作和力控制功能皆終止

  Move P3 FC3 CF Till  ' 動作終止但力控制功能繼續執行
  Move P4 FC3
Fend

參考
Move, 力覺控制物件FC#, 力覺觸發物件FT#, Till, FCKeep, FCEnd