SCIENCES DE L'INGENIEUR

Niveau : Première générale, enseignement de spécialité SI

 

D
É
C
O
N
N
E
C
T
É

Analyse fonctionnelle du robot pédagogique "Formula All Code"

1. Introduction

Pour permettre aux robots de fonctionner il faut assembler des pièces mécaniques, commandées par des composants électroniques. L’organisation fonctionnelle peut se décomposer en une chaine d’informations et une chaîne d’énergie.

  • La chaîne d’information agit sur les flux de données.
  • La chaîne d’énergie agit sur les flux de matières et d’énergies.

Différents diagrammes permettent de décrire l'organisation fonctionnelle, structurelle, énergétique, etc..., d'un système

Que veut-on décrire ?Diagramme à utiliser
Le besoinDiagramme bête à corne
Les interactions entre le système et ses utilisateursDiagramme de cas d’utilisation (SYSML)
Les exigences et les contraintesDiagramme des exigences (SYSML)
L'enchaînement séquentiel des interactionsDiagramme de séquence (SYSML)
Les composants et les énergiesDiagramme interne de bloc (SYSML)
Le comportement du systèmeDiagramme d'état (SYSML)
Le programmeAlgorithme

2. Diagramme bête à corne

Complétez le diagramme bête à cornes du robot pédagogique formula all code :










3. Chaine d'information


















  • ACQUERIR : adapte les caractéristiques d’une information, pour être compatible avec le système de traitement,
  • TRAITER : traite les informations afin d’en établir de nouvelles pour modifier le fonctionnement du système,
  • COMMUNIQUER : communique les informations générées par le système de traitement vers la machine et peut en informer l’homme.
  • 4. Chaine d'énergie






















  • ALIMENTER : apporte l’énergie appropriée au système pour fonctionner,
  • DISTRIBUER : permet de bloquer ou laisser passer l’énergie,
  • CONVERTIR : transforme l’énergie,
  • TRANSMETTRE : permet d’animer la chaîne cinématique.
  • 5. Diagramme SYSML de cas d’utilisation

    Compléter les éléments ci-dessous en précisant leur fonction et à quelle chaîne ils appartiennent
























    6. Chaine fonctionnelle du Robot

    Compléter la chaine fonctionnelle ci-dessous




















    7. Diagramme SYSML partiel des exigences partiel du robot

    Répondre aux questions suivantes :

    • Combien de temps peut-on faire fonctionner le robot avant qu'il ne soit déchargé ?
    • Quel est le diamètre des roues ?
    • Rechercher le rapport de réduction du motoréducteur :
    • Quelle est la précision de déplacement du robot
    • Peut-on programmer le robot en langage javascript ?

    8. Diagramme interne de bloc (partiel)

    Compléter les éléments manquants du diagramme




































    9. Algorigrammes et algorithmes

    Les algorithmes permettent de décrire un programme sous forme de langage naturel, les algorigrammes permettent de décrire un programme sous forme de blocs

    SymboleDescriptionSymboleDescription
    Début ou fin du programme Action ou calcul
    Entrée/sortie Test
    Appel d'un sous-programme Lien entre blocs
    Pause Boucle

    Le programme est exécuté par le microcontrôleur :

    • Les LED sont considérées comme ses
    • Les boutons poussoirs sont considérées comme ses

    Exemple d'algorithme

    Début
        Répéter toujours
            bp ← lire l'état de BP1
            si bp = 1 alors
                allumer la LED1
            sinon
                éteindre la LED1
            fin si
        fin répéter	
    fin
    

    Compléter l'algorigramme correspondant à l'algorithme ci-dessus :





























    10. Programmation en langage python

    10.1 Exemple :

    Téléchargez les fichiers Formula.py

    Exécuter le programme suivant et testez le bouton gauche.

    10.2 Exercice pratique :

    On donne l'algorithme suivant permettant de tester l'état des LED du robot :

    importer les librairies Formula et time
    Connecter le robot
    déclarer la variable i à la valeur 1
    Tant que i est inférieur à 9 faire :
        allumer la led de rang i
        attendre 0.2s
        augmenter i de 1 (incrémenter)
    fin tant que
    tant que i est supérieur à zéro faire:
        éteindre la led de rang i
        attendre 0.2s
        diminuer i de 1 (décrémenter)
    fin tant que
    Déconnecter le robot

    Compléter le programme suivant, puis testez-le.

    Remplacer la boucle while par une boucle for:

    exemple de boucle for :

    Résultat de l'exécution :

    début de la 1ère boucle
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    fin de la 1ère boucle
    début de la 2ème boucle
    5
    4
    3
    2
    1
    fin de la 2ème boucle

    Collez votre programme modifié ci-dessous, après l'avoir testé

    Fond : Texte : Tables :