Schița de curs
Săptămâna 01
Ziua 01
Introducere
- Ce face un robot să fie inteligent?
Roboți fizici vs roboți virtuali
- Roboți inteligenți, mașini inteligențe, mașini consciente și automatizarea proceselor robotice (RPA), etc.
Rolul Inteligenței Artificiale (AI) în Robotica
- În afară de "if-then-else" și mașina care învață
- Algoritmii din spatele AI
- Învățarea automată, viziunea computerizată, procesarea limbajului natural (NLP), etc.
- Robotica cognitivă
Ziua 02
Rolul Big Data în Robotica
- Luarea deciziilor bazată pe date și modele
Cloud-ul și Robotica
- Legătura dintre robotica și IT
- Construirea de roboți mai funcționali care accesează mai multe informații și colaboră
Studiu de caz: Roboți industriale
- Roboți mecanici
- Baxter
- Roboți în facilitățile nucleare
- Detectarea și protecția împotriva radiatilor
- Roboți în reactorii nucleari
- Detectarea și protecția împotriva radiatilor
Ziua 03
Componentele Hardware ale unui Robot
- Motoare, senzori, microcontrolere, camere, etc.
Elemente Comune ale Roboților
- Viziunea mașină, recunoașterea vocalului, sinteza vocalei, senzorizarea de apropiere, senzorizarea presiunii, etc.
Ziua 04
Cadrul de Dezvoltare pentru Programarea unui Robot
- Cadre open source și comerciale
- Sistemul de Operare al Roboților (ROS)
- Arhitectură: spațiul de lucru, subiecte, mesaje, servicii, noduri, actionlibs, instrumente, etc.
Limbi pentru Programarea unui Robot
- C++ pentru control la nivel scăzut
- Python pentru orchestrare
- Programarea nodurilor ROS în Python și C++
- Alte limbi
Ziua 05
Instrumente pentru Simularea unui Robot Fizic
- Software de simulare și vizualizare 3D comercial și open source
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 mediene
Săptămâna 02
Ziua 06
Învățare rapidă de Python
- Instalarea și configurarea software-ului
- Pachete și utilități utile
- Lucrul cu structuri de date Python, operatori, bucle, condiționale, funcții, metode, etc.
- Scrierea unui program de exemplu
- Proiect în echipă
Ziua 07
Pregătirea pentru Dezvoltarea Robotului
- Configurarea mediului de dezvoltare (de exemplu, Arduino IDE)
- Explorarea limbajului Arduino (C/C++)
- Codificare, compilare și încărcare pe microcontroler
- Asamblarea componentelor hardware ale unui robot Arduino
Ziua 08
Lucrul cu Componentele Arduino
- Senzori analogici
- Senzori digitali
Lucrul cu Modulele de Comunicare Arduino
- Module Bluetooth
- Module Wi-Fi
- Module RFID
- I2C și SPI
- Internet mobil
Ziua 09
Construcția unui Robot
- Planificarea caracteristicilor și caracteristicilor unui robot
- Implementarea mișcării roboțului
Proiect în echipă
- Discuție și revizuire
Ziua 10
Controlarea Robotului
- Implementarea controlerului
- Conectarea la robot (cu cabluri și fără)
Proiect în echipă
- Discuție și revizuire
Săptămâna 03
Ziua 11
Programarea Robotului
- Simularea unui robot cu Gazebo / ROS
- Comprehensia nodurilor ROS
- Programarea unui nod în Python și C++
- Mesaje și subiecte în ROS
- Paradigma publicație/abonament
Proiect în echipă
- Bump & Go cu robot real
- Discuție și revizuire
Ziua 12
Programarea Robotului (continuare...)
- Frame-uri în ROS și modificări de referință
- Procesarea informațiilor 2D ale camerelor cu OpenCV
- Procesarea informațiilor unui laser
Proiect în echipă
- Urmărirea sigură a obiectelor prin culoare
- Discuție și revizuire
Ziua 13
Testarea Robotului
- Instrumente pentru testarea codului
- Testare unitară
- Crearea unui set de teste
- Automatizarea testelor
- Dezbugging
Proiect în echipă
- Urmărirea sigură a obiectelor prin culoare
- Discuție și revizuire
Ziua 14
Programarea Robotului (Continuare...)
- Servicii în ROS
- Procesarea informațiilor 3D ale senzorilor RGB-D cu PCL
- Hărți și navigare cu ROS
Ziua 15
Programarea Robotului (Continuare...)
- Finalizarea sarcinilor cu ActionLib
Proiect în echipă
- Căutarea obiectelor în mediul de lucru
Săptămâna 04
Ziua 16
Programarea Robotului (Continuare...)
- Finalizarea sarcinilor cu ActionLib
Ziua 17
Programarea Robotului (Continuare...)
- Recunoașterea vocală și generarea vocalei
- Dezbugging
Proiect în echipă
- Controlarea unui robot folosind vocea
Ziua 18
Programarea Robotului (Continuare...)
- Controlarea brațelor robotești cu MoveIt!
- Controlarea gâtului robotic pentru viziune activă
- Dezbugging
Proiect în echipă
- Căutare și colectare a obiectelor
Ziua 19
Implementarea Robotului
- Implementarea robotului în lumea fizică
- Monitorizarea și servirea robotoarelor în teren
- Utilizarea unei aplicații mobile pentru controlul unui robot
Sigurarea Robotului
- Previni manipularile neautorizate
- Previni hackerii de a vedea și fura date sensible
Ziua 20
Analiza Datelor
- Colectarea și organizarea datelor generate de robot
- Interpretarea datelor prin intermediul instrumentelor și proceselor de vizualizare
Construirea unui Robot Colaborativ
- Construcția unui robot în cloud
- Construcția unei aplicații mobile pentru interacțiune cu robot
- Alăturarea comunității de robotica
Perspectiva Viitoare a Roboților în Domeniul Științei și Energiei
Rezumat și Concluzie
Inteligența Artificială și Robotica pentru Nucleară Inteligența Artificială (AI) și robotica sunt instrumente puternice pentru dezvoltarea sistemelor de siguranță în facilitățile nucleare. În acest instruire live (online sau presensă), participantii vor învăța diversele tehnologii, cadre și tehnici pentru programarea diferitelor tipuri de roboți care să fie utilizate în domeniul tehnologiei nucleare și sistemelor mediene. Cursul de 4 săptămâni are loc 5 zile pe săptămână. Fiecare zi durează 4 ore și constă din lecturi, discuții și dezvoltarea robotului într-un mediu live lab. Participantii vor finaliza diverse proiecte aplicative pentru a practica cunoștințele învățate. Harta hardware-ului pentru acest curs va fi simulată 3D prin software de simulare. Codul va fi îluit apoi pe hardware fizic (Arduino sau altul) pentru testarea finală. Cadrul open source ROS (Robot Operating System), C++ și Python vor fi utilizate pentru programarea robotului. La sfârșitul instruirii, participantii vor putea: Înțelege conceptele cheie folosite în tehnologiile robotice. Înțelegerea și gestionarea interacțiunii dintre software și hardware într-un sistem robotic. Comprende și implementează componentele de software care substanțează robotica. Construiește și operează un robot mecanic simulat care poate vedea, simțea, procesa, naviga și interacționează cu oamenii prin voce. Înțelege elementele necesare ale inteligenței artificiale (învățarea automată, învățarea profunză etc.) aplicabile la construcția unui robot inteligent. Implementa filtre (Kalman și Particle) pentru a permite roboțului să localizeze obiectele în mișcare din mediul său. Implementare algoritmilor de căutare și planificarea mișcării. Implementa controluri PID pentru a regla mișcările unui robot într-un mediu. Implementa algoritmi SLAM pentru a permite unui robot să creze o hartă a unui mediu necunoscut. Testare și dezbuggingul unui robot în scenarii realiste. Formatul cursului Predarea interactivă și discuții. Multe exerciții și practică. Implementare cu mâinile sale într-un mediu lab live. Despre Hardware Kit-urile de hardware vor fi confirmate de instrucător înaintea instruirii. Kit-urile conțin în mare parte următoarele componente: Tablă Arduino Controler motoare Senzor de distanță Modul Bluetooth slave Tablă pentru prototip și cabluri Cablu USB Kit vehicule Participantii vor trebui să provizioneze hardware-ul lor. Opțiuni de personalizare a cursului Pentru a personaliza orice parte din acest curs (limba de programare, modelul robotului, microcontrolerul, etc.), vă rugăm să ne contactați pentru a organiza. Experiență în programare C sau C++ Experiență în programare Python (utilă dar nu necesară; poate fi învățată ca parte a cursului) Experiență cu linia de comandă Linux Public Dezvoltatori Ingineri Cercetători Tehnicieni În acest instruire live în <loc> (online sau presensă), participantii vor învăța diversele tehnologii, cadre și tehnici pentru programarea diferitelor tipuri de roboți care să fie utilizate în domeniul tehnologiei nucleare și sistemelor mediene. Cursul de 4 săptămâni are loc 5 zile pe săptămână. Fiecare zi durează 4 ore și constă din lecturi, discuții și dezvoltarea robotului într-un mediu live lab. Participantii vor finaliza diverse proiecte aplicative pentru a practica cunoștințele învățate. Harta hardware-ului pentru acest curs va fi simulată 3D prin software de simulare. Codul va fi îluit apoi pe hardware fizic (Arduino sau altul) pentru testarea finală. Cadrul open source ROS (Robot Operating System), C++ și Python vor fi utilizate pentru programarea robotului. La sfârșitul instruirii, participantii vor putea: Înțelege conceptele cheie folosite în tehnologiile robotice. Înțelegerea și gestionarea interacțiunii dintre software și hardware într-un sistem robotic. Comprende și implementează componentele de software care substanțează robotica. Construiește și operează un robot mecanic simulat care poate vedea, simțea, procesa, naviga și interacționează cu oamenii prin voce. Înțelege elementele necesare ale inteligenței artificiale (învățarea automată, învățarea profunză etc.) aplicabile la construcția unui robot inteligent. Implementa filtre (Kalman și Particle) pentru a permite roboțului să localizeze obiectele în mișcare din mediul său. Implementare algoritmilor de căutare și planificarea mișcării. Implementa controluri PID pentru a regla mișcările unui robot într-un mediu. Implementa algoritmi SLAM pentru a permite unui robot să creze o hartă a unui mediu necunoscut. Testare și dezbuggingul unui robot în scenarii realiste.Cerințe
- Experiență în programare cu C sau C++
- Experiență în programare cu Python (util, dar nu obligatorie; poate fi învățată ca parte a cursului)
- Experiență cu linia de comandă Linux
Publicul țintă
- Dezvoltatori
- Ingineri
- Cercetători
- Tehnicieni
Mărturii (1)
Mă simt că obțin competențele esențiale necesare pentru a înțelege cum se potrivesc părțile ROS și cum să structurăm proiectele în el.
Dan Goldsmith - Coventry University
Curs - ROS: Programming for Robotics
Tradus de catre o masina