Технології програмування робототехнічних систем

Спеціальність: Автоматизація та комп'ютерно-інтегровані технології
Код дисципліни: 6.151.04.E.061
Кількість кредитів: 3.00
Кафедра: Автоматизація та комп'ютерно-інтегровані технології
Лектор: Асистент, к.т.н. Варищук Василь Ігорович
Семестр: 8 семестр
Форма навчання: денна
Мета вивчення дисципліни: Формування у студентів фахових компетентностей, теоретичних знань та практичних навичок роботи з Robot Operating System (ROS), ознайомлення з її функціональними можливостями та прикладами практичного застосування ROS для програмування робототехнічних систем.
Завдання: Вивчення навчальної дисципліни передбачає формування та розвиток у студентів компетентностей: загальних: - здатність розв’язувати складні спеціалізовані задачі та практичні проблеми, що характеризуються комплексністю та невизначеністю умов, під час професіи?ноі? діяльності у галузі автоматизаціі? або у процесі навчання, що передбачає застосування теоріи? та методів галузі; - здатність застосовувати знання у практичних ситуаціях; - здатність усвідомлювати необхідність навчання впродовж усього життя з метою поглиблення набутих та здобуття нових фахових знань; фахових: - ФК6. Здатність використовувати для вирішення професійних завдань новітні технології у галузі автоматизації та комп’ютерно- інтегрованих технологій, зокрема, проектування багаторівневих систем керування, збору даних та їх архівування для формування бази даних параметрів процесу та їх візуалізації за допомогою засобів людино-машинного інтерфейсу; - ФК9. Здатність вільно користуватися сучасними комп’ютерними та інформаційними технологіями для вирішення професійних завдань, програмувати та використовувати прикладні та спеціалізовані комп’ютерно-інтегровані середовища для вирішення задач автоматизації; - ФКС2.2. Здатність розробляти систему керування роботизованим технологічним комплексом на основі сенсорів технологічних параметрів, систем технічного зору, мікропроцесорних керуючих засобів та виконавчих пристроїв; - ФКС2.4. Здатність застосовувати сучасні технологіі? програмування систем керування роботизованими комплексами та систем і?х диспетчеризаціі? з врахуванням принципів кібербезпеки таких систем.
Результати навчання: У результаті вивчення навчальної дисципліни студент повинен бути здатним продемонструвати такі результати навчання: - знання сучасних інформаційних технологій програмування, моделювання та планування переміщення в просторі автономних мобільних роботизованих систем; - знання основних понять, методів, моделей та алгоритмів ROS; - уміння вибирати і застосовувати відповідні компоненти ROS для вирішення проблем мобільної робототехніки; уміння практично застосовувати методи та алгоритми роботизованого сприйняття, навігації, локалізації та маніпуляцій у робототехнічних системах; - уміння розробляти та використовувати програмне забезпечення для управління роботизованими системами. У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі програмні результати навчання: - ФПР 2.1. Вміти обгрунтовано обирати структуру системи керування роботизованим технологічним комплексом на основі характеристик технологічного процесу - ФПР 2.2. Вміти розробляти систему керування роботизованим технологічним комплексом на основі сенсорів технологічних параметрів, систем технічного зору, мікропроцесорних керуючих засобів. - ФПР 2.3. Вміти застосовувати методи цифрового опрацювання сигналів та зображень для розроблення систем керування та моніторингу процесів уроботизованих комплексах. - ФПР 2.4. Вміти застосовувати сучасні технології програмування систем керування роботизованими комплексами та розроблення систем їх диспетчеризації з врахуванням принципів кібербезпеки таких систем.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Пререквізити: - Комп’ютерні технології та програмування, ч.1, ч.2 - Основи робототехніки Кореквізити: - Кібербезпека автоматизованих систем керування - Виконання бакалаврської кваліфікаційної роботи
Короткий зміст навчальної програми: Галузь робототехніки швидко прогресує, і сучасні робототехнічні системи постійно поширюють своє використання на нові напрямки. Особливо цей прогрес помітний в області мобільних та автономних роботів, які окрім транспортних функції використовуються як автономні пристрої для виконання різних технологічних операцій. Завдання реалізації та інтеграції інтелектуальних роботизованих систем вирішується за допомогою Robot Operating System (ROS), яка широко застосовується для програмування мобільних та промислових робототехнічних систем, надаючи платформу для їх побудови та реалізації.
Опис: Ознайомлення з робототехнічними пристроями, системами та їхніми компонентами. Операційні системи роботизованих пристроїв. Огляд архітектури Robotics Operating System (ROS): сновні компоненти, сервіси, інструменти розробки, мови програмування та API. Основи програмування мовою Python: типи даних, оператори розгалуження і циклу, опрацювання винятків, функції, особливості ООП в Python, підключення бібліотек та встановлення модулів. ROS бібліотеки на Python. Налаштування середовища робочої області ROS. Вузли, теми та повідомлення. Модель комунікацій ROS. Зв'язок із використанням сервісів. Створення та виклик сервісу. Стандартні сервіси. Спілкування за допомогою дій. Система технічного зору робота. Бібліотека OpenCV та її використання для обробки та аналізу графічної інформації. Програмування роботизованих систем для вирішення прикладних задач.
Методи та критерії оцінювання: Під час викладання дисципліни, використовуються наступні методи діагностики знань: - усне опитування студентів на лекціях та лабораторних заняттях; - перевірка письмових робіт (захист звітів до лабораторних занять).
Критерії оцінювання результатів навчання: Поточний контроль: виконання та захист лабораторних робіт - 40 балів. Контрольна робота: виконання роботи - 40 балів, захист роботи - 20 балів. Разом за дисципліну - 100 балів.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Lentin Joseph, Robot Operating System (ROS) for Absolute Beginners: Robotics Programming Made Easy, Apress; 1st edition, 2018. – 295 p.. 2. Цвіркун Л.І., Робототехніка та мехатроніка: навч. посіб. / Л.І. Цвіркун, Г. Грулер; під заг. ред. Л.І. Цвіркуна ; М-во освіти і науки України, Нац. гірн. ун-т. – 3-тє вид., переробл. і доповн. – Дніпро: НГУ, 2017. – 224 с.. 3. Staple, D., Learn Robotics Programming: Build and control AI-enabled autonomous robots using the Raspberry Pi and Python. Packt Publishing Ltd.., 2021. – 620 p. 4. Quigley, M., Gerkey, B., & Smart, W. D., Programming Robots with ROS: A Practical Introduction to the Robot Operating System. O'Reilly Media, 2019. – 448 p. 5. Lentin J., Learning Robotics Using Python: Design, Simulate, Program, and Prototype an Autonomous Mobile Robot Using ROS, OpenCV, PCL, and Python., Packt Publishing, 2018. – 280 p.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).