План на курса

Седмица 01

Ден 01

Въведение

  • Какво прави робота умен?

Физически против виртуални роботи

  • Умни роботи, умни машини, съзнателни машини и автоматизация на роботни процеси (RPA), и др.

Ролята на изкуствения интелект (AI) в роботиката

  • Защо е повече от "ако-тогава-иначе" и самообучаващите се машини
  • Алгоритмите зад AI
  • Машинно самообучение, компютърно зрение, обработка на естествен език (NLP) и др.
  • Когнитивна роботика

Ден 02

Ролята на голямите данни в роботиката

  • Продължаване на вземането на решения основено на данни и модели

Облачните технологии и роботиката

  • Свързване на роботика с IT
  • Построаване на по-функционални роботи, които имат достъп до повече информация и сотрудничат

Изучаващ случай: Индустриални роботи

  • Механични роботи
    • Baxter
  • Роботи в ядрени обекти
    • Детектор на радиация и защита
  • Роботи в ядрени реактори
    • Детектор на радиация и защита

Ден 03

Хардуерните компоненти на робота

  • Мотори, датчици, микроконтролери, камери и други

Общи елементи на роботите

  • Компютърно зрение, разпознаване на глас, синтеза на реч, датчици за близост и натиск и др.

Ден 04

Фреймворки за програмиране на робота

  • Отворени и комерциални фреймворки
  • Роботна операционна система (ROS)
    • Архитектура: рабоча среда, теми, съобщения, услуги, узли, actionlibs, инструменти и др.

Езици за програмиране на робота

  • C++ за нискоуровнево управление
  • Python за координиране
  • Програмиране на узли в ROS с Python и C++
  • Други езици

Ден 05

Инструменти за симулация на физически робот

  • Комерциални и отворени 3D симулационни и визуализационни софтуери

Инструменти за проектиране на физическите характеристики на робота

  • Комерциални и отворени CAD софтуери

Изучаващ случай: Механични роботи

  • Роботи в ядрената технология
  • Роботи в екологичните системи

Седмица 02

Ден 06

Бърз курс по Python

  • Инсталация и настройка на софтуера
  • Полезни пакети и утилита
  • Работа с Python данни, оператори, цикли, условни изрази, функции, методи и др.
  • Написване на примерен програмен код
  • Командно задание на екипа

Ден 07

Подготвка за разработка на робота

  • Настройка на разработничката среда (например, Arduino IDE)
  • Разглеждане на синтаксиса на език Arduino (C/C++)
  • Кодиране, компилиране и качване в микроконтролера
  • Събиране на хардуерните компоненти на робота на Arduino

Ден 08

Работа с компоненти на Arduino

  • Аналозни датчици
  • Дигитални датчици

Работа с комуникационни модули на Arduino

  • Bluetooth модули
  • Wi-Fi модули
  • RFID модули
  • I2C и SPI
  • Мобилни интернет

Ден 09

Създаване на робота

  • Планиране на функциите и характеристиките на робота
  • Реализиране на движението на робота

Командно задание на екипа

  • Дискусия и обсъждане

Ден 10

Управление на робота

  • Реализиране на контролера
  • Свързване с робота (с кабел и безкабелно)

Командно задание на екипа

  • Дискусия и обсъждане

Седмица 03

Ден 11

Програмиране на робота

  • Симулация на робот с Gazebo/ROS
  • Разбиране на ROS узел
  • Програмиране на узел в Python и C++
  • Съобщения и теми в ROS
  • Парадигма за публикуване/абониране

Командно задание на екипа

  • Bump & Go с реален робот
  • Дискусия и обсъждане

Ден 12

Програмиране на робота (продължение...)

  • Координатни системи в ROS и промени на референции
  • Обработка на 2D информация от камери с OpenCV
  • Обработка на информация от лазер

Командно задание на екипа

  • Безопасно следене на обекти по цвят
  • Дискусия и обсъждане

Ден 13

Тестване на робота

  • Инструменти за тестване на кода
  • Тестове с единични модули (unit testing)
  • Създаване на набор от тестове (test suite)
  • Автоматизиране на тестовете
  • Диагностициране и устраняване на грешки

Командно задание на екипа

  • Безопасно следене на обекти по цвят
  • Дискусия и обсъждане

Ден 14

Програмиране на робота (продължение...)

  • Услуги в ROS
  • Обработка на 3D информация от RGB-D датчици с PCL
  • Карти и навигация с ROS

Ден 15

Програмиране на робота (продължение...)

  • Изпълнение на задачи с ActionLib

Командно задание на екипа

  • Търсене на обекти в околната среда

Седмица 04

Ден 16

Програмиране на робота (продължение...)

  • Изпълнение на задачи с ActionLib

Ден 17

Програмиране на робота (продължение...)

  • Разпознаване и генериране на глас
  • Диагностициране и устраняване на грешки

Командно задание на екипа

  • Управление на робот с глас

Ден 18

Програмиране на робота (продължение...)

  • Управление на роботни манипулатори с MoveIt!
  • Управление на роботна шийба за активно зрение
  • Диагностициране и устраняване на грешки

Командно задание на екипа

  • Търсене и събиране на обекти

Ден 19

Разпространение на робота

  • Разпространение на робота в физическия свят
  • Мониторинг и обслужване на роботи в полето
  • Използване на мобилно приложение за управление на робота

Безопасност на робота

  • Предотвратяване на несанкционирани промени
  • Предотвратяване от хакерско разглеждане и кражба на чувствителни данни

Ден 20

Анализ на данни

  • Събиране и организиране на данните, генерирани от робота
  • Разбирање на данните чрез инструменти за визуализация и процеси

Създаване на робот с колаборация

  • Създаване на робот в облака
  • Създаване на мобилно приложение за взаимодействие с вашите роботи
  • Присъединяване към общността по роботика

Бъдещето на роботите в науката и енергетиката

Резюме и заключение

Изисквания

  • Знание на програмирането в C или C++
  • Знание на програмирането в Python (полезно, но не задължително; може да бъде преподавано като част от курса)
  • Опит с командния ред на Linux

Публика

  • Развитчици
  • Инженери
  • Учен
  • Техници
 80 часове

Брой участници


Цена за участник

Отзиви от потребители (1)

Предстоящи Курсове

Свързани Kатегории