ID : 5782
トラッキングバッファデータの削除
ここでは、下記の項目について説明します。
TrackTargetPosのトラッキングバッファデータ削除処理
TrackTargetPosコマンドの引数設定により、トラッキングバッファから削除されるデータが異なります。
ここでは、下図のようなセンサトラキングの例で説明します。ワーク1からワーク5の順番に上流からワークが運ばれ、センサ通過後に、TrackSetSensorコマンドによりトラッキングバッファにワークデータが登録されると仮定しています。
TrackTargetPos実行前
ワーク1からワーク4のデータがトラッキングバッファに保存されています。
TrackBufferIndexesコマンドでトラッキングバッファのデータを確認できます。
vIndex = TrackBufferIndexes(1, -1)
vIndexの値: (1, 2, 3, 4)
TrackTargetPos(1)実行後
下記のワークデータはトラッキングバッファから削除されます。
- TrackTargetPosで取得したワークデータ(この例ではワーク2)
TrackTargetPos(1)
vIndex = TrackBufferIndexes(1, -1)
vIndexの値: (1, 3, 4)
TrackTargetPos(1, -1, -1, 1)でトラッキングバッファを保持した場合
TrackTargetPosコマンドで取得したデータは、トラッキングバッファに残ります。
TrackTargetPosコマンドで取得したデータを削除するには、TrackTargetReleaseコマンドを使用します。
Case1
TrackTargetPos(1, -1, -1, 1)
vIndex = TrackBufferIndexes(1, -1)
vIndexの値: (1, 2, 3, 4)
Case2:TrackTargetPosで対象にしたデータのIndex番号を取得
TrackTargetPos(1, -1, -1, 1)
vIndex = TrackBufferIndexes(1, 1)
vIndexの値: (2)
Ver.2.16.*より前の処理
ロボットコントローラのソフトウェアバージョンが2.16.*より古い場合、TrackTargetPosを実行すると、上記内容に加え下記処理が実施されます。
- 最下流のロボットの下流限界より下流にあるワークデータの削除
例えば、上記の"TrackTargetPos(1)実行後"の処理において、ロボットコントローラのソフトウェアバージョンが2.16.*より古い場合、下記のようになります。
TrackTargetPos(1)
vIndex = TrackBufferIndexes(1, -1)
vIndexの値: (3, 4)
下流限界より下流にあるワークデータの削除処理
最下流のロボットの下流限界より下流にあるワークデータは、TrackTargetPosを含め、下記コマンド実行時に削除されます。
- TrackSetSensor
- TrackSetVision
実際には、最下流のロボットの下流限界をこえても、ある程度の範囲までは削除されません。この範囲は、コンベアトラッキングパラメータの"ワーク自動消去マージン"で指定します。単位は"mm"で初期値は0 mmです。
"ワーク自動消去マージン"は、各コンベア用に用意されており、"ワーク自動消去マージン(Coveyor#1)"から"ワーク自動消去マージン(Coveyor#16)"まであります (パラメータ番号は965から980です)。使用するコンベアに該当する番号のパラメータを設定してください。

-
下記のすべての条件を満たす場合、最下流のロボットの下流限界を超えたワークデータがトラッキングバッファに多く蓄積されます。その結果、トラッキング用コマンドの処理速度が遅くなる可能性があります。
- "ワーク自動消去マージン"の設定が大きい。
- 最下流のロボットの下流限界を超えてしまうワークが多い。
- コンベアトラッキングパラメータの"ワーク自動消去マージン"は、ロボットコントローラのソフトウェアバージョンが2.16.*以上の場合使用可能です。2.16.*より古いバージョンのロボットコントローラでは、コンベアトラッキングパラメータの"ワーク自動消去マージン"を0に設定したときと同じ処理となります。
- ロボットコントローラのソフトウェアバージョンが2.16.*より古い場合、TrackTargetPosを実行するときにも、最下流のロボットの下流限界より下流にあるワークデータが削除されます。
ID : 5782

