移動制御
DobotCtrl.move() は次の引数を DobotTcp.move() に委譲します。
robot.move(target, motion_mode=None, coord_type=None,
path_blend=None, offset=None, pose=None,
speed=None, accel=None, decel=None, is_async=True)
共通 I/F |
MG400 命令 |
|---|---|
P + PTP |
|
P + LINE |
|
J + PTP |
|
is_async=True は Sync() を呼ばない、is_async=False は 移動命令の後に Sync() を呼ぶ に対応します。これは Python の async/await とは無関係です。非同期移動の後に完了待ちする場合は wait_for_complete() を使用します。
# 例:実機の安全確認・目標座標の検証後に限り実行
robot.move([200, 0, 100, 0, 0, 0], coord_type="P",
motion_mode="PTP", is_async=False)
この座標値は実機に対して安全であることを保証しません。drive() は部分実装で、rotate()、approach() などは対応状況を API と実装で確認してください。
実装に基づく補足
DobotTcp.move() の現在の実装では、is_async=False の場合、移動命令の送信後に 別の Sync() コマンドを呼びます。DobotStudio Proスクリプトの SYNC オプションをTCP/IPの MovJ / MovL 引数として送信するものではありません。pose が指定されると現在は False を返します。offset はP座標でのみ使用でき、J座標との組合せは拒否されます。decel は独立した減速設定として実装されていません。
ソースコードに基づく全公開メソッドの静的照合も参照してください。