Sujets de BE. L3 - Univ. Toulouse III
La programmation temps-réel est cruciale dans la plupart des applications de
la vie courante, la maîtrise de ces aspects vous permettra peut-être de
remporter la compétition Drive ToGaether qui mèle intelligence
artificielle et programmation temps-réel.
L'intelligence artificielle s'intéresse depuis ses débuts à donner des comportements
intelligents aux machines et donc aux robots. Suite au succès rencontré il y a
deux ans par les étudiants
de L3 informatique de Toulouse lors de la compétition IA sur robots organisée par l'AFIA, nous souhaitons
profiter du savoir faire toulousain pour aller plus loin dans ce domaine.
Cette année la compétition se déroule à Nancy du 28 juin au 1er juillet. Nous
organiserons également une compétition entre vous. L'objectif est de faire
circuler ensemble des véhicules autonomes et des véhicules télécommandés afin
qu'ils puissent réaliser une tâche commune, ici amener des victimes vers des
hopitaux. Les robots suivent des lignes au sol. Chaque équipe contient un robot télécommandé et un robot
autonome. Ils doivent ensemble sauver le plus de victimes.
La liste non-exhaustive des tâches à effectuer est la suivante :
- programmer un serveur qui répertorie à chaque instant la position des
robots, au moyen d'une application de surveillance lancée depuis un
téléphone portable accroché au plafond (« IP Camera » par
exemple).
Ce serveur se connectera à la camera IP à intervalles réguliers pour
récupérer une image de la scène, déterminer la position des robots et
effectuer l’arbitrage: vérifier qu'ils respectent les règles, leur donner
les renseignements qu'ils demandent (avant de s'engager sur un tronçon,
chaque robot demande la permission au serveur, de plus tout robot doit
s'arrêter si le serveur le lui demande), fournir les positions des victimes
et des hôpitaux.
- programmer un robot pilotable par téléphone (qui s'arrête si le serveur
le lui demande) et qui transmet régulièrement sa position
- programmer un robot automatique qui suit une ligne et en fonction de la
position de son équipier (piloté par un humain) doit adapter ses déplacements
afin que leur équipe sauve le plus possible de victimes dans une période de
temps donnée.
- programmer un robot qui tient sur deux roues
(cf.
self-balancing-robot ), qui peut suivre un
itinéraire prévu à l'avance (ce robot pourra être aussi utilisé pour la
compétition)
Attendus : Il sera demandé de
- fournir une description du fonctionnement simplifié des robots et du serveur
sous la forme d’automates communiquants à l’aide de l’outil Uppaal afin de vérifier l’absence de blocages dans le système et les temps de réponse.
- déposer votre
code sur un site GitHub (vous pourrez d'ailleurs consulter les programmes
réalisés par les étudiants de l'an dernier qui y ont été déposés.)
Nombre max d'étudiants: 10 étudiants pour 8 robots-légos
Encadrement : Florence Bannay, Jean-Paul Bodeveix, Frédéric Maris,
Julien Vianey
Déroulement du BE:
Nous vous invitons à passer à l'IRIT Lundi 9 avril à 9h pour une réunion de démarrage d'une heure.
- cela nous permettra de vous fournir le matériel (robots + linoléum) à amener dans la salle
- pour ceux qui en ont, il est conseillé d'amener un ordinateur portable afin d'avoir les droits d'installer les logiciels nécessaires à la manipulation des robots
- pour vous avancer vous pouvez jeter un oeil aux réalisations effectuées les années précédentes (répertoriées ci-dessous)
- nous vous demandons de commencer à réfléchir à ce que vous voulez faire précisément afin de vous répartir les rôles, vous pouvez vous regrouper en binômes (on évitera les trinômes mais il y aura une personne seule).
- vous pouvez également commencer à réfléchir aux différents défis à relever (il faudra ensuite prévoir des mini-compétitions/démonstrations toutes les 2/3 semaines).
Depuis 2015 nous avons eu plusieurs binômes qui ont travaillé sur les robots légos, les codes sources sont accessibles:
- https://github.com/lepapyfoufurieux/robot-lego
- https://github.com/aureliengaillard/Robot-Gary
- le dernier n'est pas sous github:
- http://benja135.xyz/blog/cartographie-et-sortie-labyrinthe
et un étudiant qui a travaillé sur le robot 2 roues, le dossier suivant contient des exemples de test, le rapport de l’étudiant (très mal rédigé) et le code Java.
https://drive.google.com/drive/folders/14sYpA1gOgV97yuA8o0QOjLcgZ9gsjzaU?usp=sharing.
Références issues des rapports d'étudiants :
Précédents projets utilisant le Lego Mindstorm :
Documentation à propos du robot modèle NXT :
Aide à la réalisation du path-finding :