====== 3D Simulatsioon ====== Simulatsioon on reaalmaailma protsessi või süsteemi jäljendamine ajas. Eelnevalt tegelesime lihtsa kahedimensioonilise simulatsiooniga. Simuleerida on võimalik ka väga keerukaid kolmedimensioonilisi süsteeme. Simuleerimine on ROSi ja roboti arendamise protsessi väga tähtis osa, kuna see võimaldab robotit programmeerida ja sellega eksperimenteerida füüsilist robotit omamata. Roboti simulatsioon on iga roboti ehitaja jaoks oluline vahend. Hästi välja töötatud simulaator võimaldab kiiresti testida algoritme, kohandada roboteid ja isegi treenida tehisintellekte. Meie valisime simulaatoriks [[http://gazebosim.org/|Gazebo]]. Gazebo pakub võimalust simuleerida täpselt ja efektiivselt mitut robotit keerulistes sise- ja väliskeskkondades. Simulaatoris on paljude võimalustega füüsikamootor, kõrgkvaliteerne graafika ja hea ühilduvus ROSiga. Võimalik on simuleerida erinevaid mootoreid ja liigendeid ning erinevaid andureid, näiteks kaamera ja lidar. Gazebo simulaatorit on võimalik jookutada käsurealt (//headless//) või koos mugava graafilise kasutajaliidesega {{:et:ros:0_zitpy4fzmyoxx2bb_.png?800|}} ===== Paigaldamine ===== Gazebo paigaldamiseks on loodud automaatne paigaldusskript: curl -sSL http://get.gazebosim.org | sh ===== URDF ===== Unifitseeritud roboti kirjelduse formaat (//Unified Robot Description Format//) (URDF) on XML formaadis roboti mudel. Mudel sisaldab eelkõige kordinaatide raame (///tf//). Nende abil saame teada mis sõltuvuses on roboti erinevad osad. Näiteks saame teada kus kohas robotil asub kaamera. URDF faile kasutatab ka simulaator. Selle järgi teab simulaator, mis kujuga on roboti osad ja kus asuvad roboti liigendid. URDF failide tegemine võib alguses tunduda keeruline, kuid õnneks on paljude populaarsete robotite mudelid internetis vabalt saadaval. {{:et:ros:urdf.png|}} Selleks, et roboti mudelit nii simulatsioonis, kui ka //Rvizis// muuta tuleb muuta roboti URDF faili. See on vajalik, kui tahame muuta roboti konfiguratsiooni, näiteks lisada robotile andureid. Näide URDF failist: