Tutoriel d'exécution de l'exemple officiel de la main robotique
1. Téléchargement du code
Téléchargez l'archive de code fournie avec ce tutoriel pour la démo, ou clonez le dépôt open source officiel https://github.com/pollen-robotics/AmazingHand.git ; le code officiel peut contenir des erreurs.
Tutoriel d'exécution de l'exemple officiel de la main robotique
Archive de code Windows
[AmazingHand-main.zip]
Archive de code Linux
[AmazingHand-main.zip]
git clone https://github.com/pollen-robotics/AmazingHand.git2. Installation de l'environnement
Installer Rust, uv et dora-rs selon le système
1. Installer Rust : https://www.rust-lang.org/tools/install
Référence pour la configuration des variables d'environnement Rust sous Windows (important !) : https://zhuanlan.zhihu.com/p/1958936613276087180
Linux : définir les variables d'environnement :


L'installation initiale peut nécessiter l'installateur Visual Studio
Configurer le mirroir Cargo
Dans le dossier .cargo, créer config.toml et configurer le mirroir Tsinghua crates.io-index. Cargo téléchargera alors les crates via le mirroir Tsinghua.
[source.crates-io]
replace-with = 'tuna'
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"2. Installer uv : https://docs.astral.sh/uv/getting-started/installation/
Sous Windows, ouvrir PowerShell, coller et exécuter la commande

Linux : définir les variables d'environnement :

3. Installer dora-rs : voir https://dora-rs.ai/docs/guides/Installation/installing pour le téléchargement et l'installation
Linux : définir les variables d'environnement :

3. Câblage
L'alimentation nécessite au moins 5V3A ; elle est connectée en externe à une carte driver de servos, puis reliée à l'ordinateur via USB

4. Démo d'exemple
1. Trouver le numéro de port de la carte driver de servos
- Le système Windows est généralement COM11 ; le numéro de port de la carte driver de servos se trouve via le Gestionnaire de périphériques ou le logiciel hôte Feetech
- Les systèmes Ubuntu et Linux sont généralement /dev/ttyACM0
Vérifier le numéro de port de la carte driver de servos en ligne de commande :
ls /dev/ttyUSB* /dev/ttyACM*sudo chmod 666 /dev/ttyACM*sudo usermod -aG dialout $USERSi la commande ls /dev/ttyUSB* /dev/ttyACM* ne trouve rien dans la machine virtuelle, vérifier en bas à droite de la VM si la main est connectée à l'ordinateur hôte. Si c'est le cas, la déconnecter et la connecter à la machine virtuelle.

2. Modifier le numéro de port dans le code
①Localiser le fichier de code main.rs sous le répertoire AmazingHand-main\Demo\AHControl\src, l'ouvrir dans un éditeur de texte, et le modifier avec le numéro de port trouvé sur votre machine (COM* pour Windows, généralement /dev/ttyACM* pour Ubuntu et Linux)

②Trouver le fichier d'instance correspondant
Main droite : trouver dataflow_tracking_real_right.yml sous le répertoire AmazingHand-main\Demo
Main gauche : trouver dataflow_tracking_real_left.yml sous le répertoire AmazingHand-main\Demo
Deux mains : trouver dataflow_tracking_real_2hands.yml sous le répertoire AmazingHand-main\Demo
Ouvrir en format texte et le modifier avec le numéro de port trouvé sur votre machine (COM* pour Windows, généralement /dev/ttyACM* pour Ubuntu et Linux)



3. Déploiement du code
- Ouvrir le dossier Demo
Sur le système Windows, dans le répertoire, ouvrir PowerShell et appuyer sur Entrée pour l'ouvrir, puis démarrer le processus démon (à chaque fois) :
Pour les systèmes Linux, ouvrir directement via la console et démarrer le processus démon (à chaque fois) :
dora up- Puis exécuter depuis ce dossier dans la console (pendant la configuration de l'environnement, une seule exécution suffit !! Une nouvelle exécution écrasera l'environnement virtuel !!) Créer un environnement virtuel :
uv venv --python 3.12- Activer l'environnement virtuel (à chaque fois) en saisissant et exécutant ce qui suit selon le système :
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
.venv\Scripts\activatesource .venv/bin/activate
Assurez-vous que la console a activé l'environnement virtuel !
- Exécuter la synchronisation des dépendances et entrer dans le dossier AHControl
cd AHControlcargo build --release- Puis taper
cd..et appuyer sur Entrée pour revenir au répertoire Demo ! Entrer dans le dossier AHSimulation
cd AHSimulationuv sync- Puis taper
cd..et appuyer sur Entrée pour revenir au répertoire Demo ! Entrer dans le dossier HandTracking
cd HandTrackinguv sync4. Résultat
- Ouvrir le dossier Demo ! Dans le répertoire, ouvrir PowerShell et appuyer sur Entrée, puis démarrer le processus démon (à chaque fois) :
dora up- Activer l'environnement virtuel (à chaque fois) : saisir et exécuter selon le système :
Commande pour activer un environnement virtuel sur la plateforme Windows :
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process.venv\Scripts\activateCommande pour activer un environnement virtuel sur la plateforme Linux :
source .venv/bin/activateEnvironnement de simulation
- Exécuter la démo de suivi de main par webcam uniquement dans l'environnement de simulation :
dora build dataflow_tracking_simu.yml --uv #(Execute only once)dora run dataflow_tracking_simu.yml --uv

Exécution sur matériel réel (suivi de main)
Exécuter la démo de suivi de main par webcam avec le matériel réel :
Main droite
Plaindora build dataflow_tracking_real_right.yml --uv #(Execute only once)Plaindora run dataflow_tracking_real_right.yml --uvMain gauche
Plaindora build dataflow_tracking_real_left.yml --uv #(Execute only once)Plaindora run dataflow_tracking_real_left.yml --uvDeux mains (à noter : les deux sont connectées à une carte driver de servos)

```Plain Text
dora build dataflow_tracking_real_2hands.yml --uv #(Execute only once)
```
```Plain Text
dora run dataflow_tracking_real_2hands.yml --uv
```


Exemple simple pour contrôler l'angle du doigt simulé
Exécuter un exemple simple pour contrôler l'angle du doigt dans la simulation :
Plaindora build dataflow_angle_simu.yml --uv #(Execute only once)Plaindora run dataflow_angle_simu.yml --uv


Description
AHControl inclut un nœud dora-rs pour piloter le moteur, ainsi que quelques utilitaires pour configurer le moteur.
AHSimulation inclut un nœud dora-rs pour simuler le mouvement de la main et obtenir la cinématique inverse.
HandTracking inclut un nœud dora-rs qui suit les mains depuis une webcam et les utilise comme cibles pour piloter AH !
Remarques
1. Problème de version mediapipe
Dans pyproject.toml, mediapipe>=0.10.14 est configuré, mais le paquet mediapipe installé ne possède pas le sous-module solutions. Il s'agit très probablement d'une incompatibilité de version de mediapipe avec Python 3.12 (les versions supérieures de mediapipe ont des problèmes de prise en charge de Python 3.12), ou de fichiers de paquet corrompus lors de l'installation.
uv pip uninstall mediapipeuv pip install mediapipe==0.10.142. Incompatibilité de version Dora, format de message (v0.7.0 vs v0.8.0)

Réponse : ①Premièrement, dans le répertoire utilisateur du lecteur C, sous .cargo/registry/src/github.xxxxxxxx/, supprimer uniquement le paquet de dépendance correspondant !
dora-message-0.7.0 (crucial ! Il s'agit du dossier de l'ancien format de message, à supprimer)
dora-core-0.4.1
dora-node-api-0.4.1
dora-arrow-convert-0.4.1
dora-metrics-0.4.1
dora-tracing-0.4.1
const-random-macro-0.1.16 (bibliothèque auxiliaire dépendante de Dora, à supprimer avec l'ancienne version)
②Ouvrir le dossier Demo/AHControl et modifier dora-node-api="0.5.0" et dora-message="0.8.0" dans Cargo.toml
③Dans la console, se rendre dans le répertoire AHControl et relancer cargo build --release
④Refaire la « Exécution sur matériel réel » pour reconstruire
Modifier la version correspondante selon le message d'erreur réel. Par exemple, si dora-message requiert la version 0.6.0, passer à dora-node-api="0.4.0" dora-message="0.6.0".


3. Bibliothèque openCV manquante

Entrer la commande suivante dans le répertoire HandTracking
python -m pip install opencv-contrib-python numpy mediapipe -i https://mirrors.aliyun.com/pypi/simple/4. Activer l'autorisation caméra (PC)


5. Utilisation de la caméra dans la machine virtuelle 22.04
Voir https://blog.csdn.net/qq_19731521/article/details/124954288
6. Installation de la caméra de bureau
Étapes d'installation du support du kit caméra d'environnement
- Fixer d'abord le support d'angle à réglage fin

- Vue latérale du kit caméra d'environnement

Exécuter le suivi de main directement dans une machine virtuelle 22.04
Télécharger ces quatre fichiers, les placer dans un même dossier en anglais, puis utiliser le logiciel de machine virtuelle pour ouvrir directement le fichier .ovf afin d'entrer dans le système
Mot de passe : ubuntu
[ubuntu22.04_amazinghand.ovf]
[ubuntu22.04_amazinghand-disk1.vmdk]
[ubuntu22.04_amazinghand.mf]
[ubuntu22.04_amazinghand-file1.iso]
1. Ouvrir la console sous le répertoire Demo :
dora upEt activer l'environnement virtuel :
source .venv/bin/activate2. Autorisation d'accès à la caméra de la machine virtuelle
Référence pour la machine virtuelle 22.04 appelant la caméra : https://blog.csdn.net/qq_19731521/article/details/124954288
3. Vérifier le port de la carte driver de servos en ligne de commande :
ls /dev/ttyUSB* /dev/ttyACM*sudo chmod 666 /dev/ttyACM*sudo usermod -aG dialout $USER4. Modifier le numéro de port dans le fichier de code
①Localiser le fichier de code main.rs sous le répertoire AmazingHand-main\Demo\AHControl\src, l'ouvrir en mode texte, et le modifier avec le numéro de port trouvé sur votre machine (COM* pour Windows, généralement /dev/ttyACM* pour Ubuntu et Linux)

②Trouver le fichier d'instance correspondant
Main droite : trouver dataflow_tracking_real_right.yml sous le répertoire AmazingHand-main\Demo
Main gauche : trouver dataflow_tracking_real_left.yml sous le répertoire AmazingHand-main\Demo
Deux mains : trouver le fichier dataflow_tracking_real_2hands.yml sous le répertoire AmazingHand-main\Demo
Ouvrir en format texte et le modifier avec le numéro de port trouvé sur votre machine (COM* pour Windows, généralement /dev/ttyACM* pour Ubuntu et Linux)



5. Lancer le suivi de la main droite
dora run dataflow_tracking_real_right.yml --uv
