Image
11.9.2017 0 Comments

Linux súkromne i pracovne v2.0 (22. časť) - Gazebo

Týmto článkom uzavrieme blok, v rámci ktorého sme sa venovali vzťahu OS Linux a robotiky. V úvode sa zmienime o softvérovom modelovaní, simulácii a aplikácii fyzikálnych zákonov. Následne v krátkosti predstavíme prostredie Gazebo a v závere poukážeme na ďalší softvér súvisiaci s robotmi a ich počítačovou simuláciou v prostredí OS Linux.

Rigid bodies, joints, origins, axes, physics…

Tieto jednoduché anglické slová podobne ako mnoho ďalších majú veľmi úzku spojitosť so simuláciou správania sa robotov, resp. akýchkoľvek reálnych telies pomocou počítačov a ich softvérových nástrojov. Na to, aby sa robot simulovaný počítačom správal čo najvernejšie, treba v čo najväčšej miere a čo najvierohodnejšie simulovať fyzikálne javy, ktoré prebiehajú v reálnom svete. Simulované vzťahy medzi robotmi, resp. počítačové simulácie fyzikálnych javov reálneho sveta, sú veľmi komplikované a závislé od mnohých faktorov.

Hodnoverná simulácia fyziky je výpočtovo náročný proces, ktorý si vyžaduje vysokovýkonný hardvér. Pri bežnom hardvéri je realistická úroveň simulácie dosiahnuteľná iba pomocou istej miery zanedbania (redukcie) častí spojitých dejov. Táto aproximácia bola zárodkom vzniku pojmov ako kolízne (collision) modely, faktor reálneho času (RTF – Real-Time-Factor), znižovanie komplexnosti (geometry reducing, model simplicity), diskrétna ODE (Ordinary Differential Equation) a podobne.

Počítačová simulácia fyziky sa opiera o tzv. tuhé (nedeliteľné, nedemontovateľné) telesá – rigid bodies. Sú to objekty, ktoré v simulátore vystupujú ako jednotný celok, resp. ako ďalej nedeliteľné časti robotov. Majú definovaný svoj priestorový objem (spatial volume), polohu (origin), natočenie (roll, pitch, yaw), hmotnosť (mass), ťažisko (mass of gravity), zotrvačnosť (inertia), hybnosť (momentum), obmedzenia pohybu (constraints) a ďalšie matematicko-fyzikálne parametre. Na tieto telesá pôsobia sily (forces), ako je napr. gravitačná sila, trecia sila (friction), priamočiara a uhlová hybnosť, krútiaci moment, impulzné sily… Tuhé telesá si zachovávajú svoj objem a sú nepreniknuteľné (non-penetrable). To znamená, že pri vzájomnom kontakte na kolidujúce telesá pôsobia impulzné sily, ktoré zabraňujú prieniku jedného telesa do druhého.

Časti modelovaných robotov reprezentované tuhými telesami sú navzájom pospájané pomocou kĺbov (joints). Kĺby majú definované stupne pohyblivosti (DOF – Degree-Of-Freedom) a obmedzenia pohybu (bounds). Rozoznávame však aj kĺby bez pohyblivosti (fixed), resp. s nekonečnou pohyblivosťou (continuous). Pohyblivosť kĺba môže byť definovaná v smere niektorej z osí (axes), keď hovoríme o tzv. posuvnom kĺbe (prismatic), resp. okolo niektorej z osí, keď hovoríme o tzv. otočnom kĺbe (revolute).


Základné GUI simulátora Gazebo 8.1.0 s podporovanými komponentmi

Gazebo (gazebosim.org)

Gazebo je simulátor, resp. simulačné prostredie (environment), ktoré umožňuje testovať komplexné robotické systémy. Dôležitý fakt, ktorý musíme spomenúť v súvislosti s Linuxom, je to, že Gazebo je voľne šíriteľný softvér, distribuovaný pod licenciou Apache 2 (apache.org/licenses/LICENSE-2.0), a v rámci Ubuntu Xenial (16.04), resp. Yakkety (16.10) ho môžeme bez najmenších problémov nainštalovať pomocou inštalačného skriptu. Inštalácia v rámci iných distribúcií je detailne opísaná na domovskej stránke simulátora (gazebosim.org/tutorials?cat=install).

Vývoj simulátora naštartoval Andrew Howard a jeho študent Nate Koenig ešte v roku 2002 na Kalifornskej univerzite. N. Koenig simulátor ďalej zdokonaľoval, pričom výrazný zlom v jeho používaní nastal po rozhodnutí integrovať do simulátora ROS. Gazebo sa tak stal primárnym simulátorom používaným pri vývoji aplikácií ROS. Neskôr bol adaptovaný spoločnosťou OSRF, ktorá ho v roku 2013 použila v rámci DARPA Robotics Challenge (DRC) (darpa.mil/program/darpa-robotics-challenge).

Simulátor Gazebo umožňuje testovať algoritmy, vývojárske nástroje a správanie sa systémov umelej inteligencie (AI) v realistickom prostredí. Okrem iného ho možno použiť na testovanie dynamiky robotického systému v podmienkach blížiacich sa dynamike fyzického hardvéru.

Svoju funkčnosť zakladá na robustných fyzikálnych strojoch (engines), pričom podporuje  Open Dynamics Engine (ode.org), Bullet Physics Library (bulletphysics.org), Simbody (simtk.org/projects/simbody) a DART – Dynamic Animation and Robotics Toolkit (dartsim.github.io). Z hľadiska grafického výstupu využíva funkcionalitu open source grafického renderovacieho enginu OGRE (ogre3d.org). Jeho kľúčová vlastnosť je podpora dát získaných senzormi a možnosť práce v sieťovom prostredí s prípravou na prácu v cloude. Simuláciu tak možno spustiť na omnoho výkonnejších počítačoch (serveroch), pričom na pracovnú stanicu používateľa sa zasiela iba grafický výstup. Samozrejmá je existencia knižnice vopred pripravených modelov robotov s možnosťou importu nových modelov, vytvorených v niektorom z významných 3D modelovacích prostredí, ako sú napr. SolidWorks, AutoCAD, Blender, 3D Studio...


Ukážka niektorých vopred pripravených modelov robotov

Iné možnosti

Cieľom tohto článku nebolo opísať spôsob práce v simulátore Gazebo. Chceli sme tento softvérový balík predstaviť a uviesť relevantné odkazy, ktoré nám môžu uľahčiť zorientovať sa v danej oblasti. Vizualizácia a simulácia robotických systémov pomocou softvéru, ako je rviz či Gazebo, nie je jediná cesta, ako riešiť túto problematiku. Ak opomenieme nástroje určené výhradne pre OS Windows, stále nám zostane pomerne široká škála ďalšieho softvéru, určeného aj pre OS Linux, ako napr. prostredie anyKode Marilou (anykode.com), simulátor Webots (cyberbotics.com), V-REP (coppeliarobotics.com), ARS (pypi.python.org/pypi/ARS), NTRTsim (github.com/NASA-Tensegrity-Robotics-Toolkit/NTRTsim), AIKIDO (github.com/personalrobotics/aikido), MORSE (openrobots.org/wiki/morse) a mnoho ďalších vynikajúcich aplikácií.

 

 

Zobrazit Galériu
Autor: Marek Sopko

Mohlo by Vás zaujímať

ITPro

Praktická kryptológia (17. časť): Šifrovanie diskových oblastí

19.09.2018 22:35

Tento článok bude voľným pokračovaním predošlej časti seriálu, v ktorej sme sa venovali šifrovaniu pevných diskov. Zameriame sa na niektoré významné detaily a uvedieme význam nástrojov a procedúr, kto ...

ITPro

Zabezpečenie objektu – odporúčania

19.09.2018 22:27

Vo voľnej sérii článkov sa venujeme rôznym aspektom zabezpečenia objektov. Môžu to byť veľké objekty, napríklad areály firiem či logistických skladov, alebo budovy malých firiem, prípadne rodinných fi ...

ITPro

Smart parking: Jednoduchá technológia, z ktorej profitujú všetci

12.07.2018 10:12

Siete pre internet vecí v súčasnosti ponúkajú množstvo riešení na uľahčenie každodenného života. Jeden z najväčších problémov obyvateľov miest je bezpochyby parkovanie. Predstavte si situáciu, keď vie ...

q

Žiadne komentáre

Vyhľadávanie

SWAN_09

Najnovšie videá



PC forum button