Non ci sono precedenze obbligatorie. Il corso assume che si disponga delle conoscenze di base di informatica.
Al termine del corso lo studente conosce e comprende le funzionalità di controllo di robot manipolatori industriali e di robot mobili autonomi (percezione, controllo, pianificazione, manipolazione, navigazione).
Lo studente conosce le tecniche di progettazione del sistema software di controllo per robot autonomi.
E' in grado di analizzare i requisiti funzionali di un robot autonomo e di riconoscere similitudini che favoriscono lo sviluppo di software riusabile.
Al termine del corso lo studente sa progettare l'architettura di controllo di un robot autonomo mobile e manipolatore.
Grazie all'attività sperimentale svolta in laboratorio, lo studente sa configurare il sistema di controllo di un robot mobile e testare le prestazioni dei singoli sottosistemi (sensori e attuatori) e del sistema robotico integrato.
Introduzione alla progettazione di sistemi software di controllo per robot autonomi
• Architetture di controllo Sense-Plan-Act
• Situatedness, Embodimen, Intelligence
• Modelli di componente software e architetture a componenti
• I middleware per la robotica: ROS, OROCOS
Algoritmi di controllo per robot autonomi
• Modelli cinematici di robot mobile
• Controllo del moto
• Navigazione e aggiramento degli ostacoli
• Localizzazione
• Costruzione di mappe Metriche, Topologiche
• Tecniche probabilistiche per la simultanea localizzazione e costruzione di mappe
• Visione 3D con sensori di profondità
Algoritmi di controllo per robot manipolatori
• Modelli cinematici di robot manipolatore
• controllo del moto nello spazio dei giunti e nello spazio cartesiano
• Cinematica diretta
• Cinematica inversa in forma chiusa e con metodi numerici
• Cinematica differenziale
Pianificazione del moto per robot mobili manipolatori
• Verifica di collisione e calcolo delle distanze
• Campionamento delle configurazioni libere da ostacoli
• Pianificazione del percorso
• Generazione della triettoria
Pianificazione automatica delle attività
• Hierarchical Task Networks
• State-space planning
Attività sperimentali in laboratorio (corso da 9 cfu) con
• robot mobile differential drive
• robot mobile omnidirezionale
• sensori di visione 3D
• telemetro laser
Lezioni frontali con diapositive. Le diapositive sono disponibili online per gli studenti prima dell'inizio del corso.
All'inizio di ogni lezione, gli studenti sono invitati a fare domande sui concetti presentati durante la lezione precedente al fine di chiarire eventuali
dubbi che possono sorgere durante lo studio a casa.
Le sessioni di laboratorio sono supervisionate al fine di garantire che lo studente faccia progressi costanti nello svolgimento delle attività sperimentali con sensori e robot mobili e per stimolare la discussione tra gli studenti.
La verifica avviene tramite una prova scritta. Per il corso da 9 cfu è richiesta la stesura di una relazione sull'attività sperimentale svolta in laboratorio.
La prova scritta ha una durata di due ore e consiste in domande di teoria. Il testo della prova indica il punteggio massimo conseguibile per ogni domanda.
Sito web del corso:
http://robotics.unibg.it/teaching/robotics
There are no formal requirements. It is expected that students have already acquired all the basic computer science concepts.
At the end of the course the student knows and understands the control functions of industrial manipulator robots and autonomous mobile robots (perception, control, planning, manipulation, navigation).
The student knows the design techniques of the software control system for autonomous robots.
He/she is able to analyze the functional requirements of an autonomous robot and to recognize similarities that favor the development of reusable software.
At the end of the course the student knows how to design the control architecture of an autonomous mobile robot and manipulator.
Thanks to the experimental activity carried out in the laboratory, the student can configure the control system of a mobile robot and test the performance of the individual subsystems (sensors and actuators) and of the integrated robotic system.
Introduction to the design of software control systems for autonomous robots
• Sense-Plan-Act Architectures
• Situatedness, Embodiment, Intelligence
• Component models and component architectures
• Robotics middleware: ROS, OROCOS
Algorithms for autonomous robot control
• Kinematics models and mobile robot motion control
• Control of robot motion
• Navigation and obstacle avoidance
• Localization
• Metric Mapping e Topological Mapping
• Probabilistic techniques for Simultaenous Localization and Mapping
• 3D Vision with Depth sensors
Algorithms for robot manipulators control
• Kinematics models and motion control
• Direct Kinematics
• Inverse Kinematics (closed form and numerical methods)
• Differential Kinematics
Motion planning for mobile manipulators
• Collision checking and distance computation
• Sampling of free configurations
• Path planning
• Trajectory generation
Automated Task planning
• Hierarchical Task Networks
• State-space planning
Laboratory activities (only for 9 cfu course) with several equipments:
• differential drive mobile robot
• omnidirectional mobile robot
• 3D vision sensors
• laser rangefinder
Frontal lessons with slides. Slides are available online for students before the course starts.
At the beginning of each lesson, students are invited to ask questions on
the concepts presented during the previous lesson in order to clarify any
doubts that may arise during home study.
Lab sessions are supervised in order to ensure that the student makes steady progress in performing the experimental activities with sensors and mobile robots and to stimulate discussion among students.
Verification is done through a written test. For the 9 cfu course the verification includes the preparation of a report on the experimental activity carried out in the lab.
The written exam lasts for two hours and consists of theoretical questions. The test text indicates the maximum score achievable for each question.
Course web site:
http://robotics.unibg.it/teaching/robotics