Cuprins:
Video: Crearea unui robot de echilibrare Arduino controlat de la distanță: B-robot EVO: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
De jjrobotsjjrobots Urmăriți mai multe de la autor:
Despre: Ne plac roboții, bricolajul și știința amuzantă. JJROBOTS își propune să apropie proiectele robotizate deschise de oameni prin furnizarea de hardware, documentație bună, instrucțiuni de construcție + cod, informații despre „cum funcționează” … Mai multe despre jjrobots »
------------------------------------------------
ACTUALIZARE: există o versiune nouă și îmbunătățită a acestui robot aici: B-robot EVO, cu noi caracteristici
------------------------------------------------
Cum functioneazã?
B-ROBOT EVO este un robot arduino de auto-echilibrare controlat de la distanță creat cu piese imprimate 3D. Cu doar două roți, B-ROBOT este capabil să își mențină echilibrul tot timpul folosind senzorii interni și acționând motoarele. Puteți să vă controlați robotul, făcându-l să se miște sau să se rotească, trimițând comenzi prin intermediul unui smartphone, tabletă sau PC, în timp ce acesta își menține echilibrul.
Acest robot de auto-echilibrare își citește senzorii inerțiali (accelerometre și giroscopuri integrate pe cipul MPU6000) de 200 de ori pe secundă. El își calculează atitudinea (unghiul față de orizont) și compară acest unghi cu unghiul țintă (0º dacă dorește să mențină echilibrul fără să se miște, sau un unghi pozitiv sau negativ dacă dorește să se deplaseze înainte sau înapoi). Folosind diferența dintre unghiul țintă (să zicem 0º) și unghiul real (să zicem 3º), el conduce un sistem de control pentru a trimite comenzile corecte către motoare pentru a-și menține echilibrul. Comenzile către motoare sunt accelerații. De exemplu, dacă robotul este înclinat înainte (unghiul robotului este de 3 °), atunci el trimite o comandă motoarelor pentru a accelera înainte până când acest unghi este redus la zero pentru a păstra echilibrul.
Pasul 1: Un pic mai mult în adâncime …
Problema fizică rezolvată de B-ROBOT se numește Pendul inversat. Acesta este același mecanism de care aveți nevoie pentru a echilibra o umbrelă deasupra mâinii. Punctul pivot este sub centrul de masă al obiectului. Mai multe informații despre Pendul inversat aici. Soluția matematică a problemei nu este ușoară, dar nu este nevoie să o înțelegem pentru a rezolva problema echilibrului robotului nostru. Ceea ce trebuie să știm este cum ar trebui să facem pentru a restabili echilibrul robotului, astfel încât să putem implementa un algoritm de control pentru a rezolva problema.
Un sistem de control este foarte util în robotică (o automatizare industrială). Practic este un cod care primește informații de la senzori și comenzi țintă ca intrări și creează, în consecință, semnale de ieșire pentru a acționa actuatoarele robotului (motoarele din exemplul nostru) pentru a regla sistemul. Folosim un controler PID (Proporțional + Derivat + Integral). Acest tip de control are 3 constante pentru ajustarea kP, kD, kI. Din Wikipedia: „Un controler PID calculează o valoare„ eroare”ca diferență între o [Intrare] măsurată și un punct de referință dorit. Controlerul încearcă să minimizeze eroarea ajustând [o ieșire].” Deci, îi spuneți PID ce trebuie să măsoare („Intrarea”), unde doriți să fie măsurarea respectivă („Punctul de referință”) și variabila pe care doriți să o ajustați pentru ca acest lucru să se întâmple („Ieșirea”.)
PID ajustează apoi ieșirea încercând să facă intrarea egală cu valoarea de referință. Pentru referință, un rezervor de apă pe care dorim să îl umplem până la un nivel, intrarea, valoarea de referință și ieșirea ar fi nivelul în funcție de senzorul de nivel al apei, nivelul dorit al apei și apa pompată în rezervor. kP este partea proporțională și este partea principală a controlului, această parte este proporțională cu eroarea. kD este partea derivată și se aplică derivatului erorii. Această parte depinde de dinamica sistemului (depinde de robot, de motoarele de greutate, de inerții …). Ultimul, kI se aplică integralei erorii și este utilizat pentru a reduce erorile constante, este ca o tăiere pe ieșirea finală (gândiți-vă la butoanele de tăiere de pe volanul unei mașini RC pentru a face mașina să meargă complet dreaptă, kI elimină decalajul dintre ținta necesară și valoarea reală).
Pe B-ROBOT comanda de direcție de la utilizator este adăugată la ieșirea motoarelor (un motor cu semn pozitiv și celălalt cu semn negativ). De exemplu, dacă utilizatorul trimite comanda de direcție 6 pentru a vira la dreapta (de la -10 la 10) trebuie să adăugăm 6 la valoarea motorului din stânga și să scădem 6 din motorul din dreapta. Dacă robotul nu se mișcă înainte sau înapoi, rezultatul comenzii de direcție este o rotire a robotului
Pasul 2: Dar telecomanda?
"încărcare =" leneș"
Recomandat:
Crearea unui controler MIDI alternativ folosind Makey-Makey și apă: 6 pași
Crearea unui controler MIDI alternativ folosind Makey-Makey și apă: Utilizarea Makey-Makey pentru a crea intrări personalizate și creative este incredibil de ușoară! În timp ce mulți oameni care folosesc hardware-ul își creează propriul instrument folosind intrările de pe Makey-Makey pentru a declanșa sunete sau note, am decis că putem face și mai mult
Crearea unui temporizator digital folosind Blynk: 5 pași
Crearea unui temporizator digital folosind Blynk: În această postare, învățăm cum să începem cu Blynk - O platformă IoT care este concepută pentru a simplifica întregul proces pentru noi și care funcționează și cu mai multe plăci cu internet
Crearea unui contor de kilometraj Arduino - Partea I: 4 pași
Crearea unui contor de kilometraj Arduino - Partea I: Este destul de obișnuit ca bicicliștii și utilizatorii de biciclete de exerciții să aibă nevoie să-și măsoare viteza și distanța parcursă. Pentru aceasta, avem nevoie de un dispozitiv cunoscut sub numele de contorometru. Contorometrul este responsabil pentru măsurarea acestor variabile și transmiterea acestor informații
[WIP] Crearea unui drawbot controlat de o bandă Myo: 11 pași
[WIP] Crearea unui drawbot controlat de o bandă Myo: Bună ziua tuturor! Acum câteva luni, am decis să încercăm să abordăm ideea construirii unui drawbot open-frame care să folosească doar o bandă Myo pentru a o controla. Când ne-am lansat pentru prima dată în proiect, am știut că va trebui să fie împărțit într-o pereche diferită
Crearea unui plan Rc cu 2 Arduino: 5 pași
Crearea unui avion Rc cu 2 Arduino: Realizarea unui avion este o provocare distractivă. Devine deosebit de dificil când folosești arduino în loc de un controler și un receptor pre-construiți. În acest tutorial vă voi arăta cum am făcut un avion controlat radio cu două arduino