План на курса
Седмица 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
Публика
- Развитчици
- Инженери
- Учен
- Техници
Отзиви от потребители (1)
неговото знание и използване на ИИ за роботика в бъдещето.
Ryle - PHILIPPINE MILITARY ACADEMY
Курс - Artificial Intelligence (AI) for Robotics
Машинен превод