Schița de curs
Săptămâna 01
Ziua 01
Introducere
- Ce face un robot inteligent?
Roboți fizici vs. roboți virtuali
- Smart Robots, Mașini inteligente, Mașini sensibile și Robotic Process Automation (RPA), etc.
Rolul lui Artificial Intelligence (AI) în Robotics
- Dincolo de "if-then-else" și de mașina de învățare
- Algoritmii din spatele IA
- Învățarea automată, vederea pe calculator, prelucrarea limbajului natural (NLP) etc.
- Robotica cognitivă
Ziua 02
Rolul lui Big Data în Robotics
- Luarea deciziilor bazată pe date și modele
Cloud-ul și Robotics
- Corelarea roboticii cu IT
- Construirea unor roboți mai funcționali care accesează mai multe informații și colaborează
Studiu de caz: Roboți industriali
- Roboți mecanici
- Baxter
- Roboți în instalațiile nucleare
- Detectarea și protecția împotriva radiațiilor
- Roboți în Reactorile nucleare
- Detectarea și protecția împotriva radiațiilor
Ziua 03
Componentele hardware ale unui robot
- Motoare, senzori, microcontrolere, camere, etc.
Elements comune ale roboților
- Viziune artificială, recunoașterea vocii, sinteza vorbirii, detectarea proximității, detectarea presiunii etc.
Ziua 04
Cadre de dezvoltare pentru Programming un robot
- Cadre comerciale și cu sursă deschisă
- Sistemul de operare al robotului (ROS)
- Arhitectură: spațiu de lucru, subiecte, mesaje, servicii, noduri, actionlibs, instrumente etc.
Languages pentru Programming un robot
- C++ pentru control la nivel scăzut
- Python pentru orchestrare
- Programming ROS noduri în Python și C ++
- Alte limbaje
Ziua 05
Instrumente pentru simularea unui robot fizic
- Software comercial și open source de simulare și vizualizare 3D
Instrumente pentru proiectarea caracteristicilor fizice ale unui robot
- Software CAD comercial și open source
Studiu de caz: Roboți mecanici
- Roboți în domeniul tehnologiei nucleare
- Roboți în sistemele de mediu
Săptămâna 02
Ziua 06
Curs intensiv în Python
- Instalarea și configurarea software-ului
- Pachete și utilități utile
- Lucrul cu Python structuri de date, operatori, bucle, condiționale, funcții, metode etc.
- Scrierea unui exemplu de program
- Proiect de echipă
Ziua 07
Pregătirea pentru dezvoltarea robotului
- Configurarea mediului de dezvoltare (de exemplu, Arduino IDE)
- Explorarea sintaxei limbajului Arduino (C/C++)
- Codificarea, compilarea și încărcarea în microcontroler
- Asamblarea componentelor hardware ale unui robot Arduino.
Ziua 08
Lucrul cu componentele Arduino
- Senzori analogici
- Senzori digitali
Lucrul cu Arduino Communication module
- Module Bluetooth
- Module Wi-Fi
- Module RFID
- I2C și SPI
- Internet mobil
Ziua 09
Construirea unui robot
- Planificarea trăsăturilor și caracteristicilor unui robot
- Implementarea mișcării robotului
Proiect de echipă
- Discuții și revizuire
Ziua 10
Controlul robotului
- Implementarea controlerului
- Conectarea la robot (prin cablu și fără fir)
Proiect de echipă
- Discuții și revizuire
Săptămâna 03
Ziua 11
Programming Robotul
- Simularea unui robot cu Gazebo / ROS
- Înțelegerea nodului ROS
- Programming un nod în Python și C ++
- Mesaje și subiecte în ROS
- Paradigma publicării / abonării
Proiect de echipă
- Bump & Go cu un robot real
- Discuție și revizuire
Ziua 12
Programming Robotul (continuare...)
- Cadre în ROS și schimbări de referință
- Procesarea informațiilor 2D ale camerelor cu OpenCV
- Procesarea informațiilor unui laser
Proiect de echipă
- Urmărirea în siguranță a obiectelor în funcție de culoare
- Discuții și revizuire
Ziua 13
Testarea robotului
- Instrumente pentru testarea codului dvs.
- Testarea unitară
- Crearea unei suite de teste
- Automatizarea testelor
- Rezolvarea problemelor
Proiect de echipă
- Urmărirea în siguranță a obiectelor în funcție de culoare
- Discuții și revizuire
Ziua 14
Programming Robotul (continuare...)
- Servicii în ROS
- Prelucrarea informațiilor 3D ale senzorilor RGB-D cu PCL
- Hărți și navigație cu ROS
Ziua 15
Programming Robotul (Continuare...)
- Îndeplinirea sarcinilor cu ActionLib
Proiect de echipă
- Căutarea de obiecte în mediul înconjurător
Săptămâna 04
Ziua 16
Programming Robotul (Continuare...)
- Îndeplinirea sarcinilor cu ActionLib
Ziua 17
Programming Robotul (Continuare...)
- Speech Recognition și generarea vorbirii
- Rezolvarea problemelor
Proiect de echipă
- Controlul unui robot cu ajutorul vocii
Ziua 18
Programming Robotul (continuare...)
- Controlul brațelor robotice cu MoveIt!
- Controlul gâtului robotic pentru vederea activă
- Rezolvarea problemelor
Proiect de echipă
- Căutarea și colectarea de obiecte
Ziua 19
Implementarea robotului
- Implementarea robotului în lumea fizică
- Monitorizarea și întreținerea roboților pe teren
- Utilizarea unei aplicații mobile pentru a controla un robot
Securizarea robotului
- Prevenirea manipulării neautorizate
- Împiedicarea hackerilor să vizualizeze și să fure date sensibile
Ziua 20
Analiza datelor
- Colectarea și organizarea datelor generate de robot
- Oferirea de sens datelor prin instrumente și procese de vizualizare
Construirea unui robot în colaborare
- Construirea unui robot în cloud
- Crearea unei aplicații mobile pentru a interacționa cu robotul dvs.
- Aderarea la comunitatea de robotică
Viitor Outlook pentru roboți în domeniul științei și energiei
Rezumat și concluzie
Cerințe
- Programming experiență în C sau C++
- Programming experiență în Python (utilă, dar nu necesară; poate fi predată ca parte a cursului)
- Experiență cu Linux linie de comandă
Public
- Dezvoltatori
- Ingineri
- Oamenii de știință
- Tehnicienii
Mărturii (1)
I feel I get the core skills I need to understand how the ROS fits together, and how to structure projects in it.