Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Fabrication > Les pratiques > Conception et simulation > Analyse système

Analyse système

Ou comment bien commencer un robot...

mercredi 28 octobre 2009, par Keuronde

Pourquoi réaliser une analyse système ?

Une analyse système permet de concevoir un robot en le découpant en modules. L’analyse système permet de s’assurer que nous n’avons pas oublié de module et permet d’obtenir une description précise de chacun d’entre eux. Ce n’est qu’une fois que chaque module a un cahier des charges clair que peut commencer la réalisation. On s’assure ainsi d’avoir un ensemble cohérent avant de commencer la construction.

L’analyse système se fait en partant d’un besoin et en le décomposant petit à petit. Une fois le besoin décomposé puis traduit en fonctions, il faut regrouper les fonctions en modules. Chaque module sera conçu puis réalisé séparément. Ensuite, on vérifie qu’ils sont conformes à leur cahier des charges. On peut enfin les assembler puis vérifier que le robot est conforme à son propre cahier des charges.

Nous voulons un robot qui puisse participer à la coupe de robotique 2010. Nous somme donc contraint par le règlement de la coupe.

Nous souhaitons juste être capable de ramasser un objet (tomate ou maïs) et de le déposer dans le bac. Pour cela, nous identifions les fonctions principales suivantes :

  • Fp1 : Se déplacer jusqu’à l’objet
  • Fp2 : Embarquer l’objet
  • Fp3 : Se déplacer jusqu’au bac
  • Fp4 : Lâcher l’objet dans le bac

On décompose ensuite chaque fonction principale

Fp1 : Se déplacer jusqu’à l’objet

  • Fp1.1 : Connaître l’angle et la direction dans laquelle avancer
    • Fp1.1.1 : Connaître la position de l’objet
    • Fp1.1.2 : Connaître la position du robot
    • Fp1.1.3 : En déduire Fp1.1
  • Fp1.2 : Avancer droit dans la direction désirée
    • Fp1.2.1 : Faire tourner le robot sur place d’un angle désiré
    • Fp1.2.2 : Faire avancer le robot droit

Fp2 : Embarquer l’objet

  • Fp2.1 : Détecter qu’un objet se trouve à proximité du robot
  • Fp2.2 : Positionner précisément le robot par rapport à l’objet
  • Fp2.3 : Contrôler l’objet
    • Fp2.3.1 : Saisir l’objet
    • Fp2.3.2 : Soulever l’objet
    • Fp2.3.3 : Vérifier que l’objet est soulevé

Fp3 : Se déplacer jusqu’au bac

  • Fp3.1 : Connaître l’angle et la direction dans laquelle avancer
    • Fp3.1.1 : Connaître la position du bac
      • Fp3.1.1.1 : Connaître la couleur du robot
    • Fp3.1.2 : Connaître la position du robot
    • Fp3.1.3 : En déduire Fp3.1
  • Fp3.2 : Avancer droit dans la direction désirée
    • Fp3.2.1 : Faire tourner le robot sur place d’un angle désiré
    • Fp3.2.2 : Faire avancer le robot droit
  • Fp3.3 : Ne pas tomber dans le bac
    • Fp3.3.1 : Détecter le Bac
    • Fp3.3.2 : Arrêter le robot

Fp4 : Lâcher l’objet dans le bac

  • Fp4.1 : S’assurer que l’objet tombera dans le bac
    • Fp4.1.1 : S’assurer de la position du robot par rapport au bac
    • Fp4.1.2 : Guider l’objet dans le bac
  • Fp4.2 : Lâcher l’objet

Autres fonctions requises

Le règlement de la coupe de robotique impose notamment les contraintes suivantes :

  • Fs1 : Le robot s’arrête sur appui du bouton d’arrêt d’urgence
  • Fs2 : Le robot doit démarrer lorsque l’équipe tire sur la tirette
  • Fs3 : Le robot doit s’arrêter 90 secondes après que l’équipe ait tiré sur la tirette
  • Fs4 : Le robot doit éviter le robot adverse
    • Fs4.1 : Le robot doit détecter le robot adverse
    • Fs4.2 : Le robot doit s’arrêter

Qu’avons nous fait ?

Il est très important de comprendre que lors de cette analyse de nombreux choix ont été faits. Par exemple, pour le ramassage d’objet, un parcours plus ou moins aléatoire aurait très bien pu faire l’affaire. Il n’aurait plus été nécessaire de connaître la position des objets.

Un autre exemple est celui de la gestion des obstacles. Dans le règlement, il est précisé que certains maïs seront noirs et vissé au sol. Au lieu d’essayer de détecter la couleur, nous essayons de les soulever. Cette méthode n’est certainement pas la plus efficace.

Que nous reste-t-il à faire ?

Nous avons la liste des fonctions à remplir. Il faut maintenant regrouper fonctions en modules. Puis il faudra définir pour chaque module un cahier des charges qui contiendra notamment l’interface du module avec le reste du robot. Ensuite il faudra trouver des solutions techniques pour chaque module.

Nous allons enfin pouvoir regrouper ces fonctions en modules. Le but étant d’avoir un cahier des charges précis pour chaque module.

Regroupement des fonctions techniques en modules
Programme - Contient les coordonnées des objets. (Fp1.1.1)
 Arrêter le robot. (Fp3.3.2 & Fs4.2)
 Arrêter le robot au bout de 90s (Fs3)
 Démarrer sur ordre de la tirette (Fs2)
Balise - Connaître la position du robot (Fp1.1.2 & Fp3.1.2)
Pince - Saisir l’objet (Fp2.3.1)
 Lâcher l’objet (Fp4.2)
Crémaillère - Soulever l’objet (Fp2.3.2)
Batterie de capteurs IR - Vérifier que l’objet est soulevé (Fp2.3.3)
 S’assurer de la position du robot par rapport au bac (Fp4.1.1)
 Détecter qu’un objet se trouve à proximité du robot (Fp2.1)
 Positionner précisément le robot par rapport à l’objet (Fp2.2)
Capteurs (de contact) Détecter le Bac (Fp3.3.1)
Capteurs sonic Détecter le robot adverse (Fs4.1)
Ensemble de motorisation Faire tourner le robot sur place d’un angle désiré (Fp1.2.1)
 Faire avancer le robot droit (Fp1.2.1)
 Positionner précisément le robot par rapport à l’objet (Fp2.2)
Interrupteurs Connaître la couleur du robot (Fp3.1.1.1)
Rampe mobile Guider l’objet dans le bac (Fp4.1.2)
Bouton d’arrêt d’urgence Arrêter le robot sur appui du bouton d’arrêt d’urgence

Cette analyse ne définit pas les interfaces entre les modules. En continuant ainsi on découvrirait rapidement qu’il faut un châssis pour faire tenir tous ces éléments ensemble ainsi qu’une batterie pour alimenter le robot

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.