Co je ROS?
ROS (Robot Operating System) je framework určený pro budování robotických systémů. Nejde o skutečný operační systém v tradičním slova smyslu, ale spíše o metaoperační systém, který běží nad hostitelským operačním systémem (jako je Linux).
Poskytuje middlewarovou vrstvu, která abstrahuje hardware a nabízí sadu služeb, nástrojů a knihoven pro usnadnění vývoje robotického softwaru.
Jaké jsou klíčové součásti ROS?
Rámec ROS se skládá z několika komponent, včetně:
- Jádro ROS je centrální komponenta, která poskytuje základní služby pro komunikaci mezi uzly ROS v distribuovaném systému, jako je předávání zpráv, správa parametrů a pojmenování.
- Uzly ROS jsou jednotlivé programy, které spolu komunikují prostřednictvím jádra ROS pomocí systému zasílání zpráv publikovat-předplatit.
- Témata ROS umožnit komunikaci mezi uzly ROS. Jsou pojmenované sběrnice, jejichž prostřednictvím si uzly vyměňují zprávy. Uzel může publikovat zprávy na téma a všechny zainteresované uzly se mohou přihlásit k odběru tohoto tématu, aby mohly zprávy přijímat. Témata se řídí vzorem zpráv publikovat-odběr, což umožňuje asynchronní komunikaci.
- Zprávy ROS jsou datové struktury používané pro komunikaci mezi uzly ROS a definují informace vyměňované k tématu.
- Služby ROS poskytují uzlům způsob, jak odesílat požadavky a přijímat odpovědi. Používají vzor žádost-odpověď, který zajišťuje přímou výměnu zpráv. Uzel může nabízet službu a specifikovat typ služby, který definuje formáty zpráv požadavku a odpovědi. Ostatní uzly pak mohou volat službu, aby zadala požadavky a přijala odpovědi.
- Spouštěcí soubory ROS zjednodušit proces spouštění více uzlů a konfiguraci jejich parametrů. Spouštěcí soubor je soubor XML, který popisuje uzly, které mají být provedeny, jejich parametry a spojení mezi nimi. Pomocí spouštěcích souborů můžete spustit více uzlů jediným příkazem, což usnadňuje správu složitých robotických systémů.
V kontextu ROS, RTK přijímače může být považován za uzel ROS a může komunikovat s ostatními uzly v systému ROS pomocí témat, zpráv a služeb ROS.
Jakou platformu pro ROS Core zvolit?
ROS Core může běžet na PC, notebooku, počítači nebo na různých embedded platformách: NVIDIA Jetson, Raspberry Pi, BeagleBone, Intel NUC, Odroid atd.
Výběr mezi nimi pro spuštění ROS závisí na několika faktorech, které jsou uvedeny níže. Zde je několik doporučení, která vám pomohou vybrat si mezi nimi pro provoz ROS Core:
- Výpočtové požadavky: Pokud vaše robotická aplikace vyžaduje vysoce výkonný výpočetní výkon, pak může být nejlepší volbou NVIDIA Jetson nebo PC. Oba nabízejí vysoce výkonné CPU a GPU, které jsou ideální pro výpočetně náročné úlohy, jako je počítačové vidění a strojové učení.
- Spotřeba energie: Pokud je vaše robotická aplikace napájena baterií nebo vyžaduje nízkou spotřebu energie, pak může být Raspberry Pi nebo NVIDIA Jetson nejlepší volbou. Oba nabízejí možnosti nízké spotřeby energie a Raspberry Pi je známé svou energetickou účinností.
- Stát: Pokud je hlavním faktorem cena, pak je Raspberry Pi cenově nejvýhodnější možností a je široce používán pro prototypování a hobby projekty. NVIDIA Jetson a PC jsou dražší možnosti, ale nabízejí výkonnější výpočetní možnosti.
- Formální faktor: NVIDIA Jetson nebo Raspberry Pi jsou nejkompaktnější a nejlehčí platformy. Oba nabízejí malé tvarové faktory a jsou vhodné pro stavbu kompaktních robotických systémů.
Takže, vybírejte Raspberry Pi pokud potřebujete cenově výhodnou možnost (naučte se jak se připojit simpleRTK2B/3B desky do Raspberry Pi), Nebo NVIDIA Jetson pokud jsou výpočetní schopnosti důležitější (prohlédněte si krok za krokem návod, jak připojit přijímač RTK k NVIDIA Jetson).
Jaké vývojové prostředí pro ROS zvolit?
Nejčastěji používaná vývojová prostředí jsou Ubuntu, ROS development studio (ROSDS), Visual Studio Code, Eclipse, CLion atd.
ubuntu je dobře podporovaný a široce používaný operační systém s velkou komunitou uživatelů, kteří přispívají k vývoji a podpoře ROS.
Samotný ROS je primárně vyvíjen a testován na Ubuntu, což znamená, že je optimalizován pro tuto platformu a většina balíčků a knihoven ROS je k dispozici jako předpřipravené balíčky pro Ubuntu. Jen si pamatuj, že:
- ROS Melodic je kompatibilní s Ubuntu 18 (zkontrolujte Melodický instalační průvodce)
- ROS Noetic je kompatibilní s Ubuntu 20 (zkontrolujte Noetický průvodce instalací)
Které RTK přijímače a antény jsou vhodné pro použití v ROS?
Vše ArduSimple RTK přijímače a antény jsou kompatibilní s ROS.
Při výběru konkrétní RTK přijímače a antény, zvažte požadavky vaší aplikace, jako je přesnost polohování, možnosti připojení a faktory prostředí, abyste vybrali nejvhodnější zařízení.
Pro urychlení vaší integrace GPS data ve vašem projektu ROS jsme připravili Návod jak používat ArduSimple produkty v ROS.