Co to jest ROS?
ROS (Robot Operating System) to framework przeznaczony do budowy systemów robotycznych. Nie jest to rzeczywisty system operacyjny w tradycyjnym sensie, ale raczej meta-system operacyjny, który działa na systemie operacyjnym hosta (takim jak Linux).
Zapewnia warstwę oprogramowania pośredniego, która wyodrębnia sprzęt i oferuje zestaw usług, narzędzi i bibliotek ułatwiających rozwój oprogramowania robota.
Jakie są kluczowe elementy ROS?
Ramy ROS składają się z kilku elementów, w tym:
- rdzeń ROS jest centralnym komponentem, który zapewnia podstawowe usługi komunikacji między węzłami ROS w systemie rozproszonym, takie jak przekazywanie komunikatów, zarządzanie parametrami i nazewnictwo.
- Węzły ROS to indywidualne programy, które komunikują się ze sobą za pośrednictwem ROS Core przy użyciu systemu przesyłania komunikatów publikowania-subskrybowania.
- Tematy ROS umożliwiają komunikację między węzłami ROS. Są to nazwane magistrale, przez które węzły wymieniają komunikaty. Węzeł może publikować wiadomości na temat, a wszystkie zainteresowane węzły mogą subskrybować ten temat, aby otrzymywać wiadomości. Tematy są zgodne ze wzorcem przesyłania komunikatów publikowania i subskrybowania, co umożliwia komunikację asynchroniczną.
- Wiadomości ROS są strukturami danych używanymi do komunikacji między węzłami ROS i definiują wymieniane informacje na dany temat.
- Usługi ROS zapewniają węzłom sposób wysyłania żądań i otrzymywania odpowiedzi. Używają wzorca żądanie-odpowiedź, zapewniając bezpośrednią wymianę wiadomości. Węzeł może oferować usługę, określając typ usługi, który definiuje formaty komunikatów żądań i odpowiedzi. Inne węzły mogą następnie wywoływać usługę w celu wysyłania żądań i odbierania odpowiedzi.
- ROS Uruchom pliki uprościć proces uruchamiania wielu węzłów i konfigurowania ich parametrów. Plik uruchamiania to plik XML opisujący węzły do wykonania, ich parametry i połączenia między nimi. Korzystając z plików uruchamiania, możesz uruchamiać wiele węzłów za pomocą jednego polecenia, co ułatwia zarządzanie złożonymi systemami robotów.
W kontekście ROS, Odbiorniki RTK może być traktowany jako węzeł ROS i może komunikować się z innymi węzłami w systemie ROS za pomocą tematów, komunikatów i usług ROS.
Jaką platformę dla ROS Core wybrać?
ROS Core może działać na komputerze PC, laptopie, komputerze lub różnych platformach wbudowanych: NVIDIA Jetson, Raspberry Pi, BeagleBone, Intel NUC, Odroid itp.
Wybór między nimi do uruchamiania ROS zależy od kilku czynników, które wymieniono poniżej. Oto kilka zaleceń, które pomogą Ci wybrać między nimi do uruchamiania ROS Core:
- Wymagania obliczeniowe: Jeśli Twoja aplikacja robotyczna wymaga obliczeń o wysokiej wydajności, NVIDIA Jetson lub komputer PC mogą być najlepszym wyborem. Oba oferują wysokowydajne procesory i procesory graficzne, które idealnie nadają się do zadań wymagających dużej mocy obliczeniowej, takich jak wizja komputerowa i uczenie maszynowe.
- Pobór energii: Jeśli Twoja aplikacja robotyczna jest zasilana bateryjnie lub wymaga niskiego zużycia energii, najlepszym wyborem może być Raspberry Pi lub NVIDIA Jetson. Oba oferują opcje niskiego zużycia energii, a Raspberry Pi jest znane ze swojej efektywności energetycznej.
- Koszty:: Jeśli koszt jest głównym czynnikiem, wtedy Raspberry Pi jest najbardziej opłacalną opcją i jest szeroko stosowany do prototypowania i projektów hobbystycznych. NVIDIA Jetson i PC to droższe opcje, ale oferują większe możliwości obliczeniowe.
- Budowa: NVIDIA Jetson lub Raspberry Pi to najbardziej kompaktowe i lekkie platformy. Oba oferują niewielkie rozmiary i nadają się do budowy kompaktowych systemów robotycznych.
Więc wybierz Raspberry Pi jeśli potrzebujesz opłacalnej opcji (dowiedz się jak się połączyć? simpleRTK2B/3B do Raspberry Pi) lub NVIDIA Jetson jeśli ważniejsze są możliwości obliczeniowe (sprawdź krok po kroku poradnik jak podłączyć odbiornik RTK do NVIDIA Jetson).
Jakie środowisko programistyczne dla ROS wybrać?
Najczęściej używanymi środowiskami programistycznymi są Ubuntu, ROS development studio (ROSDS), Visual Studio Code, Eclipse, CLion itp.
Ubuntu jest dobrze obsługiwanym i szeroko stosowanym systemem operacyjnym z dużą społecznością użytkowników, którzy przyczyniają się do rozwoju i wsparcia ROS.
Sam ROS jest głównie rozwijany i testowany na Ubuntu, co oznacza, że jest zoptymalizowany dla tej platformy, a większość pakietów i bibliotek ROS jest dostępna jako gotowe pakiety dla Ubuntu. Pamiętaj tylko, że:
- ROS Melodyjka jest kompatybilny z Ubuntu 18 (sprawdź Przewodnik po instalacji melodycznej)
- ROS Noetyczny jest kompatybilny z Ubuntu 20 (sprawdź Instrukcja instalacji Noetic)
Które odbiorniki i anteny RTK nadają się do stosowania w ROS?
Wszystkie kategorie ArduSimple Odbiorniki RTK i anteny są kompatybilne z ROS.
Przy wyborze konkretnego Odbiorniki RTK i anteny, rozważ wymagania aplikacji, takie jak dokładność pozycjonowania, opcje łączności i czynniki środowiskowe, aby wybrać najbardziej odpowiedni sprzęt.
Aby przyspieszyć integrację GPS dane w Twoim projekcie ROS przygotowaliśmy Samouczek, jak używać ArduSimple produkty w ROS.