User Tools

Site Tools


teaching:robotics

Initiation à l'intelligence artificielle

Objectifs

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.

Compétences visées

  • Poser une démarche de résolution de problème,
  • Implémenter les algorithmes classiques de l’intelligence artificielle,
  • Maitriser les limites des algorithmes présentés en termes d’activités et de complexité,
  • Maitriser les limites d’un système embarqué temps réel,
  • Savoir concevoir les logiciels d’un robot autonome simple

Descriptif de cours

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.

Modalités de contrôle de connaissance

  • Note finale : 100% projet
  • ECTS : 6
  • Volume horaire : 24h de cours et 24 de TD
  • Horaires : Lundi 13H00-17H00 Fablab

Notes sur l'organisation cours

  • Le cours est en présentiel au Fablab dans le bâtiment situé entre le bâtiment Ampère la maison de l'INP.
  • La capacité d'accueil et le nombre de robots disponibles étant limitée l'option ne pourra accueillir plus de 35 étudiants. Aucun étudiant ne sera accepté s'il n'a pas été présent à la première séance de cours.
  • La présence est obligatoire.
  • Prévoir d'apporter un ordinateur au moins pour 2 étudiants dans chaque groupe.
  • Le robot vous est prêté pour le semestre sous votre entière responsabilité.

Plan du cours

Projet de robotique

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.

Vous allez réalisé votre premier projet de développement pour la plupart à plusieurs. L'outil indispensable que vous devez utiliser est GIT. Pour ceux qui ne sont pas familiariser avec GIT, je vous invite à réaliser ce tutoriel. Pour configurer Git avec Eclispe vous pouvez suivre ce tutoriel.
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)

Références bibliographiques

  • S. Russell and P. Norvig, “Artificial Intelligence: A Modern Approach”, Prentice Hall, 2002
  • J-G. Ganascia, L’intelligence artificielle. Flammarion, 1993.
  • I. Bratko, Programmation en Prolog pour l’intelligence artificielle, 2001
  • J. Alliot et T. Schiex, Intelligence Artificielle et Informatique Théorique, Cépaduès Editions, 1993.
  • N. Nilsson, Artificial Intelligence: A New Synthesis, Morgan Kaufmann, 1998.
teaching/robotics.txt · Last modified: 2023/12/04 13:21 by pellier