Návrh Školení
Týden 01
Úvod
- Co dělá robota chytrým?
Fyzické versus virtuální roboty
- Smart Robots, Smart Machines, Sentient Machines and Robotic Process Automation (RPA) atd.
Role umělé inteligence (AI) v Robotics
- Za „jestliže-pak-jinak“ a výukovým strojem Algoritmy za umělou inteligencí Strojové učení, počítačové vidění, zpracování přirozeného jazyka (NLP) atd. Kognitivní robotika
Role velkých dat v Robotics
- Rozhodování na základě dat a vzorů
Oblak a Robotics
- Propojení robotiky s IT Budování funkčnějších robotů, kteří mají přístup k více informacím a spolupracují
Případová studie: Průmyslové roboty
- Mechanické roboty Baxter
Společné Elements robotů
- Strojové vidění, rozpoznávání hlasu, syntéza řeči, snímání blízkosti, snímání tlaku atd.
Vývojové rámce pro Programming robota
- Open source a komerční rámce Robot Operating System (ROS) Architektura: pracovní prostor, témata, zprávy, služby, uzly, actionlibs, nástroje atd.
Jazyky pro Programming robota
- C++ pro nízkoúrovňové ovládání Python pro orchestraci Programování ROS uzlů v Pythonu a C++ Jiné jazyky
Nástroje pro simulaci fyzického robota
- Komerční a open source 3D simulační a vizualizační software
- Týden 02
Příprava vývojového prostředí
Instalace a nastavení softwaru Užitečné balíčky a nástroje
Případová studie: Mechanické roboty
- Roboti v oblasti jaderné techniky Roboti v environmentálních systémech
Programming Robot
- Programování uzlu v Pythonu a C++ Porozumění uzlu ROS Zprávy a témata v ROS Publikace / paradigma předplatného Projekt: Bump & Go se skutečným robotem Řešení problémů Simulace robotů s altánem / ROS Rámečky v ROS a reference změny 2D zpracování informací kamer s OpenCV Zpracování informací laserem Projekt: Bezpečné sledování objektů podle barev Řešení problémů
- Týden 03
Programming Robot (Pokračování...)
Služby v ROS 3D zpracování informací RGB-D senzorů s PCL mapami a navigace s ROS Projekt: Search pro objekty v prostředí Troubleshooting
Programming Robot (Pokračování...)
- ActionLib Speech Recognition a Speech Generation Ovládání robotických paží pomocí MoveIt! Ovládání robotického krku pro aktivní vidění Projekt: Vyhledávání a sběr objektů Odstraňování problémů
Testování vašeho robota
- Testování jednotek
- Týden 04
Rozšíření schopností robota pomocí Deep Learning
Vnímání -- vidění, zvuk a haptika Reprezentace znalostí Rozpoznávání hlasu pomocí NLP (zpracování přirozeného jazyka) Computer vidění
Crash Course v Deep Learning
- Umělé Neural Networks (ANN) Umělé Neural Networks vs. Biologické Neural Networks Dopředná vazba Neural Networks Aktivační funkce Trénink Umělé Neural Networks
Crash Course v Deep Learning (pokračování...)
- Deep Learning Modely konvolučních sítí a rekurentních sítí
Konvoluční Neural Networks (CNN nebo ConvNets) Konvoluční vrstva
- Sdružovací vrstva
Recurrent Neural Networks (RNN) Trénink RNN Stabilizace gradientů během tréninku Sítě dlouhodobé krátkodobé paměti
Platformy pro hluboké učení a softwarové knihovny Hluboké vzdělávání v ROS
Použití Big Data ve vašem robotu
- Koncepty velkých dat Přístupy k analýze dat Nástroje velkých dat Rozpoznávání vzorců v datech Cvičení: NLP a Computer Vision o velkých souborech dat
Porozumění smyslovým datům (smyčka smysl-plán-akt)
- Cvičení: Zachycení streamovaných dat
Programming autonomní robot s hlubokým učením
- Deep Learning součásti robota Nastavení simulátoru robota Spuštění neuronové sítě akcelerované CUDA s řešením problémů v kavárně
Rozpoznávání objektů na fotografiích nebo tocích videa Povolení počítačového vidění pomocí OpenCV Odstraňování problémů
- Analýza dat
Použití robota ke shromažďování a organizaci nových dat Nástroje a procesy pro pochopení smyslu dat
Nasazení robota
Přechod simulovaného robota na fyzický hardware Nasazení robota ve fyzickém světě Monitorování a servis robotů v terénu
- Zabezpečení vašeho robota
Zabránění neoprávněné manipulaci Zabránění hackerům v prohlížení a krádeži citlivých dat
- Vytvoření robota ve spolupráci
Stavba robota v cloudu Připojení ke komunitě robotů
- Budoucnost Outlook pro roboty v oblasti vědy a energetiky
Shrnutí a závěr
Požadavky
- Zkušenosti s programováním v C nebo C++
- Zkušenosti s programováním v Python (užitečné, ale ne nutné; lze vyučovat jako součást kurzu)
- Zkušenosti s příkazovým řádkem Linuxu
Publikum
- Vývojáři
- Inženýři
- Vědci
- Technici
Reference (1)
Good conceptual explanations followed by good example exercises