SDK インストールの完全なリファレンスは次の場所にあります。 ハードウェア/DK1/ソフトウェア。 この単元では、OpenArm に対して行ったシングルアーム SDK のインストールを超える、バイマニュアル固有の構成手順について説明します。
DK1 SDKをインストールする
DK1 SDK は OpenArm SDK とは別のものです。 OpenArm パッケージを使用して DK1 アームを実行しないでください。ファームウェア プロトコルが異なります。
リーダー/フォロワーのペアを構成する
SDK は、どのシリアル デバイスがリーダーで、どのデバイスが 2 つのフォロワー アームであるかを示す YAML 構成ファイルを読み取ります。 デバイス パスは正しい順序で指定する必要があります。SDK はロールの割り当てを自動検出しません。
のキーフィールド dk1-config.yaml:
/dev/ttyUSBN USB ポートの順序によって異なり、再起動ごとに変わる可能性があります。 安定したエイリアスを作成するには、次を使用します。 udev デバイスのシリアル番号をキーとしたルール。 走る udevadm info /dev/ttyUSB0 各アームのシリアルを見つけてルールを作成するには /etc/udev/rules.d/99-dk1.rules。 これについては、次のサイトで詳しく説明されています。 ハードウェア/DK1/ソフトウェア.
Python 接続テスト - 両腕
構成を編集した後、3 つのデバイスすべてを同時に実行する接続テストを実行します。
実行が成功すると、一貫した安定した値を持つ 10 組のジョイント状態配列が出力されます。 NaN 値、タイムアウト エラー、またはアームごとのジョイント値が 6 未満である場合は、構成ファイル内のデバイス パスの割り当てを確認してください。
同期の検証
この単元で最も重要なチェックは、リーダーの動きが認識できるほどの遅延なく同期したフォロワーの応答を生成することを確認することです。
リーダー アームを 1 つのジョイント上で 30° の円弧を描くようにゆっくりと動かします。 両方の従動アームが目に見える遅延なく同時に動く必要があります。 1 つのフォロワーが他のフォロワーより 0.5 秒以上遅れている場合は、 latency_tolerance_ms 設定を変更し、スロー アームの USB 接続を確認します。
一般的なエラーと修正
| エラー | 原因 | 修理 |
|---|---|---|
SerialException: device not found |
構成内のデバイス パスが間違っているか、USB が接続されていません | 走る ls /dev/ttyUSB* そして構成パスを更新します。 物理的な USB 接続を確認します。 |
SyncTimeoutError: follower_right |
右のフォロワーアームが遅延許容範囲内で応答しない | 増加 latency_tolerance_ms 10 に変更するか、別の USB ポートを試してください。 ケーブルに損傷がないか確認してください。 |
| 接続後のジョイントの状態はすべてゼロになります | サーボが有効になっていません - アームはスタンバイモードです | 電話 robot.enable_servos() ジョイント状態を読み取る前に、または最初に Web UI 経由で有効にします。 |
| 1 つのフォロワーはミラー、もう 1 つは固定です | リーダーは構成で 1 つのフォロワーとのみペアリングされます | 両方を確認してください follower_left そして follower_right YAML 構成で設定されます。 |
ユニット 2 が完了したら...
DK1 SDK がインストールされており、 dk1.__version__ 0.4.0 以降を返します。 接続テストでは、50Hz で両アームの安定した関節状態の値が出力されます。 リーダー/フォロワー セッションを開始してリーダー アームを動かすと、両方のフォロワー アームが認識できる遅れなくその動きを反映します。 リーダー アーム上の少なくとも 3 つの異なる関節動作でこれを確認しました。