02 環境構築(venv、書き込みツール、ファームウェア)
作業を始める前にこのページを済ませてください。コマンドはリポジトリのルートを前提とします。 つまり GitHub からダウンロードした
SR-Supportフォルダ(zip を展開するとSR-Support-mainという名前になる場合がありますが、firmware/とtools/を含むフォルダのことです)です。 すべての Python コマンドは.venvを有効化したターミナルで実行します(2.3)。 ビルド済みファームウェアの書き込みには PlatformIO もコンパイルも不要です。開発者向け環境(2.5)は コードを変更する場合にのみ必要です。
2.1 必要環境
- Windows、Linux、macOS(以下の各コマンドは、必要な箇所では 3 環境すべてについて記載しています)。
- USB データケーブル(充電専用ケーブルではボードが認識されません)。
- ESP32-S3-DevKitC-1(8 MB フラッシュ)。
2.2 コードとビルド済みファームウェアの入手
リポジトリをクローン(または配布アーカイブを展開)し、以降のコマンドはリポジトリのルートで実行します。
bashgit clone https://github.com/Juxi-Technology/SR-Support.git cd SR-Support(リポジトリはプライベートです。先にアクセス権を申請してください。)
ビルド済みイメージは
firmware/releases/にあります。ファイル 用途 sr_support_b_ptk_factory.binメインファームウェア(0x0 に書き込み。組立時のセンター合わせにも使用:ファームウェアのゼロ点まで通電し、 eは任意)SHA256SUMSチェックサム
2.3 仮想環境(.venv)の作成と有効化
PC 側のすべての Python ツール(esptool、PlatformIO、MuJoCo ツール)は同じプロジェクト内の .venv に入れます。その .venv は、GitHub からダウンロードした SR-Support フォルダの中に作成する必要があります(zip を展開すると SR-Support-main という名前になる場合がありますが、これも firmware/ と tools/ を含むフォルダのことです)。
まずそのフォルダに移動します。以下のコマンドはそこで実行します。
Windows(PowerShell)
cd D:\Project\SR-Support # replace with where your SR-Support folder lives
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1- 正しい場所にいるか分からないときは
dirを実行してください。firmware、tools、tutorialが表示される必要があります。 - Python 3.12 がない場合は
py -3 -m venv .venvを使用してください(3.10 以上で動作します)。 - PowerShell がスクリプトの実行を拒否する場合は、このウィンドウで
Set-ExecutionPolicy -Scope Process Bypassを実行してから再度有効化してください。 .\.venv\Scripts\Activate.ps1は venv が生成する PowerShell 用の有効化スクリプトです。 先頭の.\は「現在のフォルダにあるスクリプトを実行する」という意味で、PowerShell では 必須です(Activate.ps1だけでは見つかりません)。他のシェルではそれぞれのファイルを使います。- cmd.exe:
.venv\Scripts\activate.bat - Git Bash:
source .venv/Scripts/activate - venv から抜けるには
deactivate
- cmd.exe:
Windows(cmd.exe)
cd /d D:\Project\SR-Support # cmd needs /d to change drive; plain cd D:\... stays on C:
py -3.12 -m venv .venv
.venv\Scripts\activate.batシェルの見分け方:cmd のプロンプトは
C:\...>、PowerShell はPS C:\...>のような形です。 本チュートリアルは既定で PowerShell を使用します。cmd では有効化コマンドをactivate.batに置き換えるだけで、それ以外はすべて同じです。管理者権限は不要です。有効化ファイルはシェルに合わせる必要があります:cmd は
activate.bat、PowerShell はActivate.ps1です。cmd から.ps1を実行しても現在のウィンドウは有効化されません (通常は何も起こらないか、別のウィンドウが開きます)。また、先に.venvが存在することを 確認してください(dirに.venvフォルダが表示される必要があります)。なければ先にpy -3.12 -m venv .venvを実行してください。
Linux / macOS
cd ~/SR-Support # replace with where your SR-Support folder lives
python3 -m venv .venv
source .venv/bin/activate- 正しい場所にいるか分からないときは
lsを実行してください。firmware、tools、tutorialが表示される必要があります。
有効化すると、プロンプトに (.venv) が表示されます。以降のすべてのコマンド、および後続のチュートリアルページのコマンドは、この有効化済みのターミナルで実行します。新しいウィンドウを開いたら再度有効化してください。有効化しないと pip / python はシステムのインストール先を指すため、インストールや実行に失敗します。
有効化できたか確認します。
- Windows:
where python— 先頭の行が...\SR-Support\.venv\Scripts\python.exeである必要があります。 - Linux / macOS:
which python—.../SR-Support/.venv/bin/pythonである必要があります。
cmd で有効化したら画面が消えた? 標準の
activate.batは一時的にコンソールのコードページを 切り替える(chcp 65001)ため、一部のターミナルでは画面が再描画されます。これは新しいターミナル ではありません。新しいプロンプトが(.venv)で始まり、where pythonが.venv内を指していれば 有効化は成功しています。再描画を避けるには、PowerShell のActivate.ps1(コードページを変更しません) を使うか、有効化せずに.venv\Scripts\python.exeを直接呼び出してください。
ディレクトリ要件(重要):
.venvは必ずSR-Supportフォルダ(リポジトリのルート) に置き、 サブフォルダには置かないでください。上記の作成/有効化コマンドは相対パスを使うため、 そのフォルダから実行する必要があります。新しいターミナルを開いたら、まずそのフォルダに移動して (PowerShell:cd D:\Project\SR-Support、cmd:cd /d D:\Project\SR-Support、パスはご自身の環境に 合わせてください)から有効化するか、C:\path\SR-Support\.venv\Scripts\Activate.ps1/source /path/SR-Support/.venv/bin/activateのような絶対パスを使用してください。有効化後は任意のサブフォルダに
cdしてもpython/pip/pioはその.venvを指したままです。 ただしチュートリアルのtools/...、firmware/...、hardware/v1/...のパスは相対パスなので、SR-Supportフォルダから実行してください。venv は作成したパスに紐づきます。リポジトリを移動 または名前変更した場合は、.venvを削除して作り直してください。
2.4 書き込みツール(すべてのお客様 — いずれか 1 つを選択)
ビルド済みイメージは 0x0 に書き込む 1 つの bin です。PlatformIO もツールチェーンのダウンロードも不要です。 ターミナルが SR-Support フォルダにあり、プロンプトに (.venv) が表示されていることを確認してください。
A. Windows GUI:Espressif Flash Download Tool
- Espressif 公式の「Other Tools」ページを開き、Flash Download Tools をダウンロードします。 https://www.espressif.com/en/support/download/other-tools
- 起動し、ESP32-S3 を選択して、
firmware/releases/sr_support_b_ptk_factory.binをアドレス0x0に読み込み、ポートを選んで START をクリックします。
Flash Download Tool は Windows 専用です。Linux/macOS では下記の esptool を使用してください。
B. Windows / Linux / macOS:esptool(コマンドライン)
pip install esptool中国国内でネットワークが遅い場合はミラーを使用します。
pip install esptool -i https://pypi.tuna.tsinghua.edu.cn/simple書き込み(COM27 はご自身のポート。Linux は /dev/ttyACM0、macOS は /dev/tty.usbmodem*):
python -m esptool --chip esp32s3 -p COM27 -b 460800 write_flash 0x0 firmware/releases/sr_support_b_ptk_factory.bin接続に失敗する場合はダウンロードモードに入ります:BOOT を押したまま RST をタップし、BOOT を離します。
2.5 PlatformIO(開発者専用 — ソースからのビルド)
コードを変更しない限りスキップしてください。注意:PlatformIO(VS Code の PlatformIO 拡張を含む)は 初回使用時に espressif32 プラットフォームと Xtensa ツールチェーンをダウンロードします(PlatformIO レジストリと GitHub から約 1 GB)。中国国内の多くのネットワークでは遅いか失敗し、プロキシ/VPN が 必要になります。VS Code 拡張を使ってもダウンロードは避けられません。
ターミナルが SR-Support フォルダにあり、(.venv) が有効な状態で:
pip install platformioWindows では tools/install_platformio.ps1 を実行することもできます。これは同じ .venv にインストールします。確認:
pio --version古いチュートリアルでは PlatformIO を別の
.venv-pioにインストールしていましたが、現在は単一の.venvに入ります。アップグレード後にpioが見つからない場合は、有効化した.venvでpip install platformioを実行する(またはtools/install_platformio.ps1を再実行する)と解決します。 古い.venv-pioは削除して構いません。
2.6 PC 側ツールと MuJoCo 環境(ツイン / ゼロ点校正 / ログ)
書き込みには不要です。矢印キー式ゼロ点ツール、MuJoCo ライブツイン(tools/live_twin.py)、シミュレーションリプレイ、ログツールを使うときにインストールしてください。ターミナルが SR-Support フォルダにあり、.venv が有効な状態で、依存関係(pyserial、numpy、MuJoCo 3.1+、gymnasium)をインストールします。
pip install -r tools/requirements.txtWindows では tools/install_tools_env.ps1 を実行することもできます(.venv を作成または再利用し、同じセットをインストールします)。中国国内でネットワークが遅い場合は、Tsinghua ミラー -i https://pypi.tuna.tsinghua.edu.cn/simple を末尾に追加してください。初回インストールでは数百 MB をダウンロードします。
確認:環境セルフテストを実行する(import だけでなく、MuJoCo を読み込んでステップ実行します)
python tools/env_check.py最後の行が env check: PASS である必要があります。出力は次のような形です。
[ok] mujoco 3.16.0
[ok] model hardware\v1\robot_v1.xml: nq=9 nv=8 dt=0.0002s, 200 steps stable ...ボードを接続していない場合、[--] no serial port found は情報表示であり、PASS には影響しません。
Linux で MuJoCo ウィンドウを開くときに GLFW/OpenGL エラーが出る場合は、システムライブラリが不足して います。
libgl1とlibglew-devをインストールしてください(例:sudo apt install libgl1 libglew-dev)。 Windows/macOS の MuJoCo ホイールには必要なものが同梱されています。training/b_lineのシミュレーションと リプレイも同じ環境を使います。追加インストールは不要です。
2.7 ボードの接続とシリアルポートの確認
- USB-C で接続します。Windows ではデバイスマネージャーで COM 番号を確認します。Linux では通常
/dev/ttyACM0(ユーザーをdialoutグループに追加してください)、macOS では通常/dev/tty.usbmodem*です。 - そのポートを覚えてください。以降のページに出てくる
COM27はすべてこの値です。 - シリアルモニタや
hw_monitor.pyはポートを占有します。書き込み前に閉じてください。
2.8 チェックリスト
- [ ] ターミナルがリポジトリのルートにあり、プロンプトに
(.venv)が表示されている(pwd/Get-Locationで確認)。 - [ ]
firmware/releases/sr_support_b_ptk_factory.binが存在し、検証が通る(sha256sum -c firmware/releases/SHA256SUMS)。 - [ ]
python -m esptool versionが動作する、または Flash Download Tool が起動する。 - [ ] ボードのシリアルポートが見えている。
- [ ] (開発者)
pio --versionが動作する。 - [ ]
python tools/env_check.pyがenv check: PASSを出力する。
必要な項目がすべて通ってから先に進んでください。

