IMA4 2016/2017 P47

De Wiki d'activités IMA
Révision datée du 15 février 2017 à 13:27 par Hkerroum (discussion | contributions) (Avancement du Projet)


Cahier des charges

Présentation générale du projet P47 :

Objectif du projet

La modélisation à base de données d’un robot mobile.

Contexte et Description

Le modèle d’un système permet non seulement une meilleure compréhension de son comportement mais sa bonne utilisation et sa surveillance afin d’apporter des actions correctives à temps lors de défauts ou de défaillance du système.

Ce projet a pour but la modélisation d’un robot à trois roues omnidirectionnelles à savoir le Robotino. Cette modélisation se fera à partir des données recueillies sur ce robot. Ce projet se déroulera suivant les phases suivantes :

  • Choix du modèle du robot.
  • Choix de l’algorithme d’optimisation.
  • Estimation du modèle.
  • Validation du modèle.

La validation consistera à comparer le comportement du modèle à celui du robot en appliquant les mêmes commandes aux deux.

Choix techniques (matériel et logiciel)

  • L’outil GUI du logiciel Matlab.
  • L'outil Toolbox de Matlab.

Liste des tâches à effectuer

  • Prise en main du Robotino.
  • Prise en main de la Toolbox Identification de Matlab.
  • Prise en main de la Toolbox optimisation non linéaire de Matlab.
  • Identification boite noire d’un modèle linéaire du système :
    • étude des méthodes d’identification des sous-espaces ;
    • application à l’identification du robot.
  • Identification boîte noire d’un modèle non linéaire du robot :
    • étude des méthodes d’optimisation non linéaires ;
    • application à l’identification du robot.

Feuille d'heures

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total
Définition cahier des charges 3
Recherche 6 5
Campagne d'acquisition 2 5

Avancement du Projet

Semaine 1

  • Lundi 16-18h :

Nous étions en réunion en D304B avec Mr Pekpe, et nous avons discuter des points fondamentaux du travail qu'on doit effectuer, et qui consistent au début à aborder le Robotino d'une façon linéaire c'est-à-dire par rapport au repère lié à son centre, et dans une seconde étape essayer d'aborder le Robotino mais d'une façon non linéaire cette fois ci par projection sur un repère fixe.

Pour les deux points on a vu des documents avec Mr Pekpe qui expliquent comment les équations d'un Robotino à trois roues mobiles peuvent être déduites, et on a vu que pour ces modèles les équations se résument à des écritures matricielles en général de la forme :

                                                                       X' = AX + BU
                                                                       Y  = CX + DU

Où :

  • X la variable de l'état (vitesse théorique des moteurs)
  • U la variable de la commande (vitesse suivant les axes)
  • Y la mesure ou la sortie (vitesse réelle)


  • Mercredi 14-18h :

Nous avons fait la prise en main du logiciel Robotinoview, en commençant par regarder toutes les fonctions disponibles sur le logiciel, et en soulignant celles qui seront utiles pour notre projet.

Nous avons appris à réaliser une campagne d'acquisition des paramètres X, Y, U (déjà traité théoriquement ci-dessus) et la position P qui renvoie l'évolution de notre robot en déplacement sans frottements.Cette campagne a été réalisé avec le logiciel Robotinoview et ses données ont été traité sur Matlab.L’intérêt de Matlab est de stocker les données et de pouvoir les tracer pour bien interpréter les résultats en graphe.

Ensuite nous avons fait des recherches sur les documents qui nous ont été fourni par notre encadrant, sur les étapes mathématiques qui déterminent le modèle linéaire du Robotino.


  • Jeudi 8-10h :

Nous avons continué nos recherches sur les documentations fournies.


Semaine 2

  • Lundi 16-18h :

Nous avons continué nos recherches sur la documentation fournie.


  • Mercredi 14-19h :

Aujourd'hui, nous avons fait une campagne d'acquisition sur Matlab et une sur RobotinoView afin de relever les différences entres ces deux logiciels et de déterminer lequel convient le plus pour notre méthode qui vise la modélisation linéaire du Robotino. Nous avons constaté que nous obtenons beaucoup plus de données sur la position du Robot sur Matlab que sur RobotinoView. Pour vous donner un ordre de grandeur sur une période de 30 minutes, nous obtenons environ 2000 données sur RobotinoView alors que sur Matlab nous en obtenons à peu près 300 000. Ce qui nous montre bien l'intérêt d'utiliser Matlab pour nos campagnes d'acquisitions qui nous donnera un modèle beaucoup plus précis car plus nous avons de données et plus on s'approche de la courbe théorique.

    • Sous-programme permettant la commande du Robot sur un temps choisi avec consignes variables ainsi que l'enregistrement des données voulues:


Robotinoview.PNG


    • Programme principal sur 6 steps avec des consignes respectives à chaque step, réalisé en boucle 100 fois :


Capture1.PNG


    • Traduction du programme déjà cité mais à présent sur Matlab, on voit qu'avec l'option "inf" (temps infini) on obtient plus de données :


Matlab.JPG


  • Jeudi 11-14h :

Discussion avec M.PEKPE sur l'avancement de notre projet et la lecture d'une partie sur la méthode d'identification des sous-espaces sur les nouveaux documents fournis.

Semaine 3

Le but de la documentation est de comprendre que pour déterminer les défauts d'un système, il faut comparer son comportement au modèle mathématique. La différence entre le comportement du système et celui du modèle mathématique est exprimé sous forme d'un résidu. Pour l'obtention du modèle mathématique utilisé, on utilise les méthodes d'identification pour caractériser le modèle de bon fonctionnement du système.

  • Lundi 16-18h : ( Méthodes classiques des sous-espaces )
    • Formulation du problème :

On considère un système linéaire :

X(k+1)=A.X(k)+B.U(k)
Y(k)  =C.X(k)+D.U(k)

comme noté auparavant. L'objectif est de déterminer les matrices A,B,C et D du système à partir des seules données qu'on a sur les entrées et les sorties u et y. On peut aussi chercher à résoudre le système en déterminant les matrices T^−1.A.T, T^−1.B, C.T et D.Et donc on peut écrire le système d'une nouvelle façon comme suit :

X(k+1)=T^−1.A.T.X(k)+T^−1.B.U(k)
Y(k)  =C.T.X(k)+D.U(k)
    • Matrices du système :

Les matrices de ce système est leur types sont définies de la façon suivante: La matrice de Hankel d'entrée Ui et la matrice de Hankel de sortie Yi.Avec ces deux matrices on définit bien la matrice de Hankel des mesures T=(Y U).

  • Mercredi 13-18h :
    • Identification du système :

Pour identifier un système suivant les méthodes des sous-espaces, il faut d'abord estimer la matrice d'observabilité (qui détermine le rang de notre matrice globale), ensuite au moment où on arrive à estimer la matrice d'observabilité on peut commencer à réfléchir sur la réalisation du système, c'est-à-dire, déterminer les paramètres T^−1.A.T, T^−1.B, C.T et D.


Semaine 4

Fichiers Rendus