de Ugo Cupcic

Am construit o cutie de nisip deschisă pentru antrenarea mâinilor robotizate pentru a înțelege lucrurile

Am construit o cutie de nisip deschisa pentru antrenarea mainilor
Credit: Tapet Safari

Începeți cu robotica este probabil mult mai ușor decât credeți. Iată un sandbox de simulare care este multiplatformă și oferă un API simplu la nivel înalt. Ar trebui să vă ajute să începeți experimentarea cu sarcinile de apucare a robotului.

În calitate de arhitect tehnic șef la Compania Shadow Robot, Petrec mult timp jucându-mă cu diferiți algoritmi pentru a vedea cum s-ar potrivi roboților noștri. Controlul unui robot complex pentru a-l face să se comporte așa cum ți-ai dori într-un mediu complex este … complex!

O parte importantă a foii de parcurs se bazează pe învățare automată. Nu vreau să trebuiască să specific fiecare aspect al unei probleme – aș prefera ca sistemul să învețe cel mai bun mod de abordare a unei probleme date.

Configurarea mediului pentru a încerca cu ușurință diferiți algoritmi de învățare automată – de exemplu pentru rafinarea apucăturilor – nu este banală. Iată cerințele mele:

  • A simulare bună scenă pentru a începe: un robot, un senzor 3d, unele obiecte cu care să interacționezi, niște mobilier pentru a planifica și folosi
  • A varietate de instrumente și bibliotecile să înceapă rapid cu jocul cu robotul: cadru robotizat (ROS), simulator (Chioşc), planificarea bibliotecilor (Mișcă-l!)
  • o modalitate de al rula fără cap în timp ce puteți vizualiza datele
  • uşor implementabil, bine documentat … toate obișnuitele!

Dacă nu doriți să citiți detaliile, ci doriți doar să puneți mâna pe sandbox, vă puteți îndrepta către depozit github care conține instrucțiunile pentru o pornire rapidă. Pentru utilizarea sandbox-ului în cloud puteți vizita și Studio de dezvoltare ROS unde este implementat.

Simularea

Smart Grasping Sandbox va rula pe Sistem de operare robotizatROS. De mult timp, utilizatorul și colaboratorul ROS sunt foarte parțial la utilizarea acelui cadru. Este de facto cadru open source conceput pentru robotică. Este nevoie de neplăcerea conectării diferitelor componente ale unui sistem robotizat cu o abordare modulară. Acest lucru face posibilă schimbarea cu ușurință a unei anumite componente. În plus, este condus de o comunitate înfloritoare, astfel încât să puteți găsi întotdeauna cel mai recent algoritm sau driver.

Pentru a învăța un robot, este o idee bună să începeți cu un simulator. Rularea algoritmilor pe hardware-ul real nu este doar mai scumpă, ci adesea mai puțin convenabilă: este mai greu să resetați mediul în viața reală decât în ​​simulare. De asemenea, este adesea mai greu să caracterizezi impactul robotului asupra scenei: mingea a fost ridicată? Înțelegerea a fost stabilă? Toate aceste informații sunt disponibile din cutie într-un simulator.

Simulatorul pe care îl vom folosi este Chioşc; acesta este un simulator de fizică pentru robotică și este, de asemenea, strâns integrat cu cadrul ROS. O mulțime de modele de roboți sunt disponibile în simulator, de la brațe și prinderi până la quadcoptere! În Smart Grasping Sandbox, robotul pe care îl ofer este un UR10 de la Universal Robot cu a lui Shadow Sistem inteligent de apucare. Scena conține doar două obiecte utile deocamdată: o minge de cricket și un burghiu. Acesta este doar un punct de plecare. Scena va evolua cu timpul. Senzorul 3D Vision din simulare este un Microsoft Kinect așa cum este adesea folosit în robotică (da, același Kinect pe care îl jucai Doar danseaza pe Xbox).

Container de andocare

Configurarea diferitelor cadre și biblioteci nu este banală și necesită timp. Pentru a simplifica implementarea, construiesc automat un Docher imagine. Dacă nu sunteți familiarizați cu Docker, nu voi intra în detalii, deoarece nu intră în domeniul de aplicare al acestui articol, dar să presupunem că este un mediu ușor precum mașina virtuală ușoară: puteți genera imagini foarte repede în timp ce exploatați întregul potențial al computerului. .

Implementarea imaginii cu Docker o face și ea agnostică pentru sistemul de operare – ROS și Gazebo sunt mai prietenoase cu Linux. Este, de asemenea, o modalitate excelentă de a testa lucrurile pe laptop, apoi, odată ce sunteți gata să începeți un experiment mai lung, pur și simplu apăreați în cloud. Deoarece am inclus o interfață web la simulator, puteți chiar să vizualizați ce se întâmplă în simulare conectându-vă prin browser. Pentru a ușura procesul de dezvoltare, am inclus un Caiet Jupyter pe care le puteți accesa prin browser.

Biblioteci și instrumente

Pentru a vă accelera procesul de dezvoltare, am dezvoltat o bibliotecă simplă la nivel înalt – numită cu îndrăzneală SmartGrasper. Această bibliotecă face posibilă interacțiunea directă cu comanda de nisip simulată care trimite comenzi precum alegerea mingii, deschiderea mâinii, deplasarea deasupra mingii … Pentru planificarea traseului, se bazează pe biblioteca de planificare ROS: Mișcă-l!, ca tu să poți deplasați în siguranță robotul de la A la B fără a lovi lucrurile.

Am construit o cutie de nisip deschisa pentru antrenarea mainilor
Caietul iPython

Sandbox-ul vine cu un exemplu de notebook iPython care arată cum să ridici mingea folosind biblioteca SmartGrasper. Puteți utiliza acest exemplu ca bază pentru a vă dezvolta propria.

Cuvinte finale

Așa că am petrecut ceva timp pregătind acel sandbox și acum că este gata, Îți împărtășesc cu tine! Mergeți la depozit github shadow-robot / smart-grasping-sandbox pentru a incepe. Simțiți-vă liber să jucați cu el, trimiteți probleme, trageți cereri …

Mai sunt multe de făcut: adăugarea OpenRave pentru planificarea înțelegerii, adăugând mai multă complexitate scenei pentru a putea învăța diferite acțiuni, adăugând niște algoritmi de viziune pentru recunoașterea diferitelor obiecte … Dar aceasta este doar prima versiune a Smart Grasping Sandbox!

1611445507 189 Am construit o cutie de nisip deschisa pentru antrenarea mainilor
Cutia de nisip inteligentă cu apăsare în construcție

De asemenea, lucrez cu echipa uimitoare de la The Construct pentru a face Smart Grasping Sandbox disponibil pe Studio de dezvoltare ROS pentru un mod și mai rapid de a vă testa ideile.

Dacă faceți ceva interesant cu Smart Grasping Sandbox sau aveți întrebări, să ne conectăm Stare de nervozitate! Dacă ți-a plăcut acest articol, ce zici de aprecierea și distribuirea acestuia?

Am construit o cutie de nisip deschisa pentru antrenarea mainilor