Керування і навігація в симуляції (+ capstone: автономний наземний робот)
Регулятори, одометрія, пошук шляху й автомат місії — і capstone: автономний наземний робот у симуляції.
MilTech · за підпискою
Зрозумійте, як влаштоване програмне забезпечення робота, — зібравши його з вузлів на шині
Отримати доступ до курсу
Курс за підпискою · Навчання у власному темпі
Про курс
Програма сучасного робота — не один великий файл, а десятки вузлів, які обмінюються повідомленнями: драйвер лідара, одометрія, локалізація, планувальник, контролер, монітор безпеки. Саме так побудовано ROS 2 — стандарт де-факто в робототехніці, від складських роботів до сільськогосподарських і дослідницьких платформ. Цей курс пояснює його ключові ідеї і пастки на навчальній шині rosbus.py — маленькій, детермінованій моделі ROS 2 (Robot Operating System — набір бібліотек і інструментів, на якому будують програми більшості сучасних роботів) на чистому Python з іменами, як у rclpy — Python-бібліотеці ROS 2.
Сценарій наскрізний: цивільний наземний робот для обстеження поля. Ви пишете вузли — інтегратор IMU, сервіс увімкнення моторів, валідацію параметрів камери, lifecycle-драйвер лідара, планувальник маршруту і шлюз безпеки, — а шина, harness і інші вузли надані й відкриті для читання.
Аудиторія
Python-розробник без досвіду ROS
Ключові ідеї ROS 2 — вузли, топіки, QoS, TF, lifecycle — на навчальній шині в браузері, без Linux і заліза.
Готуєтеся працювати з ROS 2 і rclpy
Шина з іменами, як у rclpy: сервіси, параметри, bag-записи й типові пастки, які гублять повідомлення.
Шлях «Robotics Software Engineer»
Після керування й навігації збираєте стек навігації з вузлів — планувальник і шлюз безпеки.
Курс спирається на знання, позначені нижче як обов’язкові.
Потрібно знати
Впевнений Python — класи, словники, функції, які передають як аргумент (колбеки, lambda).
Бажано знати
Загальне уявлення про будову робота (курс «Як влаштована автономна система») і математика з курсу «Математика для MilTech з нуля» (радіани, sin/cos, повороти, стандартне відхилення).
Не потрібно знати заздалегідь
Усі поняття ROS 2, байти й вирівнювання, 2D-перетворення координат.
Якщо цих знань ще немає — пройдіть курси за порядком:
Результат
описувати граф обчислень: вузли, топіки, типи, простори імен і їх розв'язання
написати мінімальну шину pub/sub і розуміти різницю між синхронною і черговою доставкою
серіалізувати повідомлення в CDR з вирівнюванням, як DDS
обирати QoS: надійність, довговічність, глибину KEEP_LAST — і діагностувати несумісність
планувати таймери без дрейфу й міряти частоту топіка, як ros2 topic hz
писати сервіси й не потрапляти в deadlock синхронного виклику з колбеку
валідувати параметри атомарно й читати файли параметрів без пасток типізації
рахувати перетворення в дереві TF і перевіряти саме дерево
впорядковувати запуск вузлів і підставляти аргументи launch
відтворювати bag-записи й працювати з часом запису, а не часу відтворення
реалізувати lifecycle-вузол і агрегатор діагностики
зібрати планувальник маршруту і шлюз безпеки на шині
Формат
12 модулів. У кожному — теорія, що пов'язує навчальну модель з реальним ROS 2, і 2–3 задачі з автоматичною перевіркою на прихованих сценаріях, плюс тести й три практичні форми. Третина задач — «знайдіть помилку»: вузол працює, але губить повідомлення, дрейфує в часі чи блокує виконавця.
13 уроків з прикладами
30+ завдань з автоматичною перевіркою
4 тести для самоперевірки
Онлайн на my.prog.academy, без встановлення програм
AI-помічник
На сторінках курсу, уроків і завдань є кнопка «Запитати AI». Помічник знає матеріали саме цього курсу й урок, на якому ви зараз, тому відповідає по темі й показує, у яких уроках про це йдеться.
Не зрозуміли урок з першого разу — попросіть пояснити простіше або дати ще один приклад.
Застрягли — підкаже, з чого почати, і допоможе знайти помилку у вашому рішенні. Готового рішення не дає.
Запитайте, де пояснювали поняття, — і отримаєте посилання на потрібні уроки курсу.
Уточнюйте без повторів: помічник пам’ятає розмову, а нещодавні розмови курсу зберігаються.
Входить у кожен тариф оплаченої підписки — Basic і Premium. У Premium ліміти використання AI-помічника вищі — ним можна користуватися активніше. Це помічник у навчанні, а не генератор готових відповідей: він пояснює й підказує, а завдання ви розв’язуєте самі.
Програма
12 модулів, 30+ практичних завдань з автоматичною перевіркою і 4 тести. Відкрийте модуль, щоб побачити всі теми.
Граф обчислень робота, типи повідомлень і правила імен ROS 2
Синхронна доставка проти черги: як порядок повідомлень залежить від устрою шини
CDR, як у DDS: порядок байтів, вирівнювання полів і рядки з NUL
Надійність, довговічність, глибина KEEP_LAST і сумісність запитів із пропозиціями
Таймер на сітці періодів без дрейфу, пропущені виклики і вимірювання частоти топіка
Запит — відповідь, перевірки перед дією і deadlock синхронного виклику з колбеку
Декларовані параметри, атомарна валідація і типи у файлах параметрів
2D-перетворення, порядок композиції, пошук через спільний корінь і перевірка дерева
Залежності між вузлами, топологічний порядок і підстановка аргументів launch
Розклад відтворення з швидкістю і фільтром, та час запису проти часу відтворення
Керовані стани вузла, lifecycle-видавець і агрегація діагностики зі станом STALE
Планувальник маршруту з латчованою картою і шлюз безпеки для команд руху
Стек
Код пишете й запускаєте в браузері на платформі — встановлювати нічого не потрібно.
Застосування
Доступ
Заповніть коротку форму на цій сторінці.
Після заявки оберіть Telegram або Viber — бот надішле подальші інструкції щодо доступу.
Уроки, практика й тести — на my.prog.academy, у зручному для вас темпі.
Контакт
Залиште контакти — надішлемо деталі доступу до курсу «Архітектура ПЗ роботів: ROS-подібні концепти».
Регулятори, одометрія, пошук шляху й автомат місії — і capstone: автономний наземний робот у симуляції.
Що відбувається з пакетом між апаратом і станцією: заголовки, втрати, повтори, бюджет каналу і mesh.
Автономний робот зсередини: сенсори, регулятори, автомат режимів і захисна логіка — у коді, який можна запустити.
Залиште запитання — підкажемо, чи підходить вам курс і з чого краще почати.