Plan Szkolenia
Tydzień 01
Dzień 01
Wprowadzenie
- Co sprawia, że robot jest inteligentny?
Roboty fizyczne vs. wirtualne
- Inteligentne roboty, inteligentne maszyny, świadome maszyny i automatyzacja procesów roboczych (RPA) itp.
Rola sztucznej inteligencji (AI) w robotyce
- Ponad "jeśli-tak-nie" i maszyna ucząca się
- Algorytmy stojące za sztuczną inteligencją
- Uczenie maszynowe, obróbka obrazu, przetwarzanie języka naturalnego (NLP) itp.
- Kognitywna robotyka
Dzień 02
Rola Big Data w robotyce
- Podejmowanie decyzji na podstawie danych i wzorców
Chmura i robotyka
- Łączenie robotyki z IT
- Budowanie bardziej funkcjonalnych robotów, które mają dostęp do większej ilości informacji i współpracują
Studium przypadku: Przemysłowe roboty
-
Mechaniczne roboty
- Baxter
-
Roboty w zakładach jądrowych
- Wykrywanie i ochrona przed promieniowaniem
-
Roboty w reaktorach jądrowych
- Wykrywanie i ochrona przed promieniowaniem
Dzień 03
Komponenty sprzętowe robota
- Silniki, czujniki, mikrosterowniki, kamery itp.
Wspólne elementy robotów
- Widzenie maszynowe, rozpoznawanie głosu, synteza mowy, czujniki bliskości, czujniki ciśnienia itp.
Dzień 04
Ramy programistyczne do programowania robota
- Otwarte i komercyjne ramy programistyczne
-
Robot Operating System (ROS)
- Architektura: przestrzeń robocza, tematy, wiadomości, usługi, węzły, actionlibs, narzędzia itp.
Języki programowania robota
- C++ dla sterowania na niższym poziomie
- Python dla orchestracji
- Programowanie węzłów ROS w Pythonie i C++
- Inne języki
Dzień 05
Narzędzia do symulowania fizycznego robota
- Komercyjne i otwarte oprogramowanie do symulacji i wizualizacji 3D
Narzędzia do projektowania fizycznych cech robota
- Komercyjne i otwarte oprogramowanie CAD
Studium przypadku: Mechaniczne roboty
- Roboty w dziedzinie technologii jądrowej
- Roboty w systemach ekologicznych
Tydzień 02
Dzień 06
Kurs intensywny z Pythona
- Instalacja i konfiguracja oprogramowania
- Przydatne pakiety i narzędzia
- Praca z strukturami danych Pythona, operatorami, pętlami, warunkami, funkcjami, metodami itp.
- Pisanie przykładowego programu
- Projekt zespołowy
Dzień 07
Przygotowanie do rozwoju robota
- Konfiguracja środowiska programistycznego (np. Arduino IDE)
- Zbadanie składni języka Arduino (C/C++)
- Pisanie, kompilowanie i przesyłanie na mikrosterownik
- Montowanie komponentów sprzętowych robota Arduino
Dzień 08
Praca z komponentami Arduino
- Czujniki analogowe
- Czujniki cyfrowe
Praca z modułami komunikacyjnymi Arduino
- Moduły Bluetooth
- Moduły Wi-Fi
- Moduły RFID
- I2C i SPI
- Mobilne internetowe połączenia
Dzień 09
Budowanie robota
- Planowanie funkcji i cech robota
- Wdrażanie ruchu robota
Projekt zespołowy
- Dyskusja i przegląd
Dzień 10
Sterowanie robotem
- Wdrażanie sterownika
- Łączenie się z robotem (przewodowo i bezprzewodowo)
Projekt zespołowy
- Dyskusja i przegląd
Tydzień 03
Dzień 11
Programowanie robota
- Symulowanie robota z Gazebo/ROS
- Zrozumienie węzła ROS
- Programowanie węzła w Pythonie i C++
- Wiadomości i tematy w ROS
- Paradigma publikacji/subskrypcji
Projekt zespołowy
- Bump & Go z prawdziwym robotem
- Dyskusja i przegląd
Dzień 12
Programowanie robota (cont.)
- Ramki w ROS i zmiany referencyjne
- Opróżnianie informacji 2D z kamer z użyciem OpenCV
- Opróżnianie informacji z lasera
Projekt zespołowy
- Bezpieczne śledzenie obiektów po kolorze
- Dyskusja i przegląd
Dzień 13
Testowanie robota
- Narzędzia do testowania kodu
- Testy jednostkowe
- Tworzenie zestawu testów
- Automatyzacja testów
- Diagnostyka problemów
Projekt zespołowy
- Bezpieczne śledzenie obiektów po kolorze
- Dyskusja i przegląd
Dzień 14
Programowanie robota (cont.)
- Usługi w ROS
- Opróżnianie informacji 3D z czujników RGB-D z użyciem PCL
- Mapy i nawigacja z ROS
Dzień 15
Programowanie robota (cont.)
- Wykonywanie zadań z ActionLib
Projekt zespołowy
- Szukanie obiektów w środowisku
Tydzień 04
Dzień 16
Programowanie robota (cont.)
- Wykonywanie zadań z ActionLib
Dzień 17
Programowanie robota (cont.)
- Rozpoznawanie mowy i generowanie mowy
- Diagnostyka problemów
Projekt zespołowy
- Sterowanie robotem głosem
Dzień 18
Programowanie robota (cont.)
- Sterowanie ramionami robotów z MoveIt!
- Sterowanie szyją robota dla aktywnego widzenia
- Diagnostyka problemów
Projekt zespołowy
- Szukanie i zbieranie obiektów
Dzień 19
Wdrażanie robota
- Wdrażanie robota w świecie fizycznym
- Monitorowanie i serwisowanie robotów w terenie
- Używanie aplikacji mobilnej do sterowania robotem
Bezpieczeństwo robota
- Zapobieganie nieautoryzowanemu manipulowaniu
- Zapobieganie włamaniom i kradzieży wrażliwych danych
Dzień 20
Analiza danych
- Zbieranie i organizowanie danych generowanych przez robota
- Zrozumienie danych za pomocą narzędzi wizualizacji i procesów
Budowanie robota wspólnie
- Budowanie robota w chmurze
- Budowanie aplikacji mobilnej do interakcji z robotem
- Dołączenie do społeczności robotyki
Przyszłość robotów w dziedzinie nauki i energetyki
Podsumowanie i zakończenie
Wymagania
- Doświadczenie programistyczne w języku C lub C++
- Doświadczenie programistyczne w Python (przyda się, ale nie jest konieczne; można nauczyć się w trakcie kursu)
- Doświadczenie z linia polecenia systemu Linux
Grupa docelowa
- Programiści
- Inżynierowie
- Naukowcy
- Technicy
Opinie uczestników (2)
Dobrze omówione przez trenera przykłady ćwiczeń
Mariusz - Politechnika Opolska
Szkolenie - Artificial Intelligence (AI) for Mechatronics
Czuje, że zdobyłem podstawowe umiejętności potrzebne do zrozumienia, jak ROS się składa, i jak strukturować projekty w nim.
Dan Goldsmith - Coventry University
Szkolenie - ROS: Programming for Robotics
Przetłumaczone przez sztuczną inteligencję