*********************************************************** Feetechサーボのセットアップ *********************************************************** AKARI Lightのヘッドのパン、チルト動作に使用しているFeetechサーボ(STS3215)の設定を行います。 =========================================================== 必要なもの =========================================================== * AKARI Light(:doc:`setup_ansible` 実施済み) * キーボード * マウス * ディスプレイ =========================================================== 仮想環境の作成 =========================================================== | まずは、Feetechサーボの設定を行うための仮想環境を作成します。 | ターミナルを開いて、下記コマンドを実行します。 | これにより、仮想環境を作成、有効化し、必要なライブラリをインストールします。 .. code-block:: bash cd ~/akari_software/setup/feetech python3 -m venv venv . venv/bin/activate pip install -r requirements.txt =========================================================== Feetechサーボ1のIDの仮変更 =========================================================== | 次にボディーに接続されているFeetechサーボ1のIDを仮変更します。 | **必ずヘッド側に接続されているFeetechサーボへの配線を外した状態のままで実施してください。** | ターミナルを開いて、下記コマンドを実行します。 .. code-block:: bash python3 1_temp_change_id.py | このスクリプトは、Feetechサーボ1のIDを100に仮変更します。 | "idの仮変更OK!"と表示されれば成功です。 | これ以外のエラーが表示された場合は、ヘッド側のFeetechサーボの配線が外れているか、ボディー側のFeetechが正しく接続されているかを確認してください。 =========================================================== Feetechサーボ2の接続 =========================================================== | ここで、ヘッドに接続されているFeetechサーボ2の配線を行います。 | 接続されていない配線を、ヘッド部のSTS3215に接続してください。 .. image:: ../../images/assembly_light/setup_feetech/feetech_01.jpg :width: 600px =========================================================== FeetechサーボのIDの変更 =========================================================== | この状態で、Feetechサーボ1,2のIDを本変更します。 | 下記コマンドを実行します。 .. code-block:: bash python3 2_change_id.py | このスクリプトは、Feetechサーボ1のIDを1、Feetechサーボ2のIDを2に変更します。 | "Pan, Tiltのサーボidの変更OK!"と表示されれば成功です。 | これ以外のエラーが表示された場合は、ボディー、ヘッドのFeetechサーボの配線を確認してください。 | **誤って2回実行してしまうと、FeetechサーボのIDがどちらも2に変更されてしまい、以降Feetechサーボにアクセスできなくなってしまいます。** | **その場合は、ヘッド側のFeetechサーボのコネクタを再度外し、Feetechサーボ1のIDの仮変更からやり直してください。** =========================================================== Feetechサーボのbaudrateの変更 =========================================================== | 次にFeetechサーボ1,2のbaudrateを500000に変更します。 | 下記コマンドを実行します。 .. code-block:: bash python3 3_change_baudrate.py | "Pan, Tiltのサーボのbaudrate変更OK!"と表示されれば成功です。 | これ以外のエラーが表示された場合は、下記のコマンドを実行しFeetechサーボ2つと通信できているかを確認してください。 .. code-block:: bash python3 search_ping.py | このスクリプトは、Feetechサーボ1,2にpingを送信し、応答があるかを確認します。 | もし通信できていない場合は、ヘッド側のFeetechサーボのコネクタを再度外し、Feetechサーボ1のIDの仮変更からやり直してください。 =========================================================== Feetechサーボの初期位置の設定 =========================================================== | Feetechサーボの初期位置の設定を行います。 1. ヘッドを手動で動かし、上下左右共に正面方向を向くようにします。 .. image:: ../../images/assembly_light/setup_feetech/feetech_02.jpg :width: 600px 2. 下記コマンドを実行し、現在位置を初期位置として保存します。 | 初期位置は2048という値になります。 .. code-block:: bash python3 4_set_offset_pos.py | サーボID1,2の現在位置が表示されます。 | これらが2048付近になっていればOKです。 | ±1程度誤差が生じる場合がありますが、問題ありません。 4. 下記コマンドを実行し、Feetechサーボ1,2を0位置に移動させます。 .. code-block:: bash python3 move_0pos.py | 両方のサーボの0位置が正面向きになっていることが確認できればOKです。 | 以上でFeetechサーボのセットアップは完了です。 | 次はakari_software直下にアプリケーションを実行するための仮想実行環境を構築します。 | :doc:`setup_env` へ進む :doc:`setup_ansible` へ戻る