HumansXドキュメントセンター 公式サイトへ ↗

ロボットアームの初期位置の調整

下図を参考に、ロボットアームの各関節の取り付け方向を確認してください。特に各関節サーボの出力側の取り付け方向に注意してください。

2. ロボットアームの配線説明

下図を参考に、ロボットアームのモーターを配線します。

3. ロボットアームの初期位置の調整

ステップ 1:ロボットアームの各関節の角度を初期角度付近に調整する

ロボットアームは運動学に従って動作する際、ある初期姿勢を基準に運動学計算を行うため、ロボットアームを初期姿勢に調整する必要があります。

ロボットアームの初期姿勢は各関節サーボの角度によって決まるため、初期姿勢における各関節サーボの角度を把握する必要があります。

サーボの角度は取り付け方によって変わるため、ロボットアームを組み立てた後、角度を調整して各関節のなす角を初期姿勢に合わせる必要があります。

まず、ロボットアームの初期姿勢を把握する必要があります。本プロジェクトにおけるロボットアームの運動学上の初期姿勢は次のとおりです:

  1. ベースの旋回台の向きは正面とします。台車に取り付ける場合は、台車の前方が正面になります。

  2. 上腕モーターと前腕モーターの回転軸の中心が同一の鉛直線上にあること。必ずモーターの回転軸で合わせてください。

  3. 前腕モーターと手首モーターの回転軸の中心が同一の水平線上にあり、上腕モーターと前腕モーターを結ぶ線とのなす角が 90 度であること。

次に、初期姿勢における各関節モーターの角度を把握する必要があります。

  1. 初期角度調整用のプログラムを書き込みます。

調整用プログラムのダウンロード:servo_control.zip

  1. 電源を入れてロボットアームの各関節の角度を観察し、期待する初期角度とどの程度ずれているかを確認します:

ずれが小さい場合はプログラムで微調整し、期待する初期角度とのずれが大きすぎる場合は構造を調整します。以下で具体的な調整方法を説明します。

ずれが小さい場合:プログラムで調整

まず、テストプログラムを書き込んでロボットアームに電源を入れ、右手の法則(右手の親指をサーボの出力軸の方向に向けたとき、時計回りでサーボ角度が小さくなり、反時計回りで大きくなる)によりサーボのずれの方向を判断し、初期姿勢とのずれの角度をおおよそ見積もります:

次に、初期角度調整用プログラムで、ずれに応じて該当する関節の角度を補正します。例えば上図で前腕の角度が初期姿勢より約 30 度少ない場合は、前腕に対応する初期角度を 30 度増やします(初期角度より小さい場合は、初期角度まで角度を増やす必要がある点に注意してください)。

調整後もまだ初期姿勢との差がある場合は、上記の方法を繰り返して微調整します。1 回の調整角度は ±3 度以上にすることをおすすめします。他の関節も同様の方法で調整し、ロボットアームを初期姿勢に合わせます:

最後に、調整後の各関節の角度を必ず記録してください。この角度は本プロジェクトの調整用プログラムに反映する必要があります。

ずれが大きい場合:構造調整とプログラム調整を組み合わせる

テストプログラムを実行してロボットアームの初期角度とのずれが大きい場合は、まず構造を調整する必要があります。ずれの大きい関節を特定し、工具を使ってその関節の出力側を取り外します:

次にロボットアームに電源を入れ、該当する関節を初期姿勢に近い位置に合わせてから再度取り付けます:

再度取り付けた後、上記の「ずれが小さい場合:プログラムで調整」の方法を参考に角度を微調整し、ロボットアームの初期角度の調整を完了します:

ステップ 2:調整済みの初期姿勢の角度を本プロジェクトの下位機(Arduino)の実行ファイルに書き込む

プロジェクトのプログラムのダウンロード(ソフトウェアの準備でプログラムをダウンロード済みの場合は、ここで再度ダウンロードする必要はありません):Arduino_Receive.zip

  1. プログラムを開き、本プロジェクトのプログラムの 25~30 行目のコードを見つけ、調整済みの初期角度に合わせて修正します:

  1. プログラムを書き込んで動作テストを行います。20 秒後にロボットアームが初期姿勢になり、その 1 秒後にプログラムで設定された把持準備状態へ移動します:

  1. これでロボットアームの調整は完了です。

ステップ 3:ロボットアームの調整済み初期姿勢の角度を本プロジェクトの上位機(RDK)の実行ファイルに書き込む

操作動画

詳細な手順

  1. SSH で RDK システムにログインし、コマンドを入力してファイルの場所を探します:
ssh sunrise@ubuntu.local

cd Proj_Intelligent-Vision-Arm-Control/vision_arm_mcp/core/arm_control

  1. ファイルを開きます。次のコマンドを入力して Enter キーで確定します:
nano user_arm.py

  1. 調整済みの初期位置をファイルに書き込みます:

注意:

alpha は旋回台に対応します。

theta は上腕に対応します。

beta は前腕に対応します。

gamma は手首に対応します。

注意:マウスは使用できません。キーボードの矢印キーでカーソルを移動してください。

  1. 調整が終わったら ctrl+x で保存し、y を入力して Enter キーで確定し、終了します:

  1. グリッパーの角度を修正します。同じディレクトリにある設定ファイルを開きます:
nano arm_move.py

  1. 調整済みのグリッパー開閉の値を設定ファイルに反映します:

  1. 調整が終わったら ctrl+x で保存し、y を入力して Enter キーで確定し、終了します。

よくある質問と注意事項

  1. ロボットアームのサーボケーブルの長さが足りない場合はどうすればよいですか?サーボ延長ケーブルを使用できます。

  1. ロボットアームの可動範囲を避けてスイッチを入れ、プログラムを実行してください。ロボットアームは動作速度が速く先端の慣性も大きいため、電源投入時は必ずロボットアームの球状の可動範囲から離れ、ぶつからないようにしてください。

  2. ロボットアームの初期状態では、各関節の角度をできるだけサーボの中間値付近の範囲(80~190)に収めることをおすすめします。この範囲外の場合は、構造を分解・再組立して調整することをおすすめします。これはロボットアームの可動範囲に影響します。サーボの回転範囲は 0~270 度で中間値は 135 です。こうすることで各関節サーボの可動範囲を最大限に確保できます。中間値の設定が適切でないと、ロボットアームの到達可能な点が減り、本来到達できる点でも運動学の式で計算すると解なしとなり、理論上の到達可能点に到達できなくなります。