Robotica

Cum să planifici un robot simplu folosind Linux

Cum să planifici un robot simplu folosind Linux
După ce ați instalat ROS, este posibil să doriți să construiți un robot. O modalitate bună de a reuși în acest proiect este de a planifica ceea ce vrei să faci. În acest caz, ROS vine în ajutor. Cu ROS, puteți configura ceea ce ați construit și vizualiza totul. Atunci când lucrați cu roboți, vor exista multe scenarii pe care poate fi necesar să le luați în considerare. Robotul trebuie să interacționeze cu mediul, cum ar fi evitarea canapelei și găsirea drumului înapoi din bucătărie. Robotul ar trebui să aibă, de asemenea, brațe și picioare, dacă nevoile dvs. o cer. Puteți simula toate acestea folosind ROS și, pentru partea de codificare, puteți simula, de asemenea, componentele interne ale sistemului dvs.

Cum construiești un robot ROS?

Pentru ca sistemul să funcționeze bine și pentru a putea urmări ceea ce va face dispozitivul în anumite situații, aveți nevoie de definiții standard pentru fiecare parte. În ROS, aceste componente sunt noduri, servicii și subiecte. Pe scurt, creați un nod pentru fiecare nevoie majoră. De exemplu, mișcarea este un nod, viziunea este un alt nod, iar planificarea este un al treilea nod. Nodurile conțin servicii care pot trimite informații către alte noduri, iar serviciile pot gestiona, de asemenea, cereri și răspunsuri. Un subiect poate transmite valori către multe alte noduri. Înțelegerea acestor termeni și modul în care ar trebui să îi folosiți este prima cheie pentru stăpânirea dezvoltării ROS2.

Emulați navigarea cu turtlesim

Când începeți în ROS, probabil că veți cumpăra un robot care merge sau se rostogolește în casa dvs. Pentru a face acest lucru, robotul trebuie să aibă o vedere a zonei în care navighează. Pentru a face acest lucru, puteți utiliza o aplicație asemănătoare hărții pentru a testa comportamentul robotului. Designerii din spatele Turtlebot au venit cu o aplicație, numită turtlesim, care poate face acest lucru pentru dvs. Ca și în toate celelalte părți ale ROS2, puteți porni aceste instrumente cu o comandă secundară din linia de comandă. Apoi aveți activități pentru diferite funcții. Prima parte este să porniți fereastra în care puteți vedea simularea și aceasta se numește nod.

$ ros2 run turtlesim turtlesimnode

Va apărea o fereastră cu o broască țestoasă în centru. Pentru a controla broasca țestoasă cu tastatura, trebuie să rulați o a doua comandă care rămâne deschisă și să continuați să apăsați anumite taste. Acesta este un al doilea nod care comunică cu primul.

$ ros2 run turtlesim turtleteleopkey

Acum, puteți muta broasca țestoasă și puteți vedea cum se mișcă. Este posibil să apară și erori, cum ar fi lovirea pe perete. Aceste erori apar în terminalul unde rulează turtlesimnode. Aceasta este cea mai simplă utilizare a modulului de simulare. De asemenea, puteți rula forme date, este oferit un pătrat și puteți adăuga mai multe broaște țestoase. Pentru a adăuga mai multe broaște țestoase, puteți utiliza comanda rqt.

Definiți serviciile cu rqt

Programul rqt oferă servicii pentru simulare. Q înseamnă Qt, care este pentru manipularea interfeței. În acest exemplu, generați o broască țestoasă nouă.

$ rqt

Interfața rqt este o listă lungă de servicii pentru simularea pe care o executați. Pentru a crea o broască țestoasă nouă, alegeți meniul derulant „spawn”, dați broasca țestoasă un nou nume și dați clic pe „apelați”.'Veți vedea imediat o broască țestoasă nouă lângă prima. Dacă faceți clic pe meniul derulant „spawn”, veți vedea, de asemenea, o nouă grămadă de intrări legate de broasca țestoasă nou-născută.

De asemenea, puteți remapta comenzile pentru a rula noua broască țestoasă. Comanda pentru a face acest lucru este următoarea:

$ ros2 run turtlesim turtleteleopkey -ros-args -remap turtle1 / cmdvel: = turtle2 / cmdvel

Setați numele „broască țestoasă2”, în funcție de alegerea anterioară.

Vizualizare avansată cu Rviz

Pentru vizualizare mai avansată și 3D, utilizați rviz. Acest pachet simulează toate nodurile din proiectarea dvs.

$ ros2 run rviz2 rviz2

În interfața grafică, aveți trei panouri, cu vederea în centru. Puteți crea medii utilizând panoul „Afișaje”. Puteți adăuga pereți, forțe ale vântului și alte proprietăți fizice. De asemenea, aici vă adăugați roboții.

Rețineți că, înainte de a ajunge la acest punct, va trebui să înțelegeți cum să utilizați formatul URDF. Formatul URDF definește un robot, permițându-vă să setați corpul, brațele, picioarele și, mai presus de toate, zonele de coliziune. Zonele de coliziune sunt acolo, astfel încât simularea să poată decide dacă robotul s-a ciocnit.

Învățarea despre crearea unui robot în format URDF este un proiect amplu, așa că folosiți un cod open-source existent pentru a experimenta cu emulatoarele.

Simulează fizica cu foișor

În Gazebo, puteți simula fizica mediului înconjurător robotului dvs. Gazebo este un program complementar care funcționează bine împreună cu rviz. Cu Gazebo, puteți vedea ce se întâmplă de fapt; cu rviz, țineți evidența a ceea ce detectează robotul. Când software-ul dvs. detectează un perete care nu este acolo, Gazebo va apărea gol și rviz va arăta unde a fost creat peretele în codul dvs.

Concluzie

Simularea robotului și a mediilor sale este necesară pentru a găsi erori și pentru a oferi îmbunătățirile necesare în funcționarea robotului înainte de a-l pune în libertate. Acesta este un proces obositor care continuă mult după ce începeți testarea robotului, atât în ​​medii controlate, cât și în viața reală. Cu o cunoaștere adecvată a infrastructurii sistemelor interne ale robotului dvs., puteți înțelege ceea ce ați făcut bine și rău. Învață rapid să apreciezi toate defecțiunile pe care le găsești, deoarece acestea pot face sistemul tău mai robust pe termen lung.

How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Motoare de jocuri gratuite și open source pentru dezvoltarea jocurilor Linux
Acest articol va acoperi o listă de motoare de jocuri gratuite și open source care pot fi utilizate pentru dezvoltarea jocurilor 2D și 3D pe Linux. Ex...
Tutorial Shadow of the Tomb Raider pentru Linux
Shadow of the Tomb Raider este a douăsprezecea completare a seriei Tomb Raider - o franciză de jocuri de acțiune-aventură creată de Eidos Montreal. Jo...