Sommario:
Video: Creazione di un robot di autobilanciamento Arduino controllato da remoto: B-robot EVO: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Di jjrobotsjjrobotsSegui di più dell'autore:
Informazioni: Amiamo i robot, il fai-da-te e la scienza divertente. JJROBOTS mira ad avvicinare i progetti robotici aperti alle persone fornendo hardware, buona documentazione, istruzioni per la costruzione + codice, informazioni su "come funziona" … Altro su jjrobots »
------------------------------------------------
AGGIORNAMENTO: qui c'è una versione nuova e migliorata di questo robot: il B-robot EVO, con nuove funzionalità
------------------------------------------------
Come funziona?
B-ROBOT EVO è un robot arduino autobilanciato controllato a distanza creato con parti stampate in 3D. Con solo due ruote, B-ROBOT è in grado di mantenere il suo equilibrio in ogni momento utilizzando i suoi sensori interni e azionando i motori. Puoi controllare il tuo Robot, facendolo muovere o girare, inviando comandi tramite Smartphone, Tablet o PC mentre mantiene il suo equilibrio.
Questo robot autobilanciato legge i suoi sensori inerziali (accelerometri e giroscopi integrati nel chip MPU6000) 200 volte al secondo. Calcola il suo atteggiamento (angolo rispetto all'orizzonte) e confronta questo angolo con l'angolo bersaglio (0º se vuole mantenere l'equilibrio senza muoversi, o un angolo positivo o negativo se vuole andare avanti o indietro). Usando la differenza tra l'angolo target (diciamo 0º) e l'angolo effettivo (diciamo 3º) guida un sistema di controllo per inviare i comandi giusti ai motori per mantenere il suo equilibrio. I comandi ai motori sono accelerazioni. Ad esempio, se il robot è inclinato in avanti (l'angolo del robot è 3º), invia un comando ai motori per accelerare in avanti finché questo angolo non si riduce a zero per preservare l'equilibrio.
Passaggio 1: un po' più in profondità…
Il problema fisico che B-ROBOT risolve si chiama Pendolo Invertito. Questo è lo stesso meccanismo di cui hai bisogno per bilanciare un ombrello sopra la tua mano. Il punto di rotazione è sotto il centro di massa dell'oggetto. Maggiori informazioni sul pendolo invertito qui. La soluzione matematica al problema non è facile, ma non abbiamo bisogno di capirla per risolvere il problema dell'equilibrio del nostro robot. Quello che dobbiamo sapere è come fare per ripristinare l'equilibrio del robot in modo da poter implementare un algoritmo di controllo per risolvere il problema.
Un sistema di controllo è molto utile nella robotica (un'automazione industriale). Fondamentalmente è un codice che riceve informazioni da sensori e comandi target come input e crea, di conseguenza, segnali in uscita per pilotare gli attuatori del Robot (i motori nel nostro esempio) al fine di regolare il sistema. Stiamo utilizzando un controller PID (Proporzionale + Derivato + Integrale). Questo tipo di controllo ha 3 costanti per regolare kP, kD, kI. Da Wikipedia: "Un controller PID calcola un valore di "errore" come differenza tra un [Input] misurato e un setpoint desiderato. Il controller tenta di ridurre al minimo l'errore regolando [un Output]”. Quindi, dici al PID cosa misurare (l'"Input"), dove vuoi che sia quella misurazione (il "Setpoint",) e la variabile che desideri regolare per farlo accadere (l'"Uscita").
Il PID quindi regola l'uscita cercando di rendere l'ingresso uguale al setpoint. Per riferimento, un serbatoio dell'acqua che vogliamo riempire fino a un livello, Input, Setpoint e Output sarebbe il livello in base al sensore di livello dell'acqua, il livello dell'acqua desiderato e l'acqua pompata nel serbatoio. kP è la parte Proporzionale ed è la parte principale del controllo, questa parte è proporzionale all'errore. kD è la parte Derivata e si applica alla derivata dell'errore. Questa parte dipende dalla dinamica del sistema (dipende dal robot, dal peso dei motori, dalle inerzie…). L'ultimo, kI viene applicato all'integrale dell'errore e viene utilizzato per ridurre gli errori costanti, è come un trim sull'output finale (pensa ai pulsanti di trim sul volante di un'auto RC per far andare l'auto completamente dritta, kI rimuove l'offset tra il target richiesto e il valore effettivo).
Su B-ROBOT il comando di sterzata da parte dell'utente viene aggiunto all'uscita dei motori (un motore con segno positivo e l'altro con segno negativo). Ad esempio se l'utente invia il comando sterzo 6 per svoltare a destra (da -10 a 10) occorre aggiungere 6 al valore del motore sinistro e sottrarre 6 dal motore destro. Se il robot non si muove in avanti o indietro, il risultato del comando di sterzata è una rotazione del robot
Passaggio 2: che dire del telecomando?
"caricamento = "pigro"
Consigliato:
Creazione di un contachilometri Arduino - Parte I: 4 passaggi
Creazione di un contachilometri Arduino - Parte I: è abbastanza comune per i ciclisti e gli utenti di cyclette dover misurare la velocità e la distanza percorsa. Per questo, abbiamo bisogno di un dispositivo noto come contachilometri. Il contachilometri è responsabile della misurazione di queste variabili e della trasmissione di queste informazioni
Collegamento di elaborazione e Arduino e creazione di controller GUI a 7 segmenti e servo: 4 passaggi
Connessione di elaborazione e Arduino e creazione di un controller GUI a 7 segmenti e servo: per alcuni progetti è stato necessario utilizzare Arduino in quanto fornisce una piattaforma di prototipazione semplice, ma la visualizzazione della grafica nel monitor seriale di Arduino può richiedere molto tempo ed è persino difficile da fare. È possibile visualizzare i grafici sul monitor seriale Arduino bu
6 anni Creazione di un semaforo di base con Scratch per Arduino: 3 passaggi
6 anni Creazione di un semaforo di base con Scratch per Arduino: Mio figlio era già curioso dei miei progetti Arduino. Ha giocato per un po' con Snap Circuits e LEGO. Ha anche iniziato a costruire alcuni progetti Scratch. Era solo questione di tempo per noi di giocare con Scratch per Arduino. Questo è il nostro primo progetto. O
Arduino UNO (creazione di menu e funzioni): 4 passaggi
Arduino UNO (creazione di menu e funzioni): in questo tutorial esploreremo come creare menu, leggere la temperatura da un sensore TC74A0 e visualizzare "valori" (in questo caso numeri di cellulare) in un modo infinito, ma limitato a la memoria di bordo dell'arduino
[WIP] Creazione di un Drawbot controllato da un bracciale Myo: 11 passaggi
[WIP] Creazione di un Drawbot controllato da un bracciale Myo: Ciao a tutti! Alcuni mesi fa, abbiamo deciso di provare ad affrontare l'idea di costruire un drawbot a telaio aperto che utilizzasse solo una banda Myo per controllarlo. Quando abbiamo iniziato il progetto, sapevamo che sarebbe stato necessario suddividerlo in un paio di p