Ce cours vise à familiariser les étudiants aux fondements de l'intelligence artificielle et de la robotique en s'appuyant sur la pédagogie par projet. Il vise également à les confronter aux difficultés de mise en œuvre afin de les rendre opérationnels au travers de la conception et du développement d'un robot ramasseur de balles en LEGO.
L'intelligence artificielle cherche à rendre calculable des fonctions cognitives de haut niveau pour permettre le développement de robots autonomes d’un haut degré d'autonomie nécessitant peu ou pas de supervision. Le développement et le déploiement de robots à grande échelle aura un impact sociétal considérable si l’on pense aux applications qui en découleront. Ces robots pourraient devenir des compagnons crédibles dans notre vie quotidienne ou des substituts utiles dans des situations complexes, dangereuses ou gênantes. La clé de leur succès réside dans leur capacité à interagir avec l’homme. Même si ces systèmes sont encore hors de portée, ils participeront à la prochaine rupture technologique.
Dans ce cours nous présentons dans une première partie un panorama des techniques de base du domaine de l'intelligence artificielle et de la robotique.
Cet enseignement s’articule autour d’un enseignement théorique et d’un projet pratique se déroulant tout au long du semestre. Ce projet consiste à développer un robot autonome en LEGO pour résoudre une tâche complexe d’exploration, de cartographie et de collecte d’objets dans un environnement. A la fin du semestre, les étudiants seront amenés à comparer les performances de leurs robots respectifs au travers d'une compétition.
Semaine | Supports de cours | TD | Ressources | |
---|---|---|---|---|
n°1 | Introduction à l'intelligence artificielle | TD n°1 | Article Turing(1950) | |
n°2 | Les agents intelligents | TD n°2 | ||
n°3 | Les algorithmes classiques de recherche en IA | TD n°3 | ||
n°4 | Les algorithmes et recherches heuristiques | TD n°4 | ||
n°5 | La programmation des jeux de réflexion | TD n°5 | Article sur DeepBlue | |
n°6 | Le problèmes de satisfaction de contraintes | TD n°6 | ||
n°7 | Les agents logiques | TD n°7 | ||
n°8 | La logique du premier ordre | TD n°8 | ||
n°9 | L'inférence en logique du première ordre | TD n°9 | ||
n°10 | Introduction à la programmation logique avec Prolog | TD n°10 | ||
n°11 | La planification automatique | TD n°11 | IPP, PDDL | |
n°12 | bonus | L'apprentissage Artificielle | Évaluation Projet |
Le projet de robotique consiste à programmer un robot capable de ramasser un maximum de palets sur un plateaux en un minimum de temps. La forme des robots vous est imposée. L'évaluation consistera à opposer vos différents robots lors d'une compétition en semaine 12. Votre note de projet tiendra compte des évaluations hebdomadaires. Le projet est à réaliser par groupe de 4 ou 5. Le sujet détaillé du projet disponible sur la page du projet.
La librairie utilisée est leJos. Pour l'installation veuillez vous référer à cette video Youtube. Je mets également à votre disposition quelques exemples lejos_exemple.zip. Finalement, pour ceux qui veulent utiliser la caméra infrarouge pour détecter les pallets vous pouvez vous appuyez sur la description du protocole et le code java client fourni.
Groupe | Etudiants | Github |
---|---|---|
n°1 | MEYRIEUX Gautier, PACO Paul, CHAPPOT Alexandre, BERGERE Clément | GitHub (Paul) |
n°2 | Pedro Sosa Garcia, Alain Karapetian, Mohtadi Barchouchi, Mohammed Benchekroun | GitHub (Eva) |
n°3 | HUBER Robin, PONCY-BERNARD Oscar, KAHLAOUI-GUILLAUME Rayan et LOUSSERT Mathis | GitHub (Eve) |
n°4 | Adrien BONNARDEL, Valentine DUEZ, Clement ROMANET, Emma ROUME | GitHub (Pablo) |
n°5 | Guilhem SIMEAO, Nacer Eddine FARDOUS, Karam SLIKA, Estelle LONG–MERLE, Abderrahmane LABIB | GitHub (Jarvis) |
n°6 | IMAKHLOUFEN Celia Razika , CHAYNANE Mohamed Amine, LERICHE Salomé (Thomas) | GitHub (Wall) |