シミュレーション (PC上でのプログラム実行)の仕様と注意点
概要
シミュレーターは、ロボットの実際の動きをPC上で仮想的に再現させます。
実際のシステムと誤差ができるだけ小さくなるように設計していますが、多少の誤差が発生することは避けられず、動作時間予測や衝突検出はその精度を保証するものではありません。
本章の内容を理解した上、最終的な確認は実際のシステムで行うようにしてください。
動作時間予測
シミュレーターの3D表示画面に表示される時間は、プログラムを実行した場合の所要時間の目安を示しています。
Go, Jumpなどの動作命令の時間は、プログラム中のSpeed, Accelなどの値を反映しています。実際のロボットでは、Fine設定, サーボ遅れなどの条件により動作時間は変動します。特にFine設定を小さくした場合は、実際のロボットでは正確な位置決めをするため動作時間が長くなります。
精度は保証しませんが、目安として標準サイクルタイム動作 (最大Fine で)を行ったときの誤差が10%以内に収まるように調整しています。
- 動作時間予測で考慮される設定
- ロボットの機種
- 速度設定 (Speed, Speeds など)
- 加速度設定 (Accel, Accels など)
- 負荷 (Weight, Inertia)
- その他 (ARCH, CP)
- 動作時間予測で考慮されない設定
- Fine設定
- デフォルト 10%以内の誤差 (標準サイクル動作)
- デフォルトより大きくすると動作時間が短くなる
- デフォルトより小さくすると動作時間が長くなる
- サーボ遅れ
- 実機では動作時間が長くなる
- Fine設定
動作命令以外の命令は、PC上で仮想的に実行した時間のため、実行するPCの性能により時間が大きく異なります。
2点間のロボット移動時間を測定したい場合は、できるだけ単純なプログラムで測定することを推奨します。 (参照: オリジナルのシステムで動かす - "ロボットの動作時間を測定する")
衝突検出の精度
シミュレーターにおける衝突検出は、プログラムを実行した場合に周辺機器へ衝突するか否かの目安を示します。サーボ遅れによる軌跡の誤差は考慮していません。実システム時に適用するときは、必ずマージンを設けてください。
衝突検出の判定は、ロボットの移動速度が遅いほどより正確になります。
プログラム実行時の衝突検出の判定は、3D表示の更新時のみ行われます。PCの性能が高い (グラフィック性能が高い)ほどより正確になります。
プレイバックでは、すべてのステップで衝突検出の判定を行います。このため、より正確な検出が行えます。
精度は保証しませんが、目安としては推奨PCで、Speed 100%の動作をさせたときの誤差が10 mm以内に収まるように調整しています。
動作デューティーと過負荷エラー
シミュレーターでは、過負荷エラー検出をシミュレーションすることができません。実際のロボットでは、過負荷エラーが発生して停止するような高デューティー動作であってもシミュレーターでは動作しつづけます。
実際のロボットが最大加減速度で過負荷エラーを発生せず動作を続けられるデューティーの目安は50%です。ただし、ロボット機種, 負荷, 動作ポイント, 加減速度設定などで変化します。
推奨要件を満たさないPCでの実行
推奨要件を満たさないPCでもEpson RC+をインストールしてシミュレーター機能を実行できます。しかし、以下のような現象が発生する場合があり動作保証の対象外です。
- ロボットの動作時間予測が正確でない
- 衝突検出の誤差が非常に大きくなる
- 3D表示の更新が飛び飛びになる