Операційні системи мобільних роботів - Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
---|---|
Галузь знань | 12 Інформаційні технології |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | ІНФОРМАЦІЙНЕ ЗАБЕЗПЕЧЕННЯ РОБОТОТЕХНІЧНИХ СИСТЕМ |
Статус дисципліни | Нормативна |
Форма навчання | очна(денна) |
Рік підготовки, семестр | 2 курс, весняний семестр |
Обсяг дисципліни | 120 |
Семестровий контроль/ контрольні заходи | Екзамен |
Розклад занять | |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів |
Лектор: к.ф.-м.н., доцент, Пономаренко Р.М., e-mail: ponomarenko_roman@ukr.net Практичні / Семінарські: к.ф.-м.н., доцент, Пономаренко Р.М., e-mail: ponomarenko_roman@ukr.net Лабораторні: к. к.ф.-м.н., доцент, Пономаренко Р.М., e-mail: ponomarenko_roman@ukr.net |
Розміщення курсу | Посилання на дистанційний ресурс (Moodle, Google classroom, тощо) |
Програма навчальної дисципліни
- Анотація:
Галузь робототехніки швидко прогресує, і сучасні робототехнічні системи з кожним роком поширюють своє використання на нові напрямки. Особливо цей прогрес можна помітити в галузі мобільних та автономних транспортних роботів, які виконують не тільки транспортні функції по переміщенню самої роботизованої платформи з однієї точки простору в іншу, але і які задіяні як автономні технологічні машини для виконання різних технологічних дій, таких як, наприклад, прибирання приміщень, збір врожаю різноманітної продукції рослинництва, здатні виконувати різні земляні роботи за програмою, досліджувати навколишнє середовище в недоступних для присутності людини місцях, наприклад в зоні відчуження ЧАЕС або в глибинах океанських просторів.
Все частіше мобільні роботи працюють автономно без участі людини і виконують корисні для людини дії і без прямого втручання оператора в свою роботу — автономні транспортні засоби з автопілотами, дрони різноманітного військового призначення, пошукові і рятувальні мобільні роботи призначені для спасіння і т.п., дослідження космічного простору та навколоземного простору і інших планет.
Все частіше в інтелектуальних автономних роботах знаходить застосування комп’ютерне бачення, штучний інтелект, SLAM (одночасна локалізація та картографування), планування шляху, побудова та моделювання середовища віртуальної (VR) та доповненої реальності (AR). Ці сфери базуються на надзвичайно унікальному досвіді, який вимагає багато років для засвоєння, проте вирішення задачі автономної реалізації та інтеграції легко вирішується за допомогою Robot Operating System (ROS) , яка стала стандартом “де факто” в світовій мобільній та промисловій робототехніці в вирішенні задач планування, моделювання та симуляції і сприяла цій тенденції, надаючи загальну платформу для побудови цих автономних реалізацій. Складність цих тем вимагає використання реалізацій на основі бібліотек. ROS - це платформа з відкритим кодом (https://www.ros.org/), яка підтримує багато з цих реалізацій і все частіше застосовується компаніями для інтеграції своїх продуктів в мобільні інтелектуальні і автономні робототехнічні системи.
Курс присвячений вивченню найпопулярнішого фреймворку для створення програмного забезпечення для роботів - Robot Operating System (ROS).
У курсі будуть розглянуті алгоритми, які покладені в основу сучасних мобільних роботів: побудову шляхів та траєкторій руху та алгоритми підтримання потрібної швидкості . Також будуть розглянуті кінематичні моделі різних колісних роботів та моделей сенсорів (відеокамери, ультразвукові датчики, лазерні дальноміри). Розглянуті алгоритми будуть реалізовані студентами на мові Python на практичних заняттях та у якості домашніх завдань. У курсі будуть розглянуті основні поняття та концепції програмування з використанням ROS, а також допоміжні засоби і утиліти, які знаходяться в складі ROS - інструменти для візуалізації, симуляції та налагодження програмного забезпечення мобільних роботів та дронів.
1.Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Цілі курсу
Мета вивчення дисципліни– набуття фахових компетентностей, теоретичних знань і практичних навичок з ROS (Robot Operating System) та її функціональні можливості та про те, як ROS можна застосовувати в різних робототехнічних програмах та системах.
Предметом вивчення дисципліни є технології, методи та засоби програмування за допомогою ROS мобільних роботів та комплексів.
Завдання вивчення дисципліни:
– оволодіння основними поняттями ROS ;
– ознайомлення з новітніми інформаційними технологіями програмування , симуляції та планування переміщення в просторі автономних мобільних роботів за допомогою використання засобів ROS ;
– набуття практичних навичок використання методів і засобів, алгоритмів ROS для планування шляху автономного мобільного робота ;
- навчитися вибирати і застосовувати відповідні компоненти ROS для вирішення проблеми мобільної робототехніки;
Навчальна дисципліна покликана допомогти студенту отримати:
– знання основних понять, методів, засобів, моделей та алгоритмів SLAM, ROS;
–уміння практично застосовувати методи алгоритми роботизованого сприйняття, планування, навігації, локалізації та маніпуляцій в мобільній робототехніці
– використовувати програмне забезпечення для управління мобільними роботами.
КОМПЕТЕНТНОСТІ
Інтегральна компетентність
Здатність розв'язувати складні спеціалізовані задачі та практичні проблеми у галузі планування моделювання та формування маршруту автономних мобільних роботів та дронів, що характеризується комплексністю та невизначеністю умов із застосування теорій та методів проектування, впровадження та супроводження інформаційних систем та технологій.
Загальні компетентності
КЗ 1 | Здатність до абстрактного мислення, аналізу та синтезу |
КЗ 2 | Здатність застосовувати знання у практичних ситуаціях |
КЗ 3 | Здатність до розуміння предметної області та професійної діяльності |
КЗ 4 | Здатність спілкуватися державною та іноземною мовами як усно, так і письмово |
КЗ 5 | Здатність вчитися і оволодівати сучасними знаннями |
Спеціальні (фахові, предметні) компетентності
КС 3 | Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення інформаційних систем та технологій, Інтернету речей (IoT), комп’ютерно-інтегрованих систем та системної мережної структури, управління ними |
КС 10 | Здатність вибору, проектування, розгортання, інтегрування, управління, адміністрування та супроводжування інформаційних систем, технологій, інфокомунікацій, сервісів та інфраструктури організацій |
ПРОГРАМНІ РЕЗУЛЬТАТИ НАВЧАННЯ
ПР 5 | Аргументувати вибір програмних та технічних засобів для створення інформаційних систем та технологій на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів інформаційних систем та технологій |
ПР 12 | Знати основи побудови та застосовувати сучасні операційні системи та пакети прикладних програм відповідно до професійних завдань |
Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Для вивчення цієї дисципліни необхідні базові знання з наступних дисциплін:
Програмування (ПО), Теорія алгоритмів (ПО4), Інформаційно-сенсорні системи роботів
(ПО14)
Зміст навчальної дисципліни
Тема 1. Архітектура та конструктивні особливості мобільних роботів.
Введення, приклади платформ, завдання, сенсори.
Тема 2. Сенсорика.
Типи сенсорів та їх математичні моделі. Типи алгоритмів інтеграції різнорідних даних для різних типів сенсорів.
Тема 3. Кінематика мобільних роботів.
Кінематичні схеми мобільних роботів та їх моделі руху.
Тема 4. Апаратна частина мобільних роботів та її реалізація.
Мікрокомп’ютери в мобільній робототехніці. Управляючі мікроконтролери. Схемотехніка і компоненти. Компоненти робота (мотори, сервоприводи). Датчики (протоколи I2C, Serila, SPI)
Тема 5. Операційні системи мобільної робототехніки.
Linux. FreeRTOS та інші ОС реального часу.
Тема 6. Фреймворк Robot Operation System (ROS).
Вступ. Основні компоненти ROS. Програми. Інструкції з встановлення. Інструменти командного рядка ROS.
Тема 7. Інструменти розробки
Створення виконуваних файлів. Система побудови ROS. Мови програмування та API.
Тема 8. Програмування мовою Python.
Типи даних. Операції над рядками, введення виведення. Оператори розгалуження і циклу.
Тема 9. Програмування мовою Python
Функції Кортежі, списки, множини і словники.
Тема 10. Програмування мовою Python.
Cтандартні функції, Основи та особливості ООП в Python. Підключення бібліотек, установка модулів Винятки та обробка помилок.
Тема 11. Основні поняття ROS.
Огляд архітектури та філософії ROS Налаштування середовища робочої області ROS Майстер ROS, вузли, теми та повідомлення. Використання консольних команд.
Тема 12. Топіки.
Топік Видавець. Повідомлення. Топік отримувач. Кастомне повідомлення.
Тема 13. Зв'язок із використанням сервісів.
Модель комунікацій ROS. Сервіси. Виклик сервісу. Створення сервісу. Створення власного повідомлення для сервісу. Клієнтська програма. Серверна програма. Стандартні сервіси. Визначення нестандартних сервісів.
Тема 14. Спілкування за допомогою дій.
Дія і виклик дії. Виконання іншої роботи, поки дія не завершена. Створення сервера . Створення власного типу повідомлення.
Тема 15. Засоби налагодження та адміністрування
Roslaunch, RQT-Console, RQT Plot, RQT graph, ROSBags, RViz, Gazebo. Установка пакетів з репозиторію. Компіляція пакетів.
Тема 16. Static Transforms
Призначення. Створення отримувача і видавця Створення URDF моделі. Основи симулятора Gazebo. Плагіни Gazebo, що відповідають ROS. Поняття про файли запуску. Конфігурація файлу запуску.
Тема 17. Автономна навігація. Локалізація .
Введення, базові поняття. Карти. Візуалізація карти в Rviz. SLAM навігація .Transforms і побудова карти.
Локалізація : Monte Carlo Localization (MCL), The AMCL Package(MCL), локалізація по Aruco Міткам.
Тема 18. Планування шляху та Навігація
Візуалізація в Rviz. Пакет move_base. Глобальний планувальник. Costmap. Локальний планувальник. Локальний Costmap. Відновлення поведінки. Динамічна перебудова карти.
Автономне переміщення дрона в приміщенні.
Навчальні матеріали та ресурси
Базова література.
1. Лентин Джозеф Изучение робототехники с использованием Python. – М.: ДМК Пресс, 2019. – 250 с.
2. Jason M. O'Kane A Gentle Introduction to ROS**.** University of South Carolina, 2014.-
166 p
3.Aaron Martinez , Enrique Fernández Learning ROS for Robotics Programming**. -** Packt
Pub, 2013, 332 p.
4. Carol Fairchild, Dr. Thomas L. Harman ROS Robotics By Example, Second Edition, PactPub, 2017, 456 p.
Електронні ресурси
2.http://wiki.ros.org/ua
3.http://www.clearpathrobotics.com/assets/guides/kinetic/ros/
*4.*Development of a graphical user interface for programming ROS-based robots. (2019). Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.36DF0A93
Політика та контроль
- Політика навчальної дисципліни (освітнього компонента)
Форми організації освітнього процесу, види навчальних занять і оцінювання результатів навчання регламентуються Положенням про організацію освітнього процесу в Національному технічному університеті України «Київському політехнічному інституті імені Ігоря Сікорського».
Політика виставлення оцінок: кожна оцінка виставляється відповідно до розроблених викладачем та заздалегідь оголошених студентам критеріїв, а також мотивується в індивідуальному порядку на вимогу студента; у випадку не виконання студентом усіх передбачених навчальним планом видів занять (практичних робіт, контрольних робіт) до екзамену він не допускається; пропущені заняття обов’язково мають бути відпрацьовані.
Відвідування є обов'язковим (за винятком випадків, коли існує поважна причина, наприклад, хвороба чи дозвіл працівників деканату). Якщо студент не може бути присутніми на заняттях, він все одно несете відповідальність за виконання завдань, що проводились в комп’ютерному класі.
Порядок зарахування пропущених занять. Відпрацювання пропущеного заняття з лекційного курсу здійснюється шляхом підготовки і захисту реферату за відповідною темою у вигляді презентації. Захист реферату відбувається відповідно до графіку консультацій викладача, з яким можна ознайомитись на кафедрі. Відпрацювання пропущеного практичного заняття здійснюється шляхом самостійного виконання завдання і його захисту відповідно до графіку консультацій викладача.
Реферати також можуть підготувати студенти, у яких недостатньо рейтингових балів.
Політика академічної поведінки та доброчесності: конфліктні ситуації мають відкрито обговорюватись в академічних групах з викладачем, необхідно бути взаємно толерантним, поважати думку іншого. Плагіат та інші форми нечесної роботи неприпустимі. Всі індивідуальні завдання та курсову роботу студент має виконати самостійно із використанням рекомендованої літератури й отриманих знань та навичок. Цитування в письмових роботах допускається тільки із відповідним посиланням на авторський текст. Недопустимі підказки і списування у ході захисту лабораторних робіт, на контрольних роботах, на іспиті.
Норми академічної етики: дисциплінованість; дотримання субординації; чесність; відповідальність; робота в аудиторії з відключеними мобільними телефонами. Повага один до одного дає можливість ефективніше досягати поставлених командних результатів. При виконанні
лабораторних робіт студент може користуватися ноутбуками. Проте під час лекційних занять та обговорення завдань лабораторних робіт не слід використовувати ноутбуки, смартфони, планшети чи комп’ютери. Це відволікає викладача і студентів групи та перешкоджає навчальному процесу. Якщо ви використовуєте свій ноутбук чи телефон для аудіо- чи відеозапису, необхідно заздалегідь отримати дозвіл викладача.
Дотримання академічної доброчесності студентів й викладачів регламентується кодекс честі Національного технічного університету України «Київський політехнічний інститут», положення про організацію освітнього процесу в КПІ ім. Ігоря Сікорського
Види контролю та рейтингова система оцінювання результатів навчання (РСО)
РОЗПОДІЛ БАЛІВ, ЯКІ ОТРИМУЮТЬ СТУДЕНТИ ПІД ЧАС ВИВЧЕННЯ ДИСЦИПЛІНИ
|
|
|
|
|
|
|
|
R=8*6+2*6+40=100
Календарний контроль: провадиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу.
За результатами навчальної роботи за перші 7 тижнів максимально можлива кількість балів – 18 балів. На першій атестації (8-й та 9-й тиждень) студент отримує “зараховано”, якщо його поточний рейтинг не менше 10 балів.
За результатами 13 тижнів навчання максимально можлива кількість балів – 40 балів. На другій атестації (14-й тиждень) студент отримує “зараховано”, якщо його поточний рейтинг не менше 24 бали.
Семестровий контроль: іспит.
Умови допуску до семестрового контролю: мінімально позитивна оцінка за індивідуальне завдання / зарахування усіх лабораторних робіт та підсумкова кількість балів не менше 35.
Таблиця відповідності рейтингових балів оцінкам за університетською шкалою:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Робочу програму навчальної дисципліни (силабус):
Складено посада, науковий ступінь, вчене звання, ПІБ доцент, к.ф.-м.н. Пономаренко Р. М.
Ухвалено кафедрою ІСТ (протокол №_ від __.__.2024 р.
Погоджено Методичною комісією факультету (протокол №_ від __.__.2024 р.)