Course info
Robot Operating System
Багато компаній (включно з моїм попереднім роботодавцем) використовують ROS (Robot Operating System) для розробки своїх роботів. Цей набір бібліотек створили понад 10 років тому студенти-робототехніки для того, щоб не переписувати ті самі речі.
Тепер це доволі відома у світі система, і над версією ROS 2 співпрацює низка провідних організацій, а в Technical Steering Committee (TSC) входять такі відомі компанії, як Amazon, Intel, Microsoft, Toyota.
Спостережливі читачі також зауважили, що до переліку ввійшли два з трьох великих гравців у бізнесі хмарних платформ, а третій гравець — Google — теж не стоїть на місці.
Отже, ROS забезпечує апаратну абстракцію, драйвери пристроїв, бібліотеки, візуалізатори, передачу повідомлень, керування пакетами й багато іншого. Оскільки роботи, яких будували десятиліття тому, були вкрай ненадійними, систему проєктували так, щоб відмова одного з вузлів не зупинила роботу всього робота. Тому ядро системи побудоване навколо обміну повідомлень між вузлами, які нічого не знають один про одного. Все, що відомо — це назва каналу обміну повідомленнями, його формат і тип виклику.
Приклад підсистем робота
Є три типи виклику:
- Звичайний відправник і отримувач (publisher — subscriber). Відправник надсилає своє повідомлення отримувачеві й не чекає на відповідь, а просто й далі виконує своє завдання. Наприклад, камера може публікувати фото з частотою 30 Гц.
- Виклик сервісу (service). У цьому випадку відправник зацікавлений в отриманні відповіді на свій запит і очікує відповіді. Наприклад, сервіс із пошуку найкоротшого шляху на мапі з точки А в точку В.
- Сервіси зі зворотним зв’язком (action server), що працюють як другий тип з можливістю отримання зворотного зв’язку про стан виконання завдання. Наприклад, сервіс завантаження файлу в хмарне сховище може повертати відсоток пересланих даних щосекунди.
З чого почати
Загалом повний цикл розробки робота доволі складний і охоплює розробку механіки, електроніки та програмного забезпечення. Проте можна скористатися різними варіантами, щоб сконцентруватися над найцікавішими чи найважливішими для конкретних завдань частинами.
Джерела для глибшого вивчення ROS:
- Teacher: Кафедра32 Адміністратор32