Itcs este o fabrică de programare modernă

Mâinile PR2 au șapte grade de libertate, periile sunt realizate sub formă de maneci, deși în momentul de față se lucrează la opțiunea înlocuirii lor modulare pentru alte tipuri. În fiecare dintre perii senzori de presiune încorporați, un accelerometru și un indicator LED (pentru a determina rapid locația periei). În rest, avem o implementare standard cu un set de senzori și camere moderne.







Itcs este o fabrică de programare modernă

Fără software, orice robot modern este o grămadă de fier vechi, iar acum există o mare diferență între conceptele "ce este echipat" și "ce poate". Timp de mulți ani, software-ul a fost scris pentru roboți în cadrul aplicațiilor individuale, au existat opțiuni pentru sisteme software gata făcute, dar rareori gândit la crearea unui sistem separat cu drepturi depline de operare specializate. Cu toate acestea, necesitatea unei astfel există, și este posibil să se desemneze astfel de factori care influențează ca o aplicație software modulară responsabilă pentru executarea anumitor operațiuni și nevoia de conectare / punerea în aplicare rapidă a noilor caracteristici.

Din aceste considerații a fost creat ROS. În prezent se compune din două părți principale: kernel-ul în sine și seturi suplimentare de instrumente software (biblioteci, drivere, soluții gata făcute).

Ce este ROS?

ROS nu ar trebui să fie perceput ca un sistem de operare "în cadrul unui proiect", deși PR2 astăzi este locomotiva sa. Bazat pe sistemul de operare Robot, acum funcționează zeci de modele comerciale și experimentale diferite, iar această listă se extinde constant.

Itcs este o fabrică de programare modernă

O mulțime de roboți se bazează acum pe ROS

În principiu, nimic mai mult robotodelam, de fapt, nu este necesar: ROS asigură nivelul necesar de abstracție de „fier“, cu sprijinul unui număr mare de echipamente moderne la nivelul conducătorilor auto și biblioteci, are în arsenalul său de soluții de bază în domeniul comunicațiilor și mesagerie. În același timp, proiectul în sine este licența BSD, în prezent o comunitate destul de gravă este conectată la dezvoltarea sa, în care sunt prezenți reprezentanți ai universităților majore și ai producătorilor de echipamente electronice.

ROS Kernel fără probleme stabilite la Ubuntu, în modul de testare acceptă, de asemenea OS X, Arch, Fedora, Gentoo, OpenSUSE, Slackware, Debian, și parțial funcțional poate fi accesat atunci când sunt instalate pe Windows și FreeBSD.

ROS se bazează pe codul scris în C ++ (o modificare a roscpp), adiții minore la pachete pot fi, de asemenea, scrise în Python (o modificare a rospy). De exemplu, să spunem că C ++ de programare de mesaje disponibile, filtrare, conducător auto joystick, camere video, senzori cu laser, sunet, filtre de prelucrare a datelor algoritmice, 3D-analiză și viziune de calculator (OpenCV), sisteme de luare a deciziilor și așa mai departe. În Python, aveți acces la o funcționalitate mult mai mică, dar, în general, managementul poate fi construit și pe această limbă. Într-o mulțime de documente pe www.ros.org puteți găsi adesea exemple de înregistrări imediat în C ++ și Python. Pe acestea din urmă, API-urile client sunt cele mai des implementate. Poate părea inițial că același robotul PR2 este programat doar pentru „doi plus“, dar dacă sapi bibliotecă, este posibil să observați că unele dintre ele sunt scrise în Python. În general, pentru a lucra cu ROS, trebuie să cunoașteți două limbi.







Software suplimentar ROS

După cum sa menționat deja mai sus, sistemul de operare ROS constă dintr-un kernel cheie și un software suplimentar. Să luăm în considerare acest lucru mai detaliat. Faptul este că toate cele mai bune din ceea ce este și este folosit în robotică este colectat aici. Deci, în primul rând a stabilit ROS-PKG, care conține o varietate de biblioteci, drivere și software-ul de suplimente, cea mai mare parte de la dezvoltatori terți, și în aceste implementări pot fi găsite algoritmi de a efectua diverse aplicații.

Special pentru robotul Willow Garage PR2 există un set suplimentar de software WG-ROS-PKG.

În ceea ce privește senzorii și echipamentele în sine, în cadrul colecțiilor suplimentare se susține întregul spectru modern:

Comunicarea cu dispozitivul se presupune a fi de mai multe tipuri, versiunea cea mai standard este implementată în biblioteca actionlib, care oferă o arhitectură client-server standard.

În plus, o colecție separată este implementarea roboticii bazate pe OpenCV (Open Source Computer Vision Library), care ar trebui discutată mai detaliat.

Ce sarcini sunt relevante acum?

PR2 este conceput ca un robot multifuncțional, de fapt, poate efectua orice sarcini pe care le-a programat: de la jocul șahului la prosoapele de sortare. Ar trebui spus că este scump - 400 mii dolari și, desigur, nu toată lumea își poate permite o astfel de jucărie scumpă.

Itcs este o fabrică de programare modernă

Dar există o nișă în care PR2 este relevantă în special - instituțiile de învățământ. La urma urmei, o singură întrebare - să învețe programare de roboți în teoria modernă, iar celălalt - în practică. Willow Garage este motivul pentru care compania este acum mai activă în acest segment, și a prezentat 11 instituții de învățământ de roboți sale libere. Plus, așteptări destul de mari ale comunității, care permite programarea de la distanță PR2. Puteți găsi toate codul sursă cu notele, precum și să participe la concursuri efectuate periodic pe site-ul companiei. În general, trebuie remarcat faptul că toate evoluțiile cheie din Pr2 sunt în mare parte rezultatul unui concurs organizat de către dezvoltatori.

Una dintre ultimele a fost realizată în această primăvară, și a fost numită Percepție provocare, adică a fost dedicată recunoașterii. Participanților li s-au dat un total de 35 de subiecte, sau mai degrabă, descrierile lor (dimensiunile) și fotografiile. Ca astfel de obiecte, lucrurile obișnuite, cum ar fi cutii cu hrană, pungi de lapte, etc., au acționat. Pe baza acestui fapt, a fost necesar să se scrie un program capabil să învețe robotul:

  • Recunoașterea unui obiect în poziții diferite.
  • Recunoașteți setul de obiecte în poziții diferite.
  • Recunoașterea și identificarea (recunoașterea) obiectului în poziții diferite.
  • Recunoașterea și identificarea (recunoașterea) unui set de obiecte în poziții diferite.

În cadrul competiției, pe lângă 35 de obiecte originale, organizatorii au adăugat 15 noi. Acest lucru a subliniat posibilitatea învățării dinamice a robotului "în zbor". Premiul pentru primul loc a fost de 7 mii dolari.

Itcs este o fabrică de programare modernă

Viziune PC PR2

Printre alte domenii de dezvoltare a cercetării în cadrul PR2, există patru sau cinci domenii majore, pe care le vom discuta separat.







Trimiteți-le prietenilor: