Scheda programma d'esame
ROBOT PROGRAMMING FRAMEWORKS AND IOT PLATFORMS
EGIDIO FALOTICO
Academic year2023/24
CourseBIONICS ENGINEERING
Code1079I
Credits6
PeriodSemester 1
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
ROBOT PROGRAMMING FRAMEWORKS AND IOT PLATFORMSING-IND/34LEZIONI60
GASTONE CIUTI unimap
EGIDIO FALOTICO unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

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.

Knowledge

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.

Modalità di verifica delle conoscenze

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.

Assessment criteria of knowledge

 

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.

Capacità

 

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).
Skills

 

 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).
Modalità di verifica delle capacità

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.

Assessment criteria of skills

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.

Comportamenti

Lo studente sarà in grado di:

  • implementare un controller basato su middleware robotico;
  • implementare soluzioni IoT e cloud per la robotica.
Behaviors

 

The student will be able to:

  • implement a controller based on robotic middleware;
  • implement IoT and cloud solutions for robotics.
Modalità di verifica dei comportamenti

 

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.

Assessment criteria of behaviors

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.

Prerequisiti (conoscenze iniziali)

 

I prerequisiti sono conoscenze di base in design, elettronica e programmazione (linguaggi: C).

Prerequisites

 

Pre-requisites are basic knowledges in electronics and programming (languages: C).

Indicazioni metodologiche

 

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.

 

Teaching methods

 

  • 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.

Programma (contenuti dell'insegnamento)

 

 

  • 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
Syllabus

 

  • 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
Bibliografia e materiale didattico

 

  • Link a documentazione di ROS, YARP e PARTICLE, uso di slides fornite dal docente.
Bibliography

 

  • link to ROS, YARP and PARTICLE documentation, slides, etc.

Indicazioni per non frequentanti

 

  • Fare riferimento alle sezioni "Programma" e "Bibliografia/materiale didattico";
  • contattare i docenti di riferimento.
Non-attending students info
  • please refer to Syllabus and Bibliography sections. Please contact teachers via email.
Modalità d'esame

 

  • Esame orale focalizzato sulla valutazione degli argomenti trattati; 
  • Progetto di programmazione su middleware robotici
Assessment methods

 

  • oral exam focused on the assessment of basic theoretical knowledge

  • Programming project on the robotic middleware

Notes

N/A

Updated: 11/09/2023 12:44