Sommario:
- Passaggio 1: il diagramma di flusso
- Fase 2: PRINCIPALI COMPONENTI COINVOLTI:
- Fase 3: MODULO V1:
- Fase 4: MODULO V2:
- Fase 5: PROBLEMI COINVOLTI -
- Fase 6: MODULI A1 e A2:
- Passaggio 7: collegamento ai video:
Video: Robot che cammina da solo: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Cosa ho fatto?
● Un bot che può essere addestrato a camminare (andare avanti) su diverse superfici. Il bot raffigura una semplice creatura con 4 gambe "senza ginocchio" che sta lottando per andare avanti. Sa che può orientare ciascuna delle gambe solo in 3 modi possibili. Ora deve capire i migliori passi possibili per continuare a muoversi. Poiché il suo movimento dipende anche dall'attrito con la superficie, riteniamo che per ogni superficie diversa su cui cammina, ci sarà una serie di passaggi diversi (non necessariamente unici ma molto probabilmente simili) per massimizzare il suo sforzo di andare avanti.
A cosa serve?
● È meglio utilizzato per visualizzare i modelli di camminata per un ROBOT AI.
Passaggio 1: il diagramma di flusso
Qui una ripartizione dell'intero progetto. In linea di massima il progetto è in 2 parti l'elettronica con la struttura meccanica del robot e l'altra è l'algoritmo in esecuzione su pc e codice in esecuzione su arduino.
Fase 2: PRINCIPALI COMPONENTI COINVOLTI:
Elettronica
Arduino UNO(!)
Sensore ultrasonico
Servomotori
Modulo Bluetooth
codifica
Arduino IDE
Teraterm
Taccuino Jupyter
Algoritmo di Q-learning
Fase 3: MODULO V1:
Apprendimento per rinforzo: utilizzando ANN (Artificial Neural Network) abbiamo pianificato di addestrare il nostro robot e abbiamo trovato due possibili metodi.
Vincoli: ogni gamba (servomotore) è vincolata a prendere solo 3 possibili posizioni di 60, 90 e 120 gradi. Ipotesi: Consideriamo che il movimento del bot costituirà 4 stati (uno stato è un certo orientamento di tutti e quattro i servi), cioè ci saranno 4 diversi stati del robot che considereremo come 4 passi che ci danno rispettivamente un ciclo di movimento, in quale il bot si sposterà di una certa distanza in avanti. Questo ciclo verrà ripetuto all'infinito per mantenere il bot in movimento.
Ma l'unico problema era il numero di iterazioni da valutare: abbiamo 3 possibili orientamenti per ogni motore e ci sono 4 motori diversi che lo rendono 3^4=81 stati in cui il robot può esistere in un singolo passaggio o stato. Dobbiamo compiere 4 passaggi diversi per completare un movimento complesso, il che significa 81^4 = 43, 046, 721 possibili combinazioni da verificare per la massima efficienza per un ciclo di movimento. Supponiamo che ci vogliano 5 secondi per addestrare un singolo stato, ci vorrebbero 6.8250 anni per completare l'addestramento!
Fase 4: MODULO V2:
Algoritmo di Q-learning
Un algoritmo di apprendimento per rinforzo precoce sviluppato per addestrare cose che hanno uno stato finito e trovare i percorsi più brevi. fonte:
Math of Algorithm: ci sono 81 possibili stati per ogni passaggio in cui può trovarsi il bot, chiamiamo questi stati come numeri da 1 a 81 e ora quello che vogliamo sapere è il valore di transizione, ovvero il cambiamento nella posizione del robot (distanza spostata) mentre si sposta da uno stato casuale s1 a qualche altro stato s2 (s1, s2 da quegli 81 stati). Possiamo vederlo come una matrice con 81 righe e 81 colonne in cui un elemento della matrice sarà uguale al valore della distanza da cui si è spostato corrispondente al suo numero di riga e colonna. Questi valori possono essere positivi o negativi a seconda dell'azione del robot nella parola reale. Ora troveremo un ciclo chiuso di stati in cui la distanza percorsa è sempre positiva, valuteremo i valori della matrice 81x81 che sono 81^2=6561, ora se impieghiamo 5 secondi per ottenere questi valori memorizzati nella matrice, allora lo farà impiegare 9.1125 ore solo per creare un'intera matrice e quindi un ciclo di passaggi per massimizzare l'efficienza del movimento potrebbe essere facilmente individuato.
Fase 5: PROBLEMI COINVOLTI -
- Per alcuni stati il movimento del bot era molto irregolare e stava influenzando il valore del sensore degli ultrasuoni, il bot si inclinava e prendeva la distanza da una parete lontana.
- Il problema della disconnessione dal laptop e il riavvio di arduino lo faceva allenare dal valore 0 era molto irritante.
- Guardare il treno del robot per 5 ore continue è stato molto esaustivo.
Fase 6: MODULI A1 e A2:
- La parte meccanica comprende la scheda del telaio con quattro servocomandi fissati ad essa. Abbiamo usato dei bastoncini di gelato per fare le gambe.
- Il nostro compito principale - tenere traccia della distanza del bot dalla sua posizione iniziale.
- Il nostro primo approccio è stato quello di utilizzare il sensore giroscopico e utilizzare l'accelerazione del bot mentre si muove per estrarre la sua velocità e successivamente la sua posizione.
- Problema - Si è rivelato troppo complicato da implementare! Alternativa: abbiamo limitato il movimento del robot a 1 sola dimensione e utilizzato un sensore a ultrasuoni per misurare la distanza da un muro davanti a te.
- Il modulo HC05-Bluetooth è stato utilizzato durante il periodo di addestramento per trasmettere al PC la velocità di transizione della distanza tra due passaggi e lì i dati sono stati archiviati in una matrice.
Passaggio 7: collegamento ai video:
Piccoli passi:
Scatto di allenamento:
Quasi dritto:
Video del robot danzante:
Video finale0:
Consigliato:
Heartcrab: un robot Lambada che cammina in tasca!: 15 passaggi (con immagini)
Heartcrab: a Lambada-Walking Robot in Your Pocket!: Questo è uno di questi progetti con molteplici significati: è questo il parente scadente dei "headcrabs" dai videogiochi Half-Life? Forse un robot ambulante innamorato di una coccinella? O la coccinella sta pilotando il suo mech? Qualunque sia la risposta
Fantastico sintetizzatore analogico/organo che utilizza solo componenti discreti: 10 passaggi (con immagini)
Fantastico sintetizzatore/organo analogico che utilizza solo componenti discreti: i sintetizzatori analogici sono molto interessanti, ma anche piuttosto difficili da realizzare. Quindi volevo crearne uno il più semplice possibile, in modo che il suo funzionamento possa essere facilmente comprensibile. Perché funzioni, tu bisogno di alcuni sotto-circuiti di base: un semplice oscillatore con resist
Robot che segue l'uomo che usa Arduino Uno sotto i 20 $: 9 passaggi
Robot che segue umano usando Arduino Uno sotto i 20 $: quindi ho realizzato questo robot circa un anno fa e mi è piaciuto che possa seguirti ovunque e ovunque. questa è la migliore alternativa per un cane. è ancora con me fino ad ora. Ho anche un canale youtube dove puoi vedere il processo di realizzazione nel vi
Solo linea, solo luce! (Tipo 1): 19 passaggi
Just Line, Just Light!(Tipo1): è un'opera di espressione della luce su lastre acriliche incise con motivi di line art.Esprime colori e motivi di vari LED armoniosamente.Questo progetto è stato realizzato con motivi di Arout Meijer's "Grazie per i pianeti" a partire dal
Come realizzare un OAWR (robot che cammina per evitare ostacoli): 7 passaggi (con immagini)
Come realizzare un OAWR (robot ambulante per evitare ostacoli): questo tutorial mostra come creare un piccolo robot ambulante che eviti gli ostacoli (proprio come molte opzioni disponibili in commercio). Ma qual è il divertimento nell'acquistare un giocattolo quando puoi invece iniziare con un motore, un foglio di plastica e una pila di bulloni e pro