|
Utilisation d'une condition |
Problématique : désormais Robotino peut être commandé dans toutes les directions et avec la possibilité d'augmenter sa vitesse en marche avant pour une plus grande souplesse d'utilisation. Toutefois il faut prendre en compte le fait que Robotino puisse rencontrer un obstacle avec une vitesse qui peut être importante.
Objectif : prévoir une manière de stopper la commande des moteurs afin de ne pas détériorer davantage Robotino lors d'un contact avec un obstacle.
Principe : le Robotino est muni d'un ensemble de capteurs qui lui permettent de prendre en compte l'environnement dans lequel il évolue. Une fois le capteur approprié choisi il faudra acquérir l'information délivrée par ce capteur et agir en fonction de la valeur de cette information.
Lorqu'il faut agir en fonction d'une condition :
Q4.1.A partir de la base de données spécifiques, quel capteur intégré au Robotino peut être utilisé afin de détecter un contact avec un obstacle ?
Q4.2.Préciser le principe de fonctionnement ainsi que le type de ce capteur (numérique, "tout ou rien" ou analogique).
Q4.3.Il faut donc écrire un programme décrit par l'algorithme suivant : si un obstacle est détecté alors on stoppe la commande des moteurs, sinon on ne fait rien. A partir de l'aide à la rédaction d'algorithme préciser la structure qui convient le mieux pour décrire cette algorithme.
Q4.4.Écrire l'organigramme qui correspond à cet algorithme (algorigramme) en utilisant le même vocabulaire que celui de l'algorithme.
Q4.5.Pour connaître l'état du capteur nous allons faire appel à une nouvelle fonction Java nommée bumper.value(). Cette fonction ne reçoit aucun paramètre mais retourne une valeur qui est égale soit à true si le Robotino touche un obstacle soit à false dans le cas contraire. La condition "un obstacle est détecté" sera donc codée en Java de cette manière : bumper.value()==true. A l'aide des tableaux d'équivalence de la base de connaissance générale coder votre algorigramme en Java.
Q4.6.Insérer votre code à l'intérieur de la fonction obstacleDetection() comme indiqué :
Q4.7.La fonction est appelée périodiquement toutes les 50 ms. Expliquer l'intérêt de ces appels périodiques.
Appelez le professeur pour valider votre code.
Q4.8.Lancer l'application et tester votre code avec Robotiono® Sim View puis en conditions réelles.
L'appel périodique à la fonction est validé lorsque vous cliquez sur le bouton radio "Détection d'obstacle".

Q4.9.Que faut-il faire pour dégager Robotino de l'obstacle ?
Créé avec HelpNDoc Personal Edition: Créez sans effort une documentation professionnelle avec l'interface utilisateur propre de HelpNDoc
