Exercice Sous-partie 1 - Traitement de l'information · Bac Sciences de l'Ingénieur Métropole 2023 (sujet 2)

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

Énoncé

Partie 1 - Sciences de l'ingénieur

Robot horticole

Le robot horticole Trooper (figure 1) est un robot autonome chargé de transporter des pots de fleurs. Il s'acquitte des tâches répétitives et pénibles de manutention en toute autonomie, telles que représentées figure 2:

le distançage qui consiste à écarter les pots au printemps pour que les plantes aient la place de s'épanouir;

le resserrage qui consiste à resserrer les pots à l'automne afin que les plantes se tiennent chaud et qu'il soit plus facile de les bâcher;

le transfert de planche de production qui consiste à déplacer des ensembles de pots d'un endroit à un autre.

Ce robot est constitué:

d'une batterie Li-Ion;

d'un châssis motorisé par deux moteurs à courant continu commandés indépendamment;

d'un magasin de stockage pouvant accueillir six pots de deux litres ou six pots de quatre litres ou trois pots de dix litres;

d'une pince de serrage munie de bras afin de saisir les pots;

d'un système de levage permettant la translation circulaire du pot (le mouvement est imposé par un motoréducteur associé à un système pignon-chaîne).

Le diagramme des exigences est présenté sur la figure 3.

Sous-partie 1 – Permettre le positionnement des pots en toute sécurité

Afin de permettre au robot de réaliser un déplacement en ligne droite d'une distance dd quelconque, la fonction Python de contrôle est fournie partiellement sur le document réponse DR1. Lors du déplacement du robot en ligne droite, celui-ci se déplace à vitesse maximale (5 km⋅h−15\text{ km}\cdot\text{h}^{-1}) jusqu'à ce que 95 %95\,\% de la distance dd ait été parcourue. La fin du parcours est réalisée à 50 %50\,\% de la vitesse maximale. Une impulsion mesurée sur un codeur correspond à une distance parcourue de 2 mm2\text{ mm} par la roue correspondante.

Les fonctions à utiliser pour contrôler les moteurs des deux roues sont:

Commander_RD(vit)

Le moteur est alimenté afin de commander la rotation de la roue droite à une vitesse vit exprimée en km⋅h−1\text{km}\cdot\text{h}^{-1}. L'arrêt du moteur correspond à une valeur vit = 0.

Commander_RG(vit)

Le moteur est alimenté afin de commander la rotation de la roue gauche à une vitesse vit exprimée en km⋅h−1\text{km}\cdot\text{h}^{-1}. L'arrêt du moteur correspond à une valeur vit = 0.

Les variables pulse_g et pulse_d correspondent respectivement au nombre d'impulsions des codeurs incrémentaux associés à la roue gauche et à la roue droite. Leurs valeurs sont mises à jour en temps réel par un processus extérieur. Seul le codeur de gauche est utilisé en ligne droite.

Question 1.4

Compléter le programme permettant au robot de se déplacer en ligne droite selon le fonctionnement souhaité.

def avancer_ligne_droite(d): # d est la distance à parcourir en mètres

# Calcul du nombre d'impulsions correspondant à la distance d

N_impuls_d =

# Commande des moteurs pour provoquer le mouvement du robot

while pulse_g <

:

if

: # 95% de la distance parcourue

# Avance à vitesse maximale

else:

# Avance à vitesse réduite

# Arrêt des moteurs pour stopper le robot

Énoncé: Exercice Sous-partie 1 - Traitement de l'information · Bac Sciences de l'Ingénieur Métropole 2023 (sujet 2)

Corrigé

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

Calcul du nombre d'impulsions correspondant à la distance d : N_impuls_d =

Réponse : ```python d * 1000 / 2 ``` ```python d * 500 ```

Condition de répétition : while pulse_g <

Réponse : ```python N_impuls_d ```

Condition de test : if

Réponse : ```python pulse_g < 0.95 * N_impuls_d ```

Avance à vitesse maximale

Réponse : ```python Commander_RD(5) Commander_RG(5) ```

Avance à vitesse réduite

Réponse : ```python Commander_RD(2.5) Commander_RG(2.5) ```

Arrêt des moteurs pour stopper le robot

Réponse : ```python Commander_RD(0) Commander_RG(0) ```

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 1 - Traitement de l'information · Métropole 2023 (sujet 1) · Exercice Sous-partie 2 - Choix B · Métropole 1 remplacement 2022 ›

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