Windows ワンクリックデプロイ実行
AmazingHand-main.zip(AmazingHand-main.zip, サイトの単一ファイル上限を超えているため, support@juxitech.com までご請求ください)
本チュートリアルは AmazingHand(Pollen Robotics の器用なハンド)公式 Demo に基づいており、ワンクリックデプロイスクリプトを用意済みです。 番号順に実行するだけです。すべてのスクリプトは Demo\Windows一键部署脚本\ フォルダ下にあり、そのままダブルクリックで実行します。
ハードウェアの準備
モデルファイルは Onshape で閲覧またはご自身でダウンロードできます(URDF を含む)。
環境のインストール(スクリプト 1)
ダブルクリック ****1-安装环境.bat、自動で以下を実行します:
MSVC ビルドツールの確認(cl.exe)——Rust のコンパイルに必須。欠けている場合はインストールを促します Visual Studio 2022 Build Tools をインストールし、「C++ によるデスクトップ開発」にチェックを入れ、インストール後にターミナルを開き直します。
Rust のインストール(rustup + stable-msvc ツールチェーン)
cargo の清華ミラー源の設定(
C:\Users\<ユーザー名>\.cargo\config.toml)、crate のダウンロードを高速化uv のインストール(Python パッケージマネージャー)
dora-cli 0.5.0 のインストール(
cargo install、初回コンパイルは約 10~20 分、気長にお待ちください)dora-rs pip パッケージのインストール(任意、仮想環境にインストールされます)
重要:スクリプト終了後にターミナルを閉じて開き直し、環境変数を反映させてください。インストール過程はネットワークが原因で遅い場合があります。気長にお待ちいただき、途中で閉じないでください。
手動インストールの代替(スクリプトが使えない場合)
Rust:https://www.rust-lang.org/tools/install
Windows は rustup-init.exe を使用し、既定の MSVC ツールチェーンを選択
環境変数:
%USERPROFILE%\.cargo\binを PATH に追加
uv:PowerShell で
irm ``https://astral.sh/uv/install.ps1`` | iexを実行- 環境変数:
%USERPROFILE%\.local\binを PATH に追加
- 環境変数:
dora-cli:
cargo install dora-cli --version 0.5.0
cargo 清華ミラーの設定(~/.cargo/config.toml)
[source.crates-io]
replace-with = "tuna"
[source.tuna]
registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"
[registries.tuna]
index = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"
[http]
check-revoke = falsesparse 疎インデックス(上記)を使用し、git リポジトリミラーは使用しないでください——git 方式は初回に約 1GB のインデックスをダウンロードする必要があり、
Updating 'tuna' indexでスタックしやすいです。
配線方法
サーボドライバ基板の USB をパソコンに接続、外部 5V4A 電源
パソコン側でポート番号を確認:デバイスマネージャー → ポート(COM と LPT)、例
COM11
シリアルポートの設定(スクリプト 2)
ダブルクリック ****2-配置串口.bat(実際のロジックは 2-配置串口.ps1):
「サーボドライバ基板をパソコンに接続してください」と表示 → Enter で検出開始
検出された COM ポートを自動で一覧表示(デバイス名付き)
ポートが 1 つの場合は Enter で確定、複数の場合は番号を入力
3 つの dataflow yml の
--serialportとAHControl\src\main.rsの既定ポートを自動で書き込み元のファイルは自動で
.bakにバックアップ
USB を抜き差しするとポート番号が変わる場合があり、本スクリプトを再実行する必要があります。
コードのデプロイ(スクリプト 3)
ダブルクリック ****3-部署代码.bat、自動で以下を実行します:
dora デーモンを起動(
dora up)Python 3.12 仮想環境を作成(
uv venv --python 3.12)仮想環境をアクティブ化
AHControl Rust ノードをコンパイル(
cargo build --release、初回約 10 分)AHSimulation、HandTracking の依存関係を同期(
uv sync)mediapipe==0.10.14 を強制インストール
デプロイは 1 回だけ実行すれば十分です。その後繰り返し実行すると、仮想環境を再作成するか確認されます。
コードの実行(スクリプト 4)
ダブルクリック ****4-运行代码.bat、対話メニューが表示されます:
============================================
请选择运行模式:
============================================
1 - 模拟仿真(摄像头手势追踪)
2 - 真实硬件
q - 退出
============================================
请输入序号 [1/2/q]:1 を選択:シミュレーション環境、カメラのジェスチャーで 2 体のシミュレーションハンドを駆動
2 を選択:サブメニューに入り、右手 / 左手 / 両手を選択
============================================
真实硬件 - 请选择灵巧手:
============================================
1 - 右手
2 - 左手
3 - 左右双手
b - 返回上级菜单
============================================選択後、自動で dora build + dora run が実行されます。カメラウィンドウが開き、カメラに向かってジェスチャーを行うと、器用なハンドがリアルタイムに追従します。Ctrl+C で停止、データフロー終了後に Enter を押すとメインメニューに戻り、他のモードを選択するか q で終了できます。
初回実行時、Windows がカメラの権限をブロックする場合があります。「許可」をクリックするだけです。
プロジェクトのクリーンアップ(スクリプト 0)
ダブルクリック ****0-清理项目.bat、Y を入力して確定すると自動でクリーンアップします:
dora デーモンを停止
3 つの仮想環境(
.venv)を削除Rust のコンパイル生成物(
Demo\target)を削除pycache、.bakバックアップ、ログ、Demo\out(dora ログディレクトリ)を削除既定ポートを復元(
--serialport /dev/ttyACM0)、本機のシリアルポートの残留を除去
クリーンアップ後は
AmazingHand-mainフォルダ全体を他人にコピーでき、きれいで残留がありません。新しいマシンでは 1 → 2 → 3 → 4 の順に実行するだけです。
よくある問題と注意事項
8.1 cargo が Updating 'tuna' index で止まる
原因:ミラー設定が git リポジトリ方式(
.../git/crates.io-index.git)になっており、初回に 1GB+ のインデックスをダウンロードする解決:
C:\Users\<ユーザー名>\.cargo\config.tomlを sparse 疎インデックスに変更(2.2 節参照)、または1-安装环境.batを再実行
8.2 mediapipe に solutions サブモジュールが欠落 / インストール破損
uv pip uninstall mediapipeuv pip install mediapipe==0.10.14必ず仮想環境をアクティブ化した状態で実行してください(
Demoディレクトリ内)3-部署代码.batが自動でこのステップをフォールバックとして行います
8.3 dora のバージョン非互換(message v0.8.0 vs v0.7.0)
症状:
version mismatch: message format v0.8.0 is not compatible with expected message format v0.7.0原因:dora-cli のバージョンと dora-node-api が一致していません。必ず 0.5.0 に統一する必要があります
確認:
dora --versionはdora-cli 0.5.0、dora-message: 0.8.0を出力するはずです修正:
cargo install dora-cli --version 0.5.0 --forcePATH に複数の dora がある場合(例
C:\Users\xxx\.dora\binの旧版)、.cargo\binが前に来るようにするか、旧版を削除してください
8.4 MuJoCo / mediapipe のモデル読み込み失敗(中国語パス)
症状:
ParseXML: Error opening file '...\scene.xml'またはCan't find file: ....tflite原因:MuJoCo 3.x / mediapipe の C++ ローダーは Windows 上で中国語を含む絶対パスを開けません(例
D:\Claude工作区...)本プロジェクトは修正を内蔵済み:
AHSimulation\AHSimulation\mj_mink_*.pyはモデル読み込み前に作業ディレクトリを切り替えHandTracking\mediapipe_patch.pyは 8.3 短縮パス + 相対パスで回避
これらの修正コードを削除しないでください
8.5 カメラの権限
初回実行時のポップアップで「許可」を選択
設定 → プライバシー → カメラ → デスクトップアプリのアクセスを許可
8.6 ポート番号が毎回変わる
- USB を抜き差しすると COM 番号が変わる場合があり、
2-配置串口.batを再実行
8.7 openCV が不足
python -m pip install opencv-contrib-python numpy mediapipe -i https://mirrors.aliyun.com/pypi/simple/(HandTracking ディレクトリで、仮想環境をアクティブ化した後に実行)
コード構成の説明
Demo ディレクトリ
各 dataflow の対応関係
データフローの原理
カメラ → HandTracking(MediaPipe でジェスチャー認識)
↓ 手部キーポイント座標
AHSimulation(MuJoCo シミュレーション + 逆運動学)
↓ 関節目標角度
AHControl(シリアルポート → サーボドライバ基板 → 器用なハンド)ポート設定の場所
3 つの
dataflow_tracking_real_*.ymlのargs:行:--serialport COMxxAHControl\src\main.rsのdefault_value = "COMxx"(シリアルポートパラメータの既定値)AHControl\config\*.toml:サーボ型番、ID、オフセット(通常は変更不要)

