プログラム例 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
← プログラム例 8.2 発展編 →