CdSBIONICS ENGINEERING
Codice1079I
CFU6
PeriodoPrimo semestre
LinguaInglese
Il corso "Robot Programming Frameworks and IoT Platforms” fornirà agli studenti competenze teoriche e pratiche nel campo della programmazione robotica, piattaforme IoT e fornirà informazioni sulla progettazione software di robot e sistemi autonomi con approccio pratico. Attività specifiche saranno svolte con ROS (Robotic Operating System) e YARP (Yet another robot platform) che saranno implementati in ambiente simulato in attività hands-on e utilizzando schede di sviluppo SOM (System on Module) dedicate.
The course "Robot Programming Frameworks and IoT Platforms” will provide the students with theoretical and practical competences in the field of robot programming, IoT platforms and it will provide information on the software design of autonomous robots and systems with a hand-on approach. Specific activities will be performed with ROS (Robotic Operating System) and YARP (Yet another robot platform) that will be implemented in simulated environment in hands-on activity and using dedicated SOM (System on Module) development boards.
I criteri di valutazione della conoscenza del corso "Robot Programming Frameworks and IoT Platforms” consisteranno in una prova orale sui fondamenti teorici degli argomenti del corso e in un progetto di programmazione sulle competenze tecniche acquisite nelle attività pratiche.
The assessment criteria of knowledge of the course "Robot Programming Frameworks and IoT Platforms” will consist in an oral exam on the theoretical foundations of the course topics and a programming project on the technical skills acquired in the hands-on activities.
Al termine del corso "Robot Programming Frameworks and IoT Platforms” lo studente:
- avrà conoscenza del concetto teorico di programmazione robotica, middleware robotici e sistemi IoT;
- saprà progettare un ambiente basato sull'IoT e programmare il firmware embedded;
- saprà progettare e implementare un controller per robot basato su middleware (ROS e YARP).
At the end of the course "Robot Programming Frameworks and IoT Platforms” the student will:
- know about the theoretical concepts of robot programming, robotic midlleware and IoT systems;
- know how to design an IoT-based environment and program the embedded firmware;
- know how to design and implement a controller for robots based on middleware (ROS and YARP).
Durante il corso "Robot Programming Frameworks and IoT Platforms” le competenze saranno valutate progressivamente attraverso la discussione e la valutazione degli esercizi di implementazione durante le attività pratiche.
During the "Robot Programming Frameworks and IoT Platforms” course, skills will be progressively evaluated by discussion and assessment of the implementation exercises during the hands-on activities.
Lo studente sarà in grado di:
- implementare un controller basato su middleware robotico;
- implementare soluzioni IoT e cloud per la robotica.
The student will be able to:
- implement a controller based on robotic middleware;
- implement IoT and cloud solutions for robotics.
Durante il corso "Robot Programming Frameworks and IoT Platforms”, la verifica dei comportamenti avverrà tramite l'interazione con i docenti che servirà per ispirare gli studenti e tradurre argomenti teorici in ricerca.
During the "Robot Programming Frameworks and IoT Platforms” course, criteria of behaviors will be assessed by discussion and interaction that will be used for inspiring the students and translate theoretical topics into research.
I prerequisiti sono conoscenze di base in design, elettronica e programmazione (linguaggi: C).
Pre-requisites are basic knowledges in electronics and programming (languages: C).
Il corso "Robot Programming Frameworks and IoT Platforms” sarà organizzato in lezioni, seminari e attività pratiche. Il confronto durante le lezioni e incontri con i docenti completeranno le metodologie didattiche. I materiali saranno accessibili tramite cartelle condivise con gli studenti.
-
The “Robot Programming Frameworks and IoT Platforms” course will be organized in classes, seminars and hands-on activities. Discussion during the lessons and planned in dedicated face-to-face meeting with the teachers will complete the teaching methods. Materials will be accessible from dedicated shared folders for the students.
-
1) Programmazione Robotica
Principali concetti di programmazione per la robotica e middleware robotici
2) Introduzione a C++
- Classi e Interfacce
- Pointers
- Templates
3) Introduzione a Python
- Data structure and comandi di base
- Classi
4) Interfacce di comunicazione e IoT platforms
- Introduzione alle interfacce di comunicazione nell'elettronica digitale, ad es. SPI e I2C
- Introduzione ai sistemi IoT: definizioni, applicazioni, tecnologie abilitanti
- Strumenti per la programmazione del firmware e OTA dei SoM
- OTA: over-the-air; SOM: sistema su modulo.
- Funzioni chiave e protocolli per la programmazione cloud di SoM
- Esempi ed esercizi (lezioni pratiche)
5) Introduzine al Robot Programming
- ROS framework
- ROS protocolli di comunicazione
- ROS robot control
- Esercizi con ROS per protocolli di communicazione e controllo robotico
- Introduzione a YARP
- YARP protocolli, strategie di comunicazione e controllo robotico
- Exercise con YARP per protocolli di communicazione e controllo robotico
6) Controllo robotico
- Introduzione a simulatori robotici
- Esercizi su controllo robotico
-
1) Robot Programming
-Main concepts of robot programming and robot middleware
2) Introduction to C++
- Class and Interface
- Pointers
- Templates
3) Introduction to Python
- Data structure and basic commands
- Classes
4) Communication interfaces and IoT platforms
- Introduction to communication interfaces in digital electronics, g. SPI and I2C
- Introduction to IoT systems: definitions, applications, enabling technologies
- Tools for local and OTA firmware programming of SoMs
- OTA: over-the-air; SOM: system on module.
- Key-functions and protocols for cloud programming of SoMs
- Examples and exercises (hands-on lessons)
5) Introduction to Robot Programming
- ROS framework
- ROS communication protocols and strategies
- ROS robot control
- Exercise on ROS communication and robot control in simulation
- Introduction to YARP
- YARP communication protocols and strategies and robot control
- Exercise on YARP communication and robot control
6) Robot control
- Introduction to robot simulators
- Exercise on robot control
- Link a documentazione di ROS, YARP e PARTICLE, uso di slides fornite dal docente.
-
link to ROS, YARP and PARTICLE documentation, slides, etc.
- Fare riferimento alle sezioni "Programma" e "Bibliografia/materiale didattico";
- contattare i docenti di riferimento.
- please refer to Syllabus and Bibliography sections. Please contact teachers via email.
- Esame orale focalizzato sulla valutazione degli argomenti trattati;
- Progetto di programmazione su middleware robotici
-
oral exam focused on the assessment of basic theoretical knowledge
-
Programming project on the robotic middleware
N/A