Što je ROS?
ROS (Robot Operating System) je okvir dizajniran za izgradnju robotskih sustava. To nije stvarni operacijski sustav u tradicionalnom smislu, već meta-operacijski sustav koji radi na glavnom operativnom sustavu (kao što je Linux).
Pruža međusloj koji apstrahira hardver i nudi skup usluga, alata i biblioteka za olakšavanje razvoja robotskog softvera.
Koje su ključne komponente ROS-a?
ROS okvir se sastoji od nekoliko komponenti, uključujući:
- ROS Jezgra je središnja komponenta koja pruža bitne usluge za komunikaciju između ROS čvorova u distribuiranom sustavu, kao što je prosljeđivanje poruka, upravljanje parametrima i imenovanje.
- ROS čvorovi su pojedinačni programi koji međusobno komuniciraju putem ROS Corea koristeći sustav objavljivanja i pretplate.
- ROS teme omogućiti komunikaciju između ROS čvorova. Nazivaju se sabirnicama kroz koje čvorovi razmjenjuju poruke. Čvor može objavljivati poruke o temi, a svi zainteresirani čvorovi mogu se pretplatiti na tu temu kako bi primali poruke. Teme slijede obrazac objavljivanja-pretplate poruka, dopuštajući asinkronu komunikaciju.
- ROS poruke su podatkovne strukture koje se koriste za komunikaciju između ROS čvorova i definiraju informacije koje se razmjenjuju o temi.
- ROS usluge omogućiti način da čvorovi šalju zahtjeve i primaju odgovore. Koriste obrazac zahtjev-odgovor, osiguravajući izravnu razmjenu poruka. Čvor može ponuditi uslugu, navodeći vrstu usluge koja definira formate poruke zahtjeva i odgovora. Ostali čvorovi tada mogu nazvati uslugu kako bi postavili zahtjeve i primili odgovore.
- ROS datoteke za pokretanje pojednostaviti postupak pokretanja višestrukih čvorova i konfiguriranja njihovih parametara. Datoteka za pokretanje je XML datoteka koja opisuje čvorove koje treba izvršiti, njihove parametre i veze između njih. Korištenjem datoteka za pokretanje možete pokrenuti više čvorova jednom naredbom, što olakšava upravljanje složenim robotskim sustavima.
U kontekstu ROS-a, RTK prijemnici može se tretirati kao ROS čvor i može komunicirati s drugim čvorovima u ROS sustavu koristeći ROS teme, poruke i usluge.
Koju platformu za ROS Core odabrati?
ROS Core može raditi na računalu, laptopu, računalu ili raznim ugrađenim platformama: NVIDIA Jetson, Raspberry Pi, BeagleBone, Intel NUC, Odroid itd.
Izbor između njih za pokretanje ROS-a ovisi o nekoliko čimbenika koji su navedeni u nastavku. Evo nekoliko preporuka koje će vam pomoći da odaberete između njih za pokretanje ROS Core:
- Računalni zahtjevi: Ako vaša robotska aplikacija zahtijeva računalstvo visokih performansi, onda bi NVIDIA Jetson ili osobno računalo mogli biti najbolji izbor. Oba nude CPU i GPU visokih performansi, koji su idealni za računalno intenzivne zadatke kao što su računalni vid i strojno učenje.
- Potrošnja struje: Ako se vaša robotska aplikacija napaja baterijom ili zahtijeva nisku potrošnju energije, onda bi Raspberry Pi ili NVIDIA Jetson mogli biti najbolji izbor. Oba nude mogućnosti niske potrošnje energije, a Raspberry Pi je poznat po svojoj energetskoj učinkovitosti.
- Trošak: Ako je trošak glavni čimbenik, onda je Raspberry Pi najisplativija opcija i naširoko se koristi za izradu prototipa i hobi projekte. NVIDIA Jetson i PC su skuplje opcije, ali nude snažnije računalne mogućnosti.
- Faktor oblika: NVIDIA Jetson ili Raspberry Pi su najkompaktnije i najlakše platforme. Oba nude faktore male forme i prikladni su za izgradnju kompaktnih robotskih sustava.
Dakle, birajte Raspberry Pi ako vam je potrebna isplativa opcija (naučite kako povezati simpleRTK2B/3B ploče na Raspberry Pi) Ili NVIDIA Jetson ako su računalne mogućnosti važnije (provjerite korak po korak uputstvo kako spojiti RTK prijemnik na NVIDIA Jetson).
Koje razvojno okruženje za ROS odabrati?
Najčešće korištena razvojna okruženja su Ubuntu, ROS development studio (ROSDS), Visual Studio Code, Eclipse, CLion itd.
Ubuntu je dobro podržan i široko korišten operativni sustav s velikom zajednicom korisnika koji doprinose razvoju i podršci ROS-a.
Sam ROS prvenstveno je razvijen i testiran na Ubuntuu, što znači da je optimiziran za ovu platformu i većina ROS paketa i biblioteka dostupni su kao unaprijed izgrađeni paketi za Ubuntu. Samo zapamtite da:
- ROS Melodično je kompatibilan s Ubuntu 18 (provjerite Melodični vodič za instalaciju)
- ROS Noetic je kompatibilan s Ubuntu 20 (provjerite Noetic vodič za instalaciju)
Koji RTK prijemnici i antene su pogodni za korištenje u ROS-u?
Svi ArduSimple RTK prijemnici i antene su kompatibilni s ROS-om.
Prilikom odabira specifičnih RTK prijemnici i antene, razmotrite svoje zahtjeve aplikacije, kao što su točnost pozicioniranja, mogućnosti povezivanja i čimbenici okoline, kako biste odabrali najprikladniju opremu.
Da biste ubrzali svoju integraciju GPS podataka u vašem ROS projektu, pripremili smo Uputstvo za korištenje ArduSimple proizvoda u ROS.