Exercice Sous-partie 2 (choix B) - Programmes de contrôle… · Bac Sciences de l'Ingénieur Métropole 2 remplacement 2022

Thème : Traitement de l'information : algorithmes et programmation · Tiré du sujet Métropole France 2 remplacement (2022)

Énoncé

Partie 1 - sciences de l'ingénieur

Mise en situation

Certains bars ont décidé d'embaucher un serveur d'un nouveau genre. Il s'agit d'un bras articulé capable de se saisir d'un verre et de le remplir de façon autonome, avant qu'un client ne le récupère. Le but de cette initiative est de limiter les contacts entre personnes et donc les risques de contamination.

Il est possible de passer la commande auprès du robot de trois façons différentes:

via l'application sur un smartphone,

via une tablette mise à disposition,

en s'adressant au barman.

Le client peut soit choisir parmi des recettes de cocktails prédéfinies, soit composer lui-même une création suivant ses goûts avec les ingrédients qu'il a sélectionnés. La figure 1 représente le diagramme SysML de contexte du Robot Barman.

La figure 2 représente une partie du diagramme SysML des exigences du robot. Ce diagramme détaille le cahier des charges que le robot doit respecter.

À l'image du bras de l'homme, un robot industriel est la plupart du temps composé de six degrés de liberté (un degré de liberté est un axe motorisé). Le robot étudié est représenté sur la figure 3, équipé d'une pince. Les carters de protection ne sont pas représentés pour mieux visualiser les éléments qui le composent.

Afin de savoir si ce robot possède toutes les qualités requises pour effectuer la mission pour laquelle il est prévu, il est nécessaire de s'interroger sur:

la validation des performances de déplacement dans un espace défini;

la capacité à transporter une charge;

la validation du temps de préparation et de service d'un cocktail;

la communication du robot avec son environnement.

Sous-partie 2 – choix B: Programmes de contrôle du robot

L'objectif de cette sous-partie est d'élaborer les programmes de contrôle du fonctionnement du robot pour le service d'un cocktail et le suivi des doses restantes dans les bouteilles.

Cette partie s'intéresse au cas d'une commande passée par l'intermédiaire d'un smartphone. Cette commande concerne un cocktail composé d'un sirop, d'un jus de fruit et d'une boisson gazeuse. Le robot n'assure pas le mélange des ingrédients dans cette préparation. La figure 11 illustre, sous forme d'enchaînement des tâches, le déroulé de la préparation de ce cocktail avec le temps imparti pour chaque tâche.

Question 1.16

À l'aide de la figure 11, calculer le temps mis par le robot pour réaliser le cocktail. À l'aide de la figure 2, conclure quant à la capacité du robot à respecter l'exigence Id 14.1.5.

Question 1.17

Afin de rendre la confection du cocktail plus rapide, il est décidé de commander simultanément les rotations autour de l'axe J2 et de l'axe J3 (figure 3).

Compléter le document réponse DR3 en y indiquant l'enchaînement des tâches nécessaires pour assurer le remplissage du premier ingrédient.

À l'aide des informations fournies sur le document réponse DR3, calculer le temps mis par le robot pour réaliser un cocktail avec une commande simultanée des rotations autour des axes J2 et J3.

À l'aide de la figure 2, conclure quant au respect de l'exigence Id 14.1.5 avec cette nouvelle modalité de commande.

Le robot est associé à un système assurant le suivi des doses restantes dans les bouteilles afin de prévenir le gérant de l'établissement lorsqu'une des bouteilles doit être remplacée. Deux niveaux d'alerte sont prévus:

« pré-alerte » lorsque la bouteille est au trois-quarts vide (la bouteille est considérée comme presque vide);

« alerte » lorsqu'il ne reste plus que trois doses disponibles dans la bouteille (la bouteille est alors considérée comme vide et doit être changée).

Un compteur distinct pour chaque bouteille est incrémenté à chaque dosage et sa valeur est remise à zéro à chaque changement de bouteille.

Question 1.18

Extraire de la figure 2 les données nécessaires au calcul du nombre de doses de sirop contenues dans une bouteille.

Question 1.19

Parmi les différents doseurs disponibles sur le marché, les plus utilisés sont des contenances de 1 cl, 2 cl, 2,5 cl, 3 cl, 3,5 cl ou 4 cl.

Calculer le volume théorique de sirop par verre puis choisir le doseur le plus adapté. Calculer ensuite le nombre de doses (arrondi à l'entier inférieur) contenues dans une bouteille.

Question 1.20

En fonction du nombre de doses trouvé à la question 1.19, calculer les valeurs décimales de consignes de pré-alerte et d'alerte du compteur (nombre de doses utilisées).

Le contrôle de l'état de remplissage des bouteilles de sirop est assuré par rangée de sept bouteilles. L'organisation spatiale de la rangée de bouteille est illustrée par la figure 12.

Chaque bouteille XnX_n est associée à un capteur qui est à l'état logique 1 lorsqu'un verre appuie sur le doseur et à l'état logique 0 lorsque le doseur est au repos. Le programme de suivi des doses restantes scrute l'état des sept capteurs de la rangée pour compter le nombre de doses utilisées pour chaque bouteille. Ces valeurs sont ensuite comparées aux valeurs de pré-alerte et d'alerte pour informer le responsable et lui permettre de remplacer les bouteilles vides ou presque vides. Dans la suite de l'étude, l'information fournie au responsable consiste en l'affichage de messages d'alerte par le programme. La remise à zéro des compteurs de doses suite au changement d'une bouteille n'est pas prise en compte.

Au niveau du traitement des informations, le suivi d'une rangée de bouteille est assuré par une carte Arduino dans laquelle est implanté un programme Python. Le code Python incomplet associé est donné sur le document réponse DR4.

Question 1.21

Compléter le programme du document réponse DR4 afin d'obtenir le contrôle souhaité du remplissage des bouteilles.

Sur le programme du document réponse DR4, justifier la présence des deux lignes de programme encadrées:

while listb[i].read() not True:

pass

Question 1.22

Le programme utilisé dans le cadre du suivi des doses restantes ne permet pas de prendre en compte le passage au niveau logique 1 de deux capteurs d'une même rangée simultanément.

Expliquer en quoi ce choix ne perturbe pas le fonctionnement attendu du système.

Énoncé: Exercice Sous-partie 2 (choix B) - Programmes de contrôle… · Bac Sciences de l'Ingénieur Métropole 2 remplacement 2022

Corrigé

Corrigé établi d’après les éléments de correction officiels

Question 1.16 : À l'aide de la figure 11, calculer le temps mis par le robot pour réaliser le cocktail.

Réponse : 55 s

Question 1.16 : À l'aide de la figure 2, conclure quant à la capacité du robot à respecter l'exigence Id 14.1.5.

Réponse : Non

Question 1.16 : Conclure quant à la capacité du robot à respecter l'exigence Id 14.1.5 (justification rédigée).

Réponse : Le cahier des charges n'est pas respecté : l'exigence Id 14.1.5 impose de réaliser un cocktail en moins de 50 s, or le robot met 55 s.

Question 1.17 : Compléter le document réponse DR3 en y indiquant l'enchaînement des tâches nécessaires pour assurer le remplissage du premier ingrédient.

Réponse :

Question 1.17 : À l'aide des informations fournies sur le document réponse DR3, calculer le temps mis par le robot pour réaliser un cocktail avec une commande simultanée des rotations autour des axes J2 et J3.

Réponse : 39 s

Question 1.17 : À l'aide de la figure 2, conclure quant au respect de l'exigence Id 14.1.5 avec cette nouvelle modalité de commande.

Réponse : Oui

Question 1.17 : Conclure quant au respect de l'exigence Id 14.1.5 (justification rédigée).

Réponse : 39 s étant inférieur au seuil maximal de 50 s, l'exigence Id 14.1.5 est désormais respectée.

Question 1.18 : Volume de sirop contenu dans une bouteille.

Réponse : 1 L / 100 cL

Question 1.18 : Volume du contenu d'un verre de sirop.

Réponse : 30 cL

Question 1.18 : Valeur de la dilution d'une dose de sirop pour un verre d'eau.

Réponse : 1 pour 8 / 1:8 / 1/8

Question 1.19 : Calculer le volume théorique de sirop par verre.

Réponse : 3,33 cL / 33,3 mL

Question 1.19 : Choisir le doseur le plus adapté parmi les contenances proposées.

Réponse : 3,5 cL

Question 1.19 : Calculer ensuite le nombre de doses (arrondi à l'entier inférieur) contenues dans une bouteille.

Réponse : 28

Question 1.20 : Valeur décimale de consigne de pré-alerte du compteur.

Réponse : 21

Question 1.20 : Valeur décimale de consigne d'alerte du compteur.

Réponse : 25

Question 1.21 : Compléter la ligne d'incrémentation du nombre de doses utilisées pour la bouteille i.

Réponse : ```python Doses[i] = Doses[i] + 1 ``` ```python Doses[i] += 1 ```

Question 1.21 : Compléter la condition if de pré-alerte.

Réponse : ```python Doses[i] >= 21 and Doses[i] < 25 ``` ```python 21 <= Doses[i] < 25 ```

Question 1.21 : Compléter la condition elif d'alerte.

Réponse : ```python Doses[i] >= 25 ``` ```python Doses[i] > 24 ```

Question 1.21 : Justifier la présence des deux lignes de programme encadrées.

Réponse : Les deux lignes du programme permettent de s'assurer que l'activation d'un doseur ne comptabilisera pas plusieurs doses car on attend que le capteur repasse à l'état logique 0 avant de poursuivre l'exécution du programme.

Question 1.22 : Expliquer en quoi ce choix ne perturbe pas le fonctionnement attendu du système.

Réponse : Ce choix ne perturbe pas le fonctionnement attendu du système car le robot ne peut activer plusieurs doseurs simultanément. Dans la mesure où deux capteurs ne pourront être activés simultanément, il n'est pas utile que le programme prenne ce cas en considération.

L’explication pas à pas, faite avec l’IA, est réservée aux membres Premium. Premium

Résous-le ici : correction automatique, indices et corrigé détaillé.

‹ Exercice Sous-partie 2 (choix B) - Algorithme de commande… · Métropole 2022 (sujet 2) · Exercice Sous-partie 3 (Choix 2) - Traitement de l'informa… · Métropole Candidat libre 2021 (sujet 1) ›

Plus d’exercices de Traitement de l'information : algorithmes et programmation