🧪 Stanno arrivando nuovi tutorial — dal braccio robotico al sensore
Vai al contenuto
Acquista questo prodottoNegozio ufficialeSito ufficiale

Tutorial di esecuzione dell'esempio ufficiale della mano robotica ​

Acquista nel negozio

1. Download del codice ​

Si consiglia di scaricare l'archivio compresso del codice allegato a questo tutorial per la dimostrazione della demo, oppure di clonare il repository del codice open source ufficiale https://github.com/pollen-robotics/AmazingHand.git . Nota che il codice open source ufficiale può contenere errori o omissioni.

Tutorial di esecuzione dell'esempio ufficiale AmazingHand

Archivio compresso del codice per Windows

AmazingHand-main.zip

Archivio compresso del codice per Linux

AmazingHand-main.zip

Plain
git clone https://github.com/pollen-robotics/AmazingHand.git

2. Installazione dell'ambiente ​

Installa Rust, uv e dora-rs secondo la procedura di autoinstallazione del sistema

1. Installare Rust: https://www.rust-lang.org/tools/install

Riferimento per la configurazione delle variabili d'ambiente di Rust su Windows (importante!) https://zhuanlan.zhihu.com/p/1958936613276087180

Impostazioni delle variabili d'ambiente per Linux:

2. Installazione dell'ambiente – 1

2. Installazione dell'ambiente – 2

Per la prima installazione potrebbe essere richiesto l'installer di Visual Studio

Configurare la sorgente mirror di Cargo

Nella cartella .cargo, crea il file di configurazione config.toml e configura il mirror Tsinghua crates.io-index, così Cargo userà la sorgente mirror dell'Università Tsinghua per scaricare i crate.

Bash
[source.crates-io]
replace-with = 'tuna'

[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

2. Installare uv: https://docs.astral.sh/uv/getting-started/installation/

2. Installazione dell'ambiente – 3

Sul lato Windows, apri il terminale PowerShell, copia e poi inserisci questo comando per installare

Impostazioni delle variabili d'ambiente per Linux:

2. Installazione dell'ambiente – 4

3. Installare dora-rs: per il download e l'installazione fai riferimento a [https://dora-rs.ai/docs/guides/Installation/installing](https://dora-rs.ai/docs/guides/Installation/installing)

Impostazioni delle variabili d'ambiente per Linux:

2. Installazione dell'ambiente – 5

3. Cablaggio ​

L'alimentazione richiede almeno 5V3A, è collegata esternamente a una scheda driver servo e si connette al computer via USB

3. Cablaggio – 1

4. Demo d'esempio ​

1. Controllare il numero di porta della scheda driver servo ​

  • Su Windows di solito è COM11; il numero di porta della scheda driver servo si trova tramite il Gestione dispositivi o il software host dei servo Feetech

1. Controllare il numero di porta della scheda driver servo – 1

  • I sistemi Ubuntu e Linux di solito usano /dev/ttyACM0

Controlla il numero di porta della scheda driver servo dalla riga di comando:

Bash
ls /dev/ttyUSB* /dev/ttyACM*
Plain
sudo chmod 666 /dev/ttyACM*
Plain
sudo usermod -aG dialout $USER

Se il comando "ls /dev/ttyUSB* /dev/ttyACM*" non trova la directory nella macchina virtuale, controlla se la mano robotica è collegata al computer nell'angolo in basso a destra della macchina virtuale. In tal caso, scegli di scollegarla e collegala alla macchina virtuale.

1. Controllare il numero di porta della scheda driver servo – 2

2. Modificare il numero di porta nel codice ​

① Individua il file di codice main.rs nella directory AmazingHand-main\Demo\AHControl\src, aprilo con un editor di testo e modificalo con il numero di porta trovato sul tuo host (COM* per Windows, di solito /dev/ttyACM* per i sistemi Ubuntu e Linux)

2. Modificare il numero di porta nel codice – 1

② Individua il file dell'esempio corrispondente

Mano destra trova dataflow_tracking_real_right.yml nella directory AmazingHand-main\Demo

Mano sinistra trova dataflow_tracking_real_left.yml nella directory AmazingHand-main\Demo

Doppia mano robotica trova dataflow_tracking_real_2hands.yml nella directory AmazingHand-main\Demo

Aprilo in formato testo e modificalo con il numero di porta trovato sul tuo host (COM* per Windows, di solito /dev/ttyACM* per i sistemi Ubuntu e Linux)

2. Modificare il numero di porta nel codice – 2

2. Modificare il numero di porta nel codice – 3

2. Modificare il numero di porta nel codice – 4

3. Deploy del codice ​

  • Apri la cartella Demo

Sul sistema Windows, nella directory digita Powershell e premi Invio per aprirlo, poi avvia il processo demone (ogni volta):

Per i sistemi Linux, aprilo direttamente dalla console e avvia il processo demone (ogni volta):

Plain
dora up
  • Poi esegui da questa directory nella console (durante la configurazione dell'ambiente puoi eseguirlo una sola volta!! Rieseguirlo sovrascriverà l'ambiente virtuale!!) Crea un ambiente virtuale:
Plain
uv venv --python 3.12
  • Attiva l'ambiente virtuale (ogni volta) inserendo ed eseguendo quanto segue in base al sistema:
Plain
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process

.venv\Scripts\activate
Plain
source .venv/bin/activate

3. Deploy del codice – 1

Assicurati che la console abbia attivato l'ambiente virtuale!

  • Esegui la sincronizzazione delle dipendenze ed entra nella cartella AHControl
Plain
cd AHControl
Plain
cargo build --release
  • Poi inserisci cd.. e premi Invio per tornare alla directory Demo! Entra nella cartella AHSimulation
Plain
cd AHSimulation
Plain
uv sync
  • Poi inserisci cd.. e premi Invio per tornare alla directory Demo! Entra nella cartella HandTracking
Plain
cd HandTracking
Plain
uv sync

4. Risultato ​

  • Apri la cartella Demo! Nella directory digita Powershell e premi Invio per aprirlo, poi avvia il processo demone (ogni volta):
Plain
dora up
  • Attiva l'ambiente virtuale (ogni volta). Inserisci ed esegui in base al sistema:

Comando per attivare l'ambiente virtuale sulla piattaforma Windows:

Python
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
Plain
.venv\Scripts\activate

Comando per attivare l'ambiente virtuale sulla piattaforma Linux:

Plain
source .venv/bin/activate

Ambiente di simulazione ​

  • Esegui la demo di tracking della mano via webcam solo nell'ambiente di simulazione:
Plain
dora build dataflow_tracking_simu.yml --uv   #(Execute only once)
Plain
dora run dataflow_tracking_simu.yml --uv

Ambiente di simulazione – 1

Ambiente di simulazione – 2

Esecuzione su hardware reale (tracking della mano) ​

  • Esegui la demo di tracking della mano via webcam usando l'hardware reale:

    Mano destra ​

    Plain
    dora build dataflow_tracking_real_right.yml --uv   #(Execute only once)
    Plain
    dora run dataflow_tracking_real_right.yml --uv

    Mano sinistra ​

    Plain
    dora build dataflow_tracking_real_left.yml --uv   #(Execute only once)
    Plain
    dora run dataflow_tracking_real_left.yml --uv

    Doppia mano robotica (nota che entrambe sono collegate a una scheda driver servo) ​

Esecuzione su hardware reale tracking della mano – 1

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

```Plain Text
dora run dataflow_tracking_real_2hands.yml --uv
```

Esecuzione su hardware reale tracking della mano – 2

Esecuzione su hardware reale tracking della mano – 3

Esempio semplice per controllare l'angolo delle dita simulate ​

  • Esegui un semplice esempio per controllare l'angolo delle dita in simulazione:

    Plain
    dora build dataflow_angle_simu.yml --uv   #(Execute only once)
    Plain
    dora run dataflow_angle_simu.yml --uv

Esempio semplice per controllare l'angolo delle dita simulate – 1

Esempio semplice per controllare l'angolo delle dita simulate – 2

Descrizione

  • AHControl include un nodo dora-rs per controllare il motore, oltre ad alcune utility per configurare il motore.

  • AHSimulation include un nodo dora-rs per simulare il movimento della mano e ottenere la cinematica inversa.

  • HandTracking include un nodo dora-rs che traccia le mani da una webcam e le usa come target per controllare AH!

Precauzioni ​

1. Problema di versione di mediapipe ​

In pyproject.toml è configurato mediapipe>=0.10.14, ma il pacchetto mediapipe installato non include il sottomodulo solutions. Molto probabilmente la versione di mediapipe è incompatibile con Python 3.12 (le versioni più recenti di mediapipe hanno problemi con il supporto di Python 3.12), oppure i file del pacchetto sono stati danneggiati durante l'installazione.

Plain
uv pip uninstall mediapipe
Plain
uv pip install mediapipe==0.10.14

2. Incompatibilità di versione di Dora, formato dei messaggi (v0.7.0 vs v0.8.0) ​

2. Incompatibilità di versione di Dora, formato dei messaggi v0.7.0 vs v0.8.0 – 1

Risposta: ① Per prima cosa, sotto la directory .cargo/registry/src/github.xxxxxxxx/ nella directory utente dell'unità C, elimina solo il pacchetto di dipendenza corrispondente!

dora-message-0.7.0 (fondamentale! Questa è la cartella del vecchio formato dei messaggi e deve essere eliminata)

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 (libreria ausiliaria dipendente da Dora, da eliminare insieme alla vecchia versione)

② Apri la cartella Demo/AHControl e modifica in Cargo.toml dora-node-api="0.5.0" e dora-message="0.8.0"

③ Nella console, vai alla directory AHControl ed esegui di nuovo cargo build --release

④ Rifai quanto descritto nella sezione «esecuzione su hardware reale» per ricompilare

Modifica la versione corrispondente in base all'errore effettivamente segnalato. Per esempio, se dora-message richiede la versione 0.6.0, cambialo in dora-node-api="0.4.0" dora-message="0.6.0".

2. Incompatibilità di versione di Dora, formato dei messaggi v0.7.0 vs v0.8.0 – 2

2. Incompatibilità di versione di Dora, formato dei messaggi v0.7.0 vs v0.8.0 – 3

3. Libreria openCV mancante ​

3. Libreria openCV mancante – 1

Nella directory HandTracking inserisci il seguente comando

Python
python -m pip install opencv-contrib-python numpy mediapipe -i https://mirrors.aliyun.com/pypi/simple/

4. Permesso fotocamera abilitato (computer) ​

4. Permesso fotocamera abilitato computer – 1

4. Permesso fotocamera abilitato computer – 2

4. Permesso fotocamera abilitato computer – 3

5. La macchina virtuale 22.04 usa la fotocamera ​

Riferimento: https://blog.csdn.net/qq_19731521/article/details/124954288

6. Installazione della fotocamera desktop ​

Passaggi di installazione della staffa del kit fotocamera ambientale ​

  1. Per prima cosa, fissa la staffa dell'angolo di regolazione fine

Passaggi di installazione della staffa del kit fotocamera ambientale – 1

  1. Kit fotocamera ambientale vista laterale

Passaggi di installazione della staffa del kit fotocamera ambientale – 2

La macchina virtuale 22.04 esegue direttamente il tracking della mano ​

Scarica questi quattro file e mettili nella stessa directory con nome in inglese, poi usa il software della macchina virtuale per aprire direttamente il file .ovf e accedere al sistema

Password ubuntu

[ubuntu22.04_amazinghand.ovf]

[ubuntu22.04_amazinghand-disk1.vmdk]

[ubuntu22.04_amazinghand.mf]

[ubuntu22.04_amazinghand-file1.iso]

1. Apri la console nella directory Demo:

Plain
dora up

E attiva l'ambiente virtuale:

Plain
source .venv/bin/activate

2. Permesso fotocamera nella macchina virtuale

Riferimento per far usare la fotocamera alla VM 22.04: https://blog.csdn.net/qq_19731521/article/details/124954288

3. Controlla la porta della scheda driver servo dalla riga di comando:

Bash
ls /dev/ttyUSB* /dev/ttyACM*
Plain
sudo chmod 666 /dev/ttyACM*
Plain
sudo usermod -aG dialout $USER

4. Modifica il numero di porta nel file di codice

① Individua il file di codice main.rs nella directory AmazingHand-main\Demo\AHControl\src, aprilo in modalità testo e modificalo con il numero di porta trovato sul tuo host (COM* per Windows, di solito /dev/ttyACM* per i sistemi Ubuntu e Linux)

La macchina virtuale 22.04 esegue direttamente il tracking della mano – 1

② Individua il file dell'esempio corrispondente

Mano destra trova dataflow_tracking_real_right.yml nella directory AmazingHand-main\Demo

Mano sinistra trova dataflow_tracking_real_left.yml nella directory AmazingHand-main\Demo

Doppia mano robotica trova dataflow_tracking_real_2hands.yml nella directory AmazingHand-main\Demo

Aprilo in formato testo e modificalo con il numero di porta trovato sul tuo host (COM* per Windows, di solito /dev/ttyACM* per i sistemi Ubuntu e Linux)

La macchina virtuale 22.04 esegue direttamente il tracking della mano – 2

La macchina virtuale 22.04 esegue direttamente il tracking della mano – 3

La macchina virtuale 22.04 esegue direttamente il tracking della mano – 4

5. Avvia il tracking della mano destra

Plain
dora run dataflow_tracking_real_right.yml --uv

File del modello ​

Il modello può essere consultato o scaricato su Onshape (inclusi mano destra e file URDF), ad esempio se servono file del modello in altri formati

Right_Hand.step

Il modello MuJoCo della mano abile

Immagine 20