あなたが達成すること
この単元の最後には、OpenArm SDK がインストールされた Python 仮想環境が完成し、5 行のテスト スクリプトを実行すると次の結果が返されます。 True から arm.ping()。 この確認は、Python コードに腕へのライブ通信チャネルがあることを意味します。これが、ユニット 3 ~ 6 のすべての構築の基礎となります。
SDK のインストールと構成に関する完全なドキュメントは次の場所にあります。 ハードウェア/オープンアーム/ソフトウェア。 このユニットは、必要なコンテキストを使用して処理をフレーム化し、最も一般的な障害モードをカバーします。
SDKをインストールする
作業を進めてください ソフトウェアセットアップガイド 完全な SDK インストール用。 短いバージョン:
インターネット接続に応じて、インストールには 5 ~ 15 分かかります。 の torch そして lerobot パッケージは大きいですが、ユニット 4 と 5 で必要になるため、今すぐインストールしてください。
簡単な Python 接続テスト
ROS 2 を (ユニット 1 から) 実行し、仮想環境をアクティブにして、このテストを実行します。 これは、完全なスタックがエンドツーエンドで動作していることを確認する最も速い方法です。
もし arm.ping() 返品 True そして arm.get_joints() 現在の関節角度を返したら完了です。 エラーが発生した場合のみ、トラブルシューティングのセクションに進んでください。
トラブルシューティング: 最も一般的な 3 つの接続エラー
エラー 1: ConnectionRefusedError またはタイムアウト OpenArm()
ROS 2 が実行されていないか、アクション サーバーがまだ起動していません。 それを確認してください ros2 node list ショー /openarm_controller。 そうでない場合は、ROS 2 ターミナルに戻り、起動がエラーなく完了したことを確認します。 一般的な副次的原因: 起動前にワークスペースを調達するのを忘れた - ユニット 1 の重要なステップ 2 を参照してください。
エラー 2: can0: Network is down ROS2ターミナル内
SocketCAN インターフェースがドロップされました。 この問題は、USB-CAN アダプタを再実行せずに USB-CAN アダプタを取り外して再接続した場合に発生します。 ip link set 指示。 走る sudo ip link set can0 up type can bitrate 1000000、ROS 2 の起動を再開します。 このコマンドを起動スクリプトに追加して、起動時に自動的に実行されるようにします。 sudo nano /etc/network/interfaces.d/can0.
エラー 3: arm.get_joints() アームがホームに戻っていない場合でも、すべて 0 を返します
これはエラーではありません。腕を意味します。 は 結合状態を報告していますが、キャリブレーションが完了していない可能性があります。 腕が物理的にゼロのポーズにある場合、ゼロは正しいです。 腕の角度が異なっていてもゼロが報告される場合は、Web UI からキャリブレーションを再実行します (ユニット 1、重要なステップ 4)。 ジョイント エンコーダは、絶対位置を確立するためにホーミング シーケンスを必要とします。
ユニット 2 が完了したら...
arm.ping() 返品 True Python ターミナルで。 テスト スクリプトは最初から最後までエラーなしで実行されます。 腕を物理的に動かすと、関節角度の値がリアルタイムで変化するのを確認できます。 arm.get_joints() ループ内でポーリングされます。 ユニット 3 の準備が整いました。