So-ARM シリーズ STS3215 サーボキャリブレーション-Web 版
デスクトップ版ツール: SoARM シリーズ サーボキャリブレーションツール使用チュートリアル
So-ARM101 サーボキャリブレーションツールのWeb 版です。インターフェース全体がブラウザ上で動作し、Web Serial でシリアルポートに直接接続するため、Python のインストールは不要です。
オンラインアドレス:
https://juxi-technology.github.io/SO-ARM101-ServoController/
⚠️ 本ツールは Feetech(STS3215 シリーズ)サーボのみに対応しています。
1. 使用前の準備
- ブラウザ:Chrome または Edge 89+(Firefox / Safari は Web Serial 非対応)
- HTTPS または localhost で開くこと。GitHub Pages は要件を満たしています
- USB-シリアル変換アダプタ + Feetech STS3215 サーボ、デフォルト 1 M ボーレート(
1000000)
2. ロボットアームの接続
- トップバーの左側で「接続ボーレート」を選択します。デフォルトは
1000000です。サーボのボーレートが変更されている場合は、先に正しい値を選んでから接続してください。 - 「リーダーアーム」または「フォロワーアーム」の「シリアル接続」をクリックし、ブラウザのポップアップで対応する COM ポートを選択します。
- 接続に成功すると、自動的にサーボをスキャンします(ID 1–6)。
2 本のアームは個別に接続し、独立して操作できます。サーボが見つからない場合は、まず接続ボーレートがサーボと一致しているかを確認し、次にシリアルポートが他のプログラムに占有されていないことを確認してください。
3. デモモード(ハードウェアなし)
トップバーの「デモモード(ハードウェアなし)」にチェックを入れてから接続すると、シミュレーションの 6 サーボデータが使用され、インターフェース全体を閲覧できます。
デモモードのデータはシミュレーションであり、実際のハードウェアは操作しません。
4. 3 つの機能ページ
🦾 サーボキャリブレーション
各サーボの位置、電圧、温度、トルク状態をリアルタイム表示します。単体サーボの「中位キャリブレーション」「中位テスト」「モーターのトルクオフ」「リミットクリア」操作と、アーム全体のキャリブレーションへの入り口を提供します。
🎚️ 単体サーボ制御
各サーボ 1 行:ID / Pos / スライダー / L(目標)。
- Pos とスライダーは双方向バインド:スライダーをドラッグすると Pos が追従し、離すとコマンドを送信します。Pos に数値を入力すると即座に送信されます。
🔬 FT デバッガー
シリアル接続、サーボスキャン、全レジスタの読み取り、単一レジスタの読み書き、位置制御、ボーレート変更、工場出荷リセット、xdat パラメータのバックアップと復元。
5. 完全なキャリブレーション手順(推奨)
- 「サーボキャリブレーション」ページで「リーダーアーム中位キャリブレーション」をクリックし、ウィザードを開きます。
- 「中位値の記録を開始」(ボタンがオレンジ色に変化)をクリック → ロボットアームを標準中位に合わせる → 「中位値の記録を完了」をクリックします。
- 「可動範囲を記録」(ボタンが緑色に変化)をクリック → 各関節を端から端まで回す(グリッパも回す)→ もう一度クリックして停止します。
- 6 関節すべて完了するとキャリブレーションファイルが自動保存されます。フォロワーアームに対しても同じ操作を繰り返します。
- 両方のアームのキャリブレーションが完了したら、トップバーの「🎮 遠隔操作」をクリックすると、リーダーアームでフォロワーアームを動かせます。
6. キャリブレーションファイルの保存先
ブラウザはファイルを「ダウンロード」ディレクトリにしか保存できません。保存後、ウィザードにターゲットパスが表示されるので、手動で移動してください:
| 部位 | ターゲットパス |
|---|---|
| リーダーアーム | ~/.cache/huggingface/lerobot/calibration/teleoperators/so_leader/my_leader_arm.json |
| フォロワーアーム | ~/.cache/huggingface/lerobot/calibration/robots/so_follower/my_follower_arm.json |
Windows では ~ は %USERPROFILE% にあたり、完全なパスは %USERPROFILE%.cache\huggingface\lerobot\calibration... のようになります。
7. 遠隔操作
両方のアームをキャリブレーションして接続したら、トップバーの「🎮 遠隔操作」をクリックし、リーダーアームの角度でフォロワーアームを駆動します。もう一度「⏹ 遠隔操作を停止」をクリックすると終了します。
遠隔操作の前に、両方のアームの周囲が安全であることを確認してください。トルクがオンになると、サーボは手で動かせなくなります。遠隔操作には 2 つの接続済みシリアルポートが必要です。
8. FT デバッガーの詳細
レジスタの読み取りと書き込み
- 「全パラメータを読み取り」をクリックすると、選択したサーボの全レジスタを読み取り、結果をパラメータ表に反映します。
- パラメータ表の行をクリックすると上部のアドレスと長さが入力されるので、次に「値」を入力して「書き込み」をクリックします。
- 灰色の行(DEFAULT 領域)は読み書き不可で、読み取り専用領域への誤書き込みを防ぎます。
位置制御
サーボを選択した後、スライダーまたは数値で目標位置を設定し、「移動」をクリックして実行します。トルクがオフの場合は、先にオンにするか確認されます。
ボーレートの変更
新しいボーレートを選択して「適用」をクリックします。書き込み後は切断され、新しいボーレートで再接続を試みます。失敗した場合はログに原因が表示されます。
工場出荷状態へのリセット
ID を 1 に、ボーレートを 1M に戻します。元に戻すことはできません。実行前に再確認が必要です。
xdat パラメータのバックアップと復元
| ボタン | 動作 |
|---|---|
| 💾 現在のサーボを xdat として保存 | 全パラメータを読み取り、.xdat ファイルとしてダウンロード |
| 📂 xdat を開く | ローカルの .xdat ファイルを読み込む |
| 📤 パラメータをサーボに復元 | xdat パラメータを現在のサーボの EEPROM に書き戻す |
復元は ID、ボーレート、リミットなどの設定を上書きします。実行前に選択中のサーボが正しいことを確認してください。EEPROM には書き込み寿命があるため、頻繁に書き込まないでください。
9. 注意事項
- ページは前面に表示しておく必要があります:ブラウザはバックグラウンドタブをスロットリングするため、遠隔操作やリアルタイム更新が遅くなったり停止したりします。
- 両方のアームで同じ関節の可動範囲を同じようにスキャンする必要があります。そうしないと、遠隔操作時に動作の振幅が一致しません。
- グリッパは連続回転関節ではありませんが、可動範囲のスキャンが必要です。そうしないと範囲がデフォルトの 0–4095 になります。
- FT デバッガーの灰色の行(DEFAULT 領域)は読み書き不可です。EEPROM には書き込み寿命があるため、頻繁に書き込まないでください。
- 遠隔操作の前に両方のアームの周囲の安全を確認してください。トルクがオンになるとサーボは手で動かせません。
- 同時にシリアルポートを使用できるプログラムは 1 つだけです。本ページを使用する際は、デスクトップ版などの上位機を閉じてください。
10. よくある質問
Q1:接続できない / サーボが見つからない。 まず接続ボーレートがサーボと一致しているか確認し、次にシリアルポートが他のプログラムに占有されていないことを確認してください。
Q2:Pos が更新されない。 サーボがオンラインであることを確認してください。「シリアル接続」を再クリックするか、ページを更新してください。
Q3:書き込みに失敗する。 ログで具体的な原因を確認してください。アドレスと長さがパラメータ表の行から取得されていることを確認してください。
Q4:現在のブラウザが Web Serial 非対応と表示される。 Chrome / Edge 89+ を使用し、HTTPS または localhost で開いてください。
Q5:キャリブレーションファイルを保存したのに LeRobot が見つけられない。 ブラウザは「ダウンロード」ディレクトリにしかダウンロードしないため、第 6 節に記載のパスへ手動で移動する必要があります。

