Cours
: Implantation de systèmes de contrôle, Option SLE, ENSIMAG

Ce cours a pour but d'introduire la méthodologie de
développement par modèle de systèmes de commande
embarqués. Le cours contient un rappel des connaissances de base
de l'automatique, des outils de conception, des langages de
programmation embarquée. Sous
forme d'un projet d'étude,
en utilisant un robot LEGO Mindstorms
NXT, les étudiants apprennent et pratiquent toutes les
étapes de la chaîne de développement par
modèle : modélisation, conception de
contrôleur, validation par simulation, et implantation du
contrôleur dans le robot Mindstorms.
Enseignant Thao Dang, mail : Laboratoire VERIMAG
Horaires et salle : Semestre 2, Lundi, 14h- 15h30, Salle E301
Contenus
Dans la partie théorique (sous forme de CM) nous abordons les
problèmes de l'implantation du logiciel de contrôle.
La partie pratique :
- Applications
au travers d'un problème robotique et des
expérimentations sur des robots LEGO.
- Cette partie donne lieu à un projet qui est
réalisé par groupes de 3 personnes.
Pour le problème robotique qui concerne la conception d'un
controleur pour les robots, les connaissances des sujets
présentés en 2ème année dans
les cours "Introduction à la commande des systèmes
embarqués"
sont tres utiles.
EVALUATION
Le projet développé dans la partie pratique sera
présenté lors d'un oral d'environ 15mn.
L'assiduité au projet est prise en compte.
Documents
- Un
cours d'introduction à l'automatique et au traitement du signal
- Matlab/Simulink
- Quelques documents sur Lustre : cours Synchronous
programming in Control, cours M2P Programmation
synchrone, un tutorial
de Lustre, et une page sur la recherche
autour de Lustre
- Page sur le traducteur
Simulink vers Lustre
- Robot LEGO
Mindstorms NXT et NXC
(Not Exactly C)
Plan
Semaine 1, CM1 (1h30)
- Introduction au cours : Développement de
systèmes de commande embarqués (Transparents)
- Étude de cas - commande
d'un robot LEGO NXT (formulation du probleme, approche, chaine d'outils
de conception)
- Sujet de TD1 :
Modélisation
d'un robot mobile (par des équations
differentielles), Commande de robot
suiveur de ligne
Semaine 2, TP1 (1h30) --Commande
d'un robot (I)
- Modélisation
d'un robot mobile (par des équations
differentielles)
- Contraintes d'implantation (limites de vitesse, etc)
- Commande de robot : atteindre un point cible.
- Structure de contrôleurs (modèle en Simulink)
(1 semaine de vacances)
Semaine 3, TP2 (1h30) -- Commande d'un robot (II)
- Commande de robot : suivre une ligne
- Sujet du TP2
- Correction du TP1 : Un modèle SIMULINK du robot et du contrôleur. Fichier matlab pour les parametres et simulation
Semaines 4 + 5, CM2/CM3 + TP3/TP4 (1h30) -- Traduction de Simulink vers
Lustre
Semaine 6, CM4 (1h30) -- Génération du code NXC
Semaine 7, TP6 (1h30)--
Application au robot : de Simulink vers NXC
- Correction TD1 : Modélisation et contrôle d'un robot mobile
- Compilation de programmes NXC de contrôle vers le code du robot, en
utilisant
l'environnement de programmation Bricxcc
- Chargement du code au robot.
S'il y a un autre firmware installé sur la brique, il faut le changer en firmware standard de LEGO en utilisant l'outil LEGO MINDSTORM NXT (disponible dans les machines Windows de la salle E301). Puis, on lance l'environnement Bricxcc Commande Center. Bricxcc va demander le type de connexion et le type de brique, et on choisit "Automatic" et "NXT". Ensuite, on utilise le menu "Compile" pour compiler, transferer le code au robot et puis l'éxecuter.
Semaine
8, TP7 (1h30)
-- Application au robot :
Tâches à faire
- Ecrire le planificateur (pour la commande de robot suiveur de ligne ) en Simulink et le tester.
- Traduction du modèle Simulink du contrôleur et
du planificateur du robot vers Lustre.
(Semaine de vacances)
De la semaine 9
a la semaine 12 (sous forme
de TPs encadré
s , avec
des
CM
supplé
mentaires si
besoin)