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.1.1 : Connaître la position du bac
- 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.
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