プログラム例 8.3

例タイプ:
パーツブローブビジョンシーケンスのサーチウィンドウに検出マスクを使用する

構成

  • ロボットの数:1
  • フィーダーの数:1
  • フィーダー上のパーツの種類数:1
  • 配置場所の数:1
  • カメラの向き:フィーダー#1上の固定下向きカメラ

解説
バックライトをオンにしても、トレイの角に影ができることがあります。ブローブオブジェクトのサーチウィンドウにトレイの角が含まれていて、しきい値が適切に調整されていない場合、影が誤ってパーツとして識別される可能性があります。パーツブローブビジョンシーケンスは、個々のパーツ、またはパーツの蓄積を検出するために使用されます。パーツブロブが影をパーツと見なす場合、システムは振動の方法について誤った決定をする可能性があります。

以下は、トレイの角の影がパーツとして誤認される可能性がある例です。

Blobのサーチウィンドウに、認識したくない領域(この場合はトレイの角)に検出マスクを設定することでマスクできます。
Blobを右クリックして、フライアウトメニューから[ウィンドウの編集]を選択するか、BlobのSearchWinの[編集ウィンドウ]プロパティーを選択します。

ペイントブラシを使用して、サーチウィンドウからトレイが削除されるようにペイントします。

これで、Blobを実行すると、トレイはサーチウィンドウに含まれなくなります(以下を参照)。

特別なコードは必要ありません。

サンプルコード
Main.prg

Function main
    If Motor = Off Then
        Motor On
    EndIf
    Power Low
    Jump Park
    PF_Start 1
Fend

PartFeeding.prg

Function PF_Robot(PartID As Integer) As Integer
    Do While PF_QueLen(PartID) > 0
        P0 = PF_QueGet(PartID)
        Jump P0
        On Gripper; Wait 0.2
        Jump Place
        Off Gripper; Wait 0.2
        PF_QueRemove PartID
        If PF_IsStopRequested(PartID) = True Then
            Exit Do
        EndIf
    Loop
    PF_Robot = PF_CALLBACK_SUCCESS

Fend