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 度です。中央値付近に設定することで関節サーボの可動範囲を最大限に確保できます。中央値の設定が不適切な場合、ロボットアームの到達可能点が減少し、本来到達できるはずの点でも運動学の計算で解が得られなくなり、理論上の到達点に到達できなくなります。