ACCUEIL

 

UTILISER UN PC POUR CONTROLER le ROBOT

MAIS AVEC QUELS PROGRAMMES ?

(Exemples de programmes)

Nous n'entrerons pas dans le détail de programmes ,toujours arides quand on ne les a pas écrits soi même , nous nous contenterons ici de quelques renseignements pratiques.

Néanmoins le lien ci dessus permet de voir quelques exemples de programmes utiles .

Au début on peut se contenter d'un simple programme chargé dans le microcontroleur du robot , mais il ne pourra exécuter que des opérations simples et en nombre limité.

En schématisant , il faudra donc finalement:

Programme Coté robot:

Le programme est celui du microcontroleur installé sur le robot , il y a des microcontroleurs programmables en langage C et d'autres en un dérivé du Basic.

Au début , on peut d'utiliser un microcontroleur Basic Stamp (BS2 de Parallax ) pour sa facilité d'emploi et son grand nombre d'utilisateurs.Le BS2 a des fonctions assez complètes de gestion de la liaison série , en particulier on peut demander (WaitSTR) que les données reçues sur le port série ne soient lues que si elles sont précédées d'une suite de caractères qui constituent un code d'identification. L'éditeur permet de taper facilement les programmes puis de les envoyer au BS2 par le câble série.

Pour plus de souplesse et de puissance on adoptera plutot un Propeller (microcontrolleur de Parallax qui gére des taches en paralléle) et reste assez facile a programmer , en langage Spin (pas de panique ,il y a des tas de programmes donnés en exemple sur le site Parallax.com).

Programme Coté ordinateur:

Le C# (prononcer C sharp) de Microsoft est un langage assez adapté et la version Express est gratuite. Il est facile a mettre en oeuvre si on utilise Visual Studio. En principe , il est destiné a une programmation de type objet mais ceux qui ont utilisé le Basic ou le C préfèrent rester dans une programmation plus classique (en C ou en VisualBasic).

Par contre , l'utilisation en robotique a quelques particularités:

Les commandes sont échangées sur le port série .

Ces commandes sont assez peu détaillées dans la documentation de base du C# . Pour les utiliser , il faut au minimum :(avant notez bien que le C# est sensible à la casse donc <SerialPort> ne peut pas être remplacé par <serialport>)

Quelle forme pour les messages ? (commandes et réponses)

Nous avons choisi des commandes du type suivant: K5a/150/50/80/

Lorsqu'il a repérera la séquence d'dentification <K5> le programme du BS2 lira le type de la commande puis ses paramètres: selon la commande on le dirigera vers le sous programme correspondant qui fera le travail. Si la commande demande une réponse (un <i> pour avoir la valeur lue par les détecteurs de distance infrarouges par exemple ) cette réponse sera incluse dans le message de retour .

On peut certainement coder plus économiquement les messages (par exemple en utilisant directement les bits), mais cette formule a le mérite d' être simple.

La liaison entre PC et robot:

Les programmes des autres

Windows ou linux sur votre PC?