robot Hercule
Transcription
robot Hercule
TP Communication Série C++/Windows Mise en oeuvre du robot HERCULE Durée 4h Objectifs: - Initialiser une transmission asynchrone afin d'établir une communication avec Hercule; - Utiliser un analyseur de protocole; - Piloter Hercule dans les modes lié et autonome. - Gérer la liaison série avec les fonctions API sous C++Builder Travail demandé 1) Terminal / Analyseur de protocole HP 1.1) Tester le format de la transmission 9600 bits/sec ,8 bits ,sans parité ,1 stop en faisant pivoter la base. ex: B+100<space><lf> Remarque : line feed = Ctrl J 1.2) Insérer l'analyseur sur la liaison série ,lancer une commande afin de déterminer la valeur de l'accusé de réception retourné par Hercule. 2) Mode lié 2.1) Ecrire un constructeur Comm () qui configure le port série correctement. Mise en situation Hercule permet 3 modes de fonctionnement: - Le mode lié (L par défaut) permet un dialogue entre l' utilisateur et le robot. Dans ce mode Hercule retourne un accusé de réception après l'exécution de la commande. - Le mode autonome (A) permet d'utiliser Hercule comme un système indépendant :le robot exécute le fichier de commandes stocké en mémoire . - Le mode apprentissage ($) permet la mise en mouvement du robot par l'intermédiaire d'une télécommande puis de mémoriser le programme correspondant à ces mouvements. A chaque réception de $ ,Hercule retourne les positions de ses différents axes. Commandes: B: base ,C: coude , E: épaule , P: pince , T: tangage 2.2) Ecrire une méthode void envoi(AnsiString commande) qui envoie la commande. 2.3) Coder un programme correspondant au grafcet suivant. Dans un premier temps l’attente de l’accusé de réception sera remplacée par un sleep() 2.4) Créer un thread pour attendre l’accusé de réception. 1 =1 2 Format d'une instruction: B+125 <space><line feed> base ,sens positif ,position en degrés T=0 B = -250 =ack 4 E = -200 =ack 5 Valeurs limites pour le TP -60 < coude < + 60 C=0 =ack 3 -250 < base < + 250 E=0 E = -300 =ack -300 < épaule < 0 6 -100 < tangage < 0 C =-6 0 T =-6 0 =ack 7 Aide des fonctions API dans programfiles\fichiers communs\borland shared\mshelp\win32.hlp : CreateFile ,GetCommState, SetCommstate,BuildCommDCB, EscapeCommFunction, PurgeComm,SetCommMask , WaitCommEvent, ReadFile,WriteFile. Voir aussi Configuring a Communication Ressource B=0 E = 0 C =+6 0 =ack 8 B = +250 E = -250