Ponieważ praca z robotami będzie wysiłkiem programistycznym, większość potrzebnych narzędzi będzie to narzędzia programistyczne. Fundacja Robotics Open Source (OSRF) ma świetną stronę internetową z zasobami. Wspierają i utrzymują system operacyjny Robotics (ROS). Jest to ogromna kolekcja narzędzi, które można zainstalować zarówno w istniejącym systemie, jak i jako kontener.
Rozumowanie dystrybucji
Kiedy zaczniesz eksperymentować z robotami, odkryjesz wiele rzeczy, których nie spodziewałeś się, kiedy zacząłeś. Czy zdajesz sobie sprawę, ile obrazów interpretacyjnych ma znaczenie dla rozwoju robotyki? W dystrybucji masz wszystkie narzędzia, których potrzebujesz, zanim się zorientujesz, że ich potrzebujesz.
To sprawia, że szybsze jest rozpoczęcie i unikanie komplikacji w miarę ewolucji projektów. Będziesz niepotrzebnie zajmować przestrzeń dysku, ale całkowity rozmiar systemu nie jest duży dla nowoczesnego komputera. W miarę postępu w swoim projekcie upewnij się, że wiesz, co włożyć do robota, a nie. Twoje ograniczenia w przestrzeni dyskowej są tam znacznie surowsze.
ROS - największy i oczywisty wybór
Jak wspomniano wcześniej, ROS ma ogromną bibliotekę funkcji. Obejmują one od sterowania sprzętem, przesyłania wiadomości między podsystemami po biblioteki wizji i symulatorów. Projekt jest dobrze obsługiwany przez OSRF. Z kolei są wspierane przez wielu liderów branży, a ich komercyjny spółka zależna wspiera te same firmy w swoich wysiłkach.
Pomimo szerokiego zakresu wyborów i wysokiego poziomu wyrafinowania, nowy użytkownik może zacząć używać standardowych komponentów. Dzięki wspólnym metodom OSRF istnieje wiele robotów, które zostały zbudowane za pomocą ROS. Wiele to produkty konsumenckie, które można kupić za rozsądną kwotę i rozpocząć projekt dla określonego zadania. Obecnie dostępne produkty to jeden na kołach, nogach i skrzydłach na latających dronach. Możesz nawet znaleźć mieszkańców wody, w tym okręty podwodne.
Ten projekt przetrwa do użytku przemysłowego, jeśli chcesz tam pojechać. Rozpoczęcie się krzywej uczenia się, ale i tak musisz się dowiedzieć o robotyce. W rzeczywistości, kiedy planujesz swój pierwszy projekt, z pewnością przegapisz wiele funkcji, których potrzebujesz tylko do podstawowego użytku.
Mobilny zestaw narzędzi do programowania robotyki
Jak zobaczysz, kiedy zaczniesz roboty, znaczna część zadania będzie programowaniem. Ten zestaw narzędzi pomaga w SLAM (jednoczesna lokalizacja i mapowanie) i inne narzędzia do planowania ścieżek. Wiele narzędzi ma związek z wizją. Ciekawym elementem tego zestawu narzędzi jest obsługa sprzętu Kinect. Biblioteki libfreenect są podstawowymi dla tego projektu. Aby dodać go do instalacji Ubuntu, możesz odebrać PPA i zainstalować go za pomocą Apt. Skompilowanie własnego wymaga GCC-7 lub nowszego, Clang-4 lub nowszego. Aby uzyskać więcej informacji i tego, co musisz zrobić, gdy używasz ROS, zdobądź ich stronę github.
Przędza
Nazwany „kolejną platformą robota”, opiera się na pomyśle, że używasz jak najwięcej istniejących narzędzi. YARP to zbiór bibliotek C ++, które definiują protokoły komunikacji dla wszystkich poziomów projektów robotycznych. Masz trzy elementy przędzy, przędzy, Yarpsig i Yarpdev. Wszyscy martwią się, jak wysyłać dane między komponentami twojego projektu. Komponent Yarpos tworzy interfejsy w kierunku systemu operacyjnego, którego używany. Ułatwia to przełączanie systemu operacyjnego lub sprzętu jednego komponentu przy zachowaniu tych samych strumieni danych przędzy. Jest to wymagane do uruchomienia pozostałych części systemu. Yarpsig obsługuje zadania przetwarzania sygnału, łączy się z OpenCV i podobnymi bibliotekami. Nie wykonuje przetwarzania. YARPDEV zapewnia interfejsy dla wszystkich potrzebnych urządzeń. Pomyśl o kamerach, mikrofonach, sterownikach i innych. Przędza stworzy interfejs do całego systemu. Użyjesz go również do konfiguracji urządzeń. YARP pomoże Ci zaplanować wszystkie inne oprogramowanie, abyś mógł użyć tego, co istnieje. W rzeczywistości masz również możliwość uruchomienia niektórych komponentów pod ROS, podczas gdy inne uruchamiają przędzę. Dostępnych jest wiele opcji i możesz stopniowo przechodzić między nimi.
Wniosek
Kiedy zaczynasz od robotyki, będziesz potrzebować wielu części oprogramowania. Każdy kontroler i komputer wbudowany mają różne potrzeby i systemy. Każdy aparat ma od nowa kierowcy. Wszystkie dane muszą się poruszać między podsystemami i komponentami. To robi się naprawdę skomplikowane. Aby zacząć szybciej, musisz mieć system, który koordynuje wszystko. Robisz to, mając funkcję koordynującą wiadomości i danych. Są one zorganizowane jako „tematy”, „węzły” i „usługi”. Powodem tych różnych funkcji jest to, że czasami chcesz wykonywać polecenia, czasami chcesz udostępnić dane wielu innym częściom systemu, a także będziesz mógł wysłać wszystkie dane do systemu w ogóle.
Tutaj potrzebujesz dystrybucji lub platformy, która utrzymuje to wszystko skoordynowane. ROS to system, który działa z większością, jeśli nie wszystkich sprzętu i rodzajów projektów. Pamiętaj, aby zrozumieć, co próbujesz osiągnąć dzięki swojemu projektowi. Jest to szczególnie ważne, gdy się uczysz. Jeśli masz cel, wszystkie kroki mają powód i stowarzyszenie. To są podstawy uczenia się; Aby zobaczyć związek między rozumem a działaniem.