La robotika je rozširujúca sa oblasť. Čoraz viac AI a robotov nahrádza prácu väčšieho počtu ľudí. Sú súčasnosťou a budúcnosťou, preto je dôležité trénovať v týchto typoch oblastí, aby ste vedeli, ako fungujú a aké nástroje a systémy máte pre svoje robotické projekty k dispozícii. A v tomto článku to uvidíte čo je ROS a všetko, čo o ňom potrebujete vedieť.
Čo je ROS?
ROS je skratka pre Robot Operating Systemalebo operačný systém robota. Ide o middleware pre robotiku, teda kolekciu rámcov určených na uľahčenie vývoja softvéru pre roboty. V súčasnosti je široko používaný v známych robotoch, je to jeden z najlepších dostupných nástrojov v súčasnosti, úplne zadarmo, napísaný v C a Pythone a pod licenciou BSD s otvoreným zdrojom.
ROS bol pôvodne vyvinutý v roku 2007 v rámci Stanfordské laboratórium umelej inteligenciea pod kódovým označením Switchyard. Spočiatku by to bolo pre projekt robota STAIR2. Potom sa rozhodlo o otvorení.
Otázka, ktorú si mnohí často kladú, je, ak to nie je operačný systém, prečo sa tak volá? Hoci ide o sadu knižníc na vývoj, pravdou je, že niektoré z nich poskytuje základné funkcie OS, ako je abstrakcia hardvéru, aby sa vývojári starali len o softvér, ovládanie rôznych komponentov robota na nízkej úrovni, kapacita pre riadenie a komunikáciu procesov, údržba balíkov atď.
Knižnica je zameraná na UNIXové systémy, ako je Linux (vo viacerých distribúciách, aj keď najlepšia podpora je pre Ubuntu) a macOS, hoci funguje aj v iných operačných systémoch, ako je Microsoft Windows.
Je tiež dôležité rozlišovať medzi partes od ROS:
- ros: je časť, ktorá funguje ako operačný systém, základ. Toto je softvérová časť s licenciou BSD. To zahŕňa hlavný koordinačný uzol, dátové toky (obrazové, stereo, laserové, ovládanie, aktuátory, kontakt, ...), multiplexovanie informácií, vytváranie a ničenie uzlov, prihlasovanie atď.
- ros-bal: je súbor balíkov vytvorených používateľmi, ktoré implementujú funkcie ako plánovanie, vnímanie, simulácia, mapovanie, umiestnenie atď. Tieto ďalšie komponenty sú licencované v širokej škále licencií.
L zahrnuté nástroje v ROS sú to:
- rviz: pre simuláciu a 3D vizualizáciu.
- rosbag: nahrávanie a prehrávanie komunikačných správ.
- mačička- Nástroj na zostavenie založený na CMake.
- rosbash- Balíček s nástrojmi na rozšírenie funkčnosti bash shellu.
- roslaunch: na spustenie uzlov ROS lokálne alebo vzdialene.
aplikácie ROS
ROS je projekt v neustálom vývoji a zakaždým sa naň dá použiť viac aplikácií v oblasti AI a robotiky a zakaždým robí svoju prácu lepšie:
- Systémy umelého vnímania.
- Identifikácia predmetov a umelé videnie.
- Rozpoznávanie tváre, rozpoznávanie gest atď.
- Sledovanie objektu.
- Vizuálna odometria.
- Pochopenie pohybov.
- Stereo videnie.
- Mobilita robota.
- Ovládanie.
- Plánovanie.
- Uchopenie predmetov.
- Koordinácia
- Testovanie.
- Atď
Príklady robotov využívajúcich ROS
Je ich veľa a bolo by ťažké ich všetky vymenovať, keďže ROS sa pre mnohé z nich stal takmer „štandardom“. Ale niektoré z najznámejšie Sú to:
- PR1: osobný robot vyvinutý laboratóriom Kena Salisburyho v Stanforde.
- PR2: osobný robot, ktorý vyvíja Willow Garage.
- Baxter: robot od spoločnosti Rethink Robotics, Inc.
- Shadow's Robot: robotická ruka od spoločnosti Shadow Robot v spolupráci s Univerzitou Pierra a Marie Curie v Paríži a Univerzitou Carlosa III v Madride. Vyvinuté v európskom rámci.
- HERB: vytvorené v CMU v rámci programu osobnej robotiky spoločnosti Intel.
- Aldebaran Nao- Humanoidný robot vytvorený laboratóriami Humanoid Robots Labs a Univerzitou vo Freiburgu.
- Husky UGV: pozemné vozidlo a otvorený zdroj.
Prečo by ste sa mali učiť s ROS?
Roboty sú zložité systémy a robotike je ťažké porozumieť. Mať však nástroje ako napr ROS uľahčuje vývoj od začiatku, urýchlenie tvorby vlastných projektov za oveľa kratší čas a bez toľkých znalostí, ako keby ste ich nemali.
Inými slovami, výhodami ROS je uľahčenie cesty pre vývojárov s množstvom bezplatných a open source doplnkov, takže budete mať všetko, čo potrebujete. Okrem toho sa naučíte viac ako robotiku, aj elektroniku, mechaniku a programovanie:
- Na vývoj aplikácií používajte jazyky ako C++ a Python.
- Správa sietí a systémov na inštaláciu a údržbu ROS.
- Základné koncepty robotiky, ako je mapovanie, AI, lokalizácia, inverzná kinematika, atď., ktoré dokážu spojiť senzory, akčné členy, ovládače atď.
Bez ohľadu na to zložitosť robota, s ROS je všetko oveľa jednoduchšie. Neobmedzuje sa ani na jeden typ robota, môže slúžiť od domácich robotov, cez humanoidné roboty, cez robotické ramená pre priemysel...
Viac informácií o ROS - Oficiálna webová stránka