力觸發器功能的SPEL+程式

概觀

力覺觸發功能係指偵測使用力覺感應器測量的力及扭力是否達到設定值的功能。
可使用結果來啟動、結束及分支程序。
力覺觸發功能的編程是依據下列程序執行。

  1. 設定要執行的座標系
  2. 設定參數
  3. 執行力觸發器功能
  4. 讀取結果

力觸發器功能的座標系

力覺觸發功能會在力覺座標系中執行。

力覺觸發功能會計算力覺感應器偵測到的力、扭力施加至力覺座標系的力以及扭力,並監控值是否符合設定條件。

在實際進行接觸及產生力的點中指定力覺座標系的原點。(範例:工件端點)
此外,力覺座標系的方向會因應用內容而異。監控固定方向的力時,無論機器人的姿態為何,請指定基礎座標系及本地座標系。

在依機器人的姿態而改變的方向中監控力時,請指定工具座標系及自訂座標系。

力覺觸發功能可監控下列力覺座標系中指定的8維資料。

  • 6軸Fx至Tz
  • Fmag:平移力的合力
  • Tmag:力矩的合力矩

力觸發器功能的參數

力覺觸發功能的參數設定於力覺觸發物件的屬性內。

執行程式前,可在GUI中進行設定。如需GUI設定的詳細資訊,請參閱下列章節。
軟體篇 [機器人管理器] - [Tools]功能表
- -[Tools]-[Robot Manager]-[Force]面板
若需在執行程式期間動態變更參數,可使用FSet陳述式進行設定。

  • ForceSensor屬性
    指定力覺感應器編號以執行力覺觸發功能。
  • CoordinateSystem屬性
    為已執行的力覺觸發功能指定力覺座標物件。
  • Operator屬性
    指定符合力覺觸發功能條件的標準; 具體來說,是否符合各軸的所有條件或特定軸的條件。
  • TriggerMode屬性
    指定是否監控力與扭力,或監控力與扭力的變化。
    若指定變化值,則會監控每秒的變化值。由於力覺感應器容易受到雜訊的影響,請使用低通濾波器。
  • Fmag_Axes屬性
    從要結合的軸(Fx至Fz)指定軸以計算Fmag值。
    若要監控施加至X-Y平面的力,請指定要監控的方向; 例如,指定X及Y軸。
  • Tmag_Axes屬性
    從要結合的軸(Tx至Tz)指定軸以計算Tmag值。
  • Enabled屬性
    在已執行的力覺觸發功能上指定軸(Fx至Tmag)。
    僅可為應用所需的軸啟動力覺觸發功能。
  • Polarity屬性
    指定符合條件的標準,即各軸的力及扭力是否位於或超出上/下閾值範圍。
    若要偵測是否施加超出閾值範圍的力,請指定外側(Outside)。
    若要偵測是否施加位於閾值範圍內的力,請指定內側(Inside)。
  • UpperLevel屬性
    設定力覺觸發功能的上限值。
    此功能會監控數值是否低於或高於設定值。
  • LowerLevel屬性
    設定力覺觸發功能的下限值。
    此功能會監控數值是否高於或低於設定值。
  • LPF_Enabled屬性
    指定在力覺觸發功能中執行低通濾波器的軸(Fx至Tmag)。
    使用此屬性可減少雜訊,或在忽略力覺感應器值(如脈衝)時使用此屬性。
  • LPF_TimeConstant屬性
    指定要在力覺觸發功能中執行低通濾波器的時間常數。
    增加數值會降低雜訊,但也會降低對力覺感應器值的反應。

執行力觸發器功能

可透過Till, Wait, Trap, Find指定力覺觸發功能。

如需命令基礎功能的資訊,請參閱下列手冊。
"Epson RC+ 8.0 SPEL+語言參考"

以下說明力覺觸發功能。每部機器人最多可同時設定15個用於監控的力覺觸發。請勿在一部機器人上同時使用超過16個力覺觸發。

  • Till
    在Till陳述式的事件運算式中指定力覺觸發物件,可設定操作力覺觸發功能時的結束條件。因此,達到力指定值時會結束操作。

    使用範例:

    Till FT1
    Move P1 FC1 Till
    

    力覺觸發是由Till陳述式設定為Till條件。在Move操作期間,若符合在力覺觸發物件FT1中設定的條件,即使已執行部分操作及下一個陳述式,Move操作也會停止。

  • Trap
    在Trap陳述式的事件運算式中指定力覺觸發物件,可設定力覺觸發功能開始中斷處理的條件。因此,力會永遠受到監控,且會在達到力指定值時開始中斷程序。

    使用範例:

    Trap 1, FT1 Goto TrapLabel
    

    力覺觸發功能是由Trap陳述式執行以開始監控條件。符合在力覺觸發物件FT1中設定的條件時,則會轉換至指定標籤。

  • Wait
    在Wait陳述式的事件運算式中指定力覺觸發物件,可設定力覺觸發功能結束待機狀態的條件。因此,力覺觸發功能在達到力指定值前會維持待機狀態。

    使用範例:

    Wait FT1
    

    力覺觸發功能是由Wait陳述式執行以開始監控條件。未符合在力覺觸發物件FT1中設定的條件前,程式會停止執行,並在符合條件時重新開始執行。

  • Find
    在Find陳述式的事件運算式中指定力覺觸發物件,可設定在力覺觸發功能運作時儲存座標的條件。因此,會記錄達到指定力的位置。

    使用範例:

    Find FT1
    P0=FindPos
    

    力覺觸發功能是由Find陳述式執行以開始監控條件。控制器會記憶符合在力覺觸發物件FT1中設定之條件的位置,並使用FindPos功能取得該位置。

    力覺觸發功能可使用TriggeredPos狀態取得符合條件的位置。因此,指定結合多項條件的事件運算式時,Find非常實用。TriggeredPos狀態可用於取得符合在力覺觸發物件中設定之條件的位置。FindPos功能可用於取得符合結合多項條件之事件運算式的位置。

請勿刪除使用FDel陳述式開始監控的力覺觸發物件。在多項工作中建立程式時,請注意勿同時執行指定力覺觸發物件的Till, Wait, Trap, Find。

讀取力觸發器功能的結果

執行力覺觸發功能後,使用FGet陳述式指定力覺觸發物件的狀態可取得結果。已擷取的結果可用於判定操作通過或失敗,或執行條件式分支。

執行力覺觸發功能時會將狀態初始化,且力覺觸發功能結束時會設定結果。再次執行力覺觸發功能或載入專案前,會持續保留設定結果。

  • Triggerd狀態
    傳回達到力覺觸發條件的狀態。

    若在前一個力覺觸發條件中達到條件,則會傳回「True」。此結果可用於判定力是否超過指定值,並進行分支處理。

  • TriggerdAxes狀態
    傳回達到各軸力覺觸發條件的狀態。

    其可判定更詳細的條件; 例如,判定力超過指定值的軸,並進行分支處理。

  • TriggeredPos狀態
    傳回達到力覺觸發條件的座標。

    其可判定達到條件的位置是否在指定範圍內,並根據該位置進行分支處理。