Constructeur de Robots

Transcription

Constructeur de Robots
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Logiciel d’initiation à la robotique
pour les ingénieurs en herbe et pour l’enseignement
POB-TECHNOLOGY – 4, rue Nicéphore Niépce - 69 680 CHASSIEU - France - Tél. : +33 (0) 4 72 43 02 36
SARL au capital de 15 000 Euros - SIRET 483 594 386 000 28 - APE 742C
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Table des matières
1
INTRODUCTION ................................................................................................................... 5
2
PRESENTATION GENERALE .............................................................................................. 6
2.1
Installation et configuration................................................................................................. 6
Installation .......................................................................................................................... 6
Configuration...................................................................................................................... 6
2.2
Les zones de l’écran principal ............................................................................................ 8
ZONE 1 : Liste des icônes disponibles regroupées en 3 onglets : ..................................... 8
ZONE 2 : Le plateau de votre programme ......................................................................... 8
ZONE 3 : La description des icônes ................................................................................... 9
ZONE 4 : La zone de paramètres des icônes .................................................................... 9
ZONE 5 : Affichage pas à pas en mode DEBUG ............................................................... 9
ZONE 6 : Les bouton GO, DEBUG et FIND ....................................................................... 9
2.3
Manipulation de groupes d’icônes ...................................................................................... 9
2.4
Outils d’aide à la navigation ............................................................................................. 11
Bouton FIND .................................................................................................................... 11
Mini Map........................................................................................................................... 11
.............................................................................................................................................. 11
2.5
Mode DEBUG, aide à l’explication pédagogique, aide à la mise au point ........................ 12
Principes du mode « DEBUG »........................................................................................ 12
Cas particulier des entrées numériques et analogiques du robot..................................... 13
3
DETAIL DES ICONES......................................................................................................... 14
3.1
Les ordres généraux ........................................................................................................ 14
Icônes de début et fin de programme, commentaires ...................................................... 14
Marqueurs VERTS : Goto et boucles ............................................................................... 15
Marqueurs ROUGES : Sous programmes ....................................................................... 16
Les variables et opérations sur les variables.................................................................... 17
La Comparaison ............................................................................................................... 18
3.2
Les ordres de base........................................................................................................... 19
POB-Technology – All rights reserved
Page 2
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Déplacements du robot .................................................................................................... 19
La temporisation............................................................................................................... 20
Gestion des servomoteurs ............................................................................................... 20
Acquisition de capteurs numériques et analogiques ........................................................ 21
3.3
4
Les ordres spéciaux ......................................................................................................... 22
Reconnaissance de formes sur le POB-Bot ..................................................................... 22
Joystick du POB-Bot ........................................................................................................ 24
Affichage à l’écran du robot.............................................................................................. 24
PRINCIPES DE PROGRAMMATION AVEC RISBEE......................................................... 25
4.1
Généralités....................................................................................................................... 25
Logique habituelle d’un programme robotique ................................................................ 25
4.2
Structure d’un programme et sous-programmes .............................................................. 26
4.3
Utilisation du GOTO : Canons verts et Balances vertes................................................... 27
4.4
Notions de gestion du temps en robotique ....................................................................... 27
5
EXEMPLES DE PROGRAMMES ET EXERCICES............................................................. 29
5.1
Les ordres de base du robot et notions de programmation .............................................. 29
Faire avancer le robot ...................................................................................................... 29
Faire avancer le robot pendant 5 secondes ..................................................................... 29
Illustration de l’importance de la temporisation ................................................................ 30
Bouger la caméra du POB-Bot en modifiant la position du servomoteur.......................... 31
Boucle infinie avec un GOTO : drapeau vert et canon à boulets verts ............................. 32
Boucle finie : Le robot avance et recule 3 fois pour signaler la fin du programme ........... 33
Variables : Régler l’ouverture de la pince du robot en positionnant votre main devant le
capteur de distance ................................................................................................................. 34
Comparaison : Lire un capteur de distance frontal pour éviter les chocs ......................... 36
5.2
6
Programmes plus évolués................................................................................................ 37
Reconnaissance de formes : Le robot avance tant qu’il voit une croix ............................. 37
Sous programmes : Le robot avance tant qu’il voit une croix ........................................... 39
ANNEXE 1 : FORMES A IMPRIMER .................................................................................. 41
6.1
Formes d’environ 5 centimètres de diagonale.................................................................. 41
6.2
Formes d’environ 20 centimètres de diagonale................................................................ 42
7
ANNEXE 2 : CONNECTER DES CAPTEURS SUR LE POB-BOT..................................... 54
POB-Technology – All rights reserved
Page 3
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Document management
Filename
Creation date
Author
Modification
RISBEE Documentation Français.doc
27/11/2007
Philippe
06/03/2008
POB-Technology contacts
Address
Mail
Phone
Fax
POB-TECHNOLOGY
4, rue Nicéphore Niépce
69 680 CHASSIEU, FRANCE
[email protected]
+33 (0)4 72 43 02 36
+33 (0)4 72 66 18 99
POB-Technology – All rights reserved
Page 4
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
1 Introduction
RISBEE est un logiciel d’initiation à la robotique dédié aux utilisateurs qui ont peu de
connaissances techniques en programmation. RISBEE se présente comme un plateau sur
lequel l’on positionne des icônes intuitives représentant des actions simples. Les différentes
icônes permettent de structurer un programme robotique et d’en définir son comportement en
fonction des informations provenant de l’environnement du robot.
Il s’agit d’un outil pédagogique pour travailler :
•
•
•
•
La structure et la logique de programmation sans les difficultés liées à la syntaxe des
langages de développement;
L’analyse des informations extérieures à un robot
Le comportement qu’un robot doit adopter en fonction de ces informations
De multiples sous ensembles pédagogiques comme les mathématiques élémentaires,
l’électricité, l’électronique, les sciences physiques…
RISBEE est un outil puissant pour stimuler la curiosité des élèves, favoriser le travail collectif et
émuler la prise d’initiatives dans un environnement ludique.
Le logiciel RISBEE a été conçu pour devenir rapidement multi plateforme robotique. Ainsi, il
sera bientôt possible de programmer différents robots en n’ayant qu’un seul logiciel simple à
maîtriser.
POB-Technology – All rights reserved
Page 5
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
2 Présentation générale
Ce chapitre présente les bases de l’utilisation de RISBEE.
2.1 Installation et configuration
Installation
RISBEE Fonctionne en environnement Windows XP et VISTA. Vous devez voir préalablement
installé le Framework Microsoft .Net V2.
Le Framework .net V2 est disponible en téléchargement libre sur le site de Microsoft :
www.microsoft.com/downloads
Installez ensuite le logiciel RISBEE en votre possession en exécutant le RISBEE_Setup.exe.
Configuration
Le bouton vert « MENU » vous donne accès au bouton « SETTINGS » pour configurer le
logiciel.
Cliquez sur le Bouton « SETTING » pour ouvrir la fenêtre de configuration.
POB-Technology – All rights reserved
Page 6
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Spécifiez le port de communication série de votre ordinateur sur lequel sera connecté le robot.
Si vous utilisez une connexion Bluetooth (adaptateur Série/Bluetooth) entre le robot et
l’ordinateur, spécifié le numéro de Port Com Série émulé.
Choisissez la langue de travail pour obtenir tous les commentaires des icônes en Français ou
en Anglais.
Le bouton « Flash POB-EYE » permet de télécharger sur votre robot l’interpréteur des
commandes RISBEE. Ainsi, RISBEE pourra a tout moment télécharger le programme sur le
robot en cliquant sur le bouton « GO » de l’écran principal de RISBEE.
Pour cela, placez le POB-Eye en mode programmation, appuyez sur le bouton « reset » du
POB-Eye puis cliquez sur le bouton « Flash POB-EYE ». Une fois l’opération terminée, replacez
votre POB-Eye en mode exécution et resetez à nouveau le POB-Eye. Votre robot est prêt pour
fonctionner avec RISBEE.
Cette opération n’est à faire qu’une seule fois tant vous programmez le robot avec RISBEE. Si
pour d’autres utilisations du robot vous utilisez les logiciels POB-Tools, alors vous devrez
renouveler cette manipulation pour travailler de nouveau avec RISBEE. Si vous faites une mise
à jour de RISBEE, renouvelez également cette opération.
POB-Technology – All rights reserved
Page 7
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
2.2 Les zones de l’écran principal
RISBEE se présente suivant 6 zones d’écran ci-dessous numérotées de 1 à 6.
ZONE 1 : Liste des icônes disponibles regroupées en 3 onglets :
•
•
•
Les ordres généraux sont icônes représentatives des fonctions de programmation.
Les ordres de base sont les icônes représentatives des actions communes à tous les
robots.
Les ordres spéciaux sont les icônes représentatives d’actions spécifiques à un robot
particulier.
Utiliser le « Glisser » à la souris pour placer une icône sur le plateau.
ZONE 2 : Le plateau de votre programme
Les icônes sont interprétées séquentiellement de la gauche vers la droite
POB-Technology – All rights reserved
Page 8
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
ZONE 3 : La description des icônes
Dans cette partie de l’écran est affichée la description de l’icône qui est survolée à la souris.
ZONE 4 : La zone de paramètres des icônes
Certaines icônes ont besoin de paramètres descriptifs pour le comportement du robot.
C’est ici que l’on choisit les noms de variables à manipuler, que l’on fixe les valeurs ou l’on
choisit les opérations à effectuer….
Pour modifier ou consulter les paramètres d’une icône, sélectionnez une icône sur le plateau
(zone 2), les paramètres associés à cette icône s’affichent automatiquement.
Voir le détail dans le chapitre de description des icônes
ZONE 5 : Affichage pas à pas en mode DEBUG
En sélectionnant une icône du programme de la zone 2, le bouton DEBUG permet d’afficher les
instructions pas à pas dans cette zone. A chaque clique sur le bouton DEBUG le programme
avance d’une icône et affiche ici le comportement du robot.
ZONE 6 : Les bouton GO, DEBUG et FIND
Cliquez sur le bouton « GO » pour télécharger votre programme sur le robot.
Le bouton « FIND » permet de retrouver facilement un commentaire ou bien drapeau rouge ou
vert.
Le bouton « DEBUG » permet d’exécuter le programme RISBEE sur le PC en mode Pas à Pas.
Le résultat est affiché dans la zone 5.
2.3 Manipulation de groupes d’icônes
Vous pouvez manipuler des groupes d’icônes dans RISBEE en une fois. Pour cela sélectionnez
à la souris le rectangle qui englobe les icônes à manipuler.
POB-Technology – All rights reserved
Page 9
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Les icônes sélectionnées deviennent légèrement grisées.
Le clic droit de la souris vous donne accès au menu Copier/Coller/Couper
Cut : Supprime les icônes sélectionnées en les conservant dans le presse papier
Copy : Copie dans le presse papier les icônes sélectionnées
Paste : Colle les icônes sélectionnées à partir de la case sélectionnée sur le plateau
Exemple : Pour déplacer un groupe d’icônes
•
•
•
•
Sélectionnez un groupe d’icônes
Clique Droit, sélectionnez « Cut » dans le menu
Cliquez (clique gauche) sur la première case ou vous voulez coller les icônes
Clique droit, sélectionnez « Paste »
Attention, pour la version Beta de RISBEE, il faut prévoir suffisamment de place pour coller un
groupe d’icônes sans écraser des icônes existantes.
POB-Technology – All rights reserved
Page 10
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
2.4 Outils d’aide à la navigation
Bouton FIND
Le bouton « FIND » permet de retrouver facilement un commentaire, un drapeau vert ou rouge
et de se rendre à l’emplacement de l’icône recherchée.
Cliquez sur le bouton « FIND », la fenêtre suivante s’ouvre.
Sélectionnez l’icône recherchée dans une des trois listes proposées puis cliquez sur « GO »
pour vous y rendre directement.
Mini Map
La « Map » fonctionne comme les minis maps des jeux vidéo.
Cliquez sur le bouton « Map », la fenêtre suivante s’ouvre.
POB-Technology – All rights reserved
Page 11
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Vous visualisez ici l’ensemble du plateau, l’espace sur lequel vous positionnez les icônes de
votre programme. Le petit rectangle bleu représente la zone du programme affichée à l’écran.
Déplacer ce rectangle bleu dans la mini map pour vous déplacer dans votre programme.
2.5 Mode DEBUG, aide à l’explication pédagogique, aide à la mise au point
Le mode « DEBUG » permet d’exécuter pas à pas le programme RISBEE sur le PC. L’affichage
pas à pas se fait dans la zone 5 en bas à droite de l’écran.
Principes du mode « DEBUG »
Sélectionnez une icône de votre programme puis cliquez sur le bouton « DEBUG ». Pour
avancer d’un pas dans votre programme, c'est-à-dire l’icône suivante dans le déroulement du
programme RISBEE, cliquez à nouveau sur le bouton « DEBUG ». A chaque clique sur ce
bouton, le programme avance d’une icône et affiche le résultat de l’exécution dans la zone 5.
En classe, vous pouvez utiliser cette fonction pour expliquer la logique de votre programme.
POB-Technology – All rights reserved
Page 12
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Cas particulier des entrées numériques et analogiques du robot
Lorsque que l’icône exécutée en mode « DEBUG » correspond à l’acquisition par le robot d’un
valeur d’un capteur numérique ou analogique, alors la fenêtre suivante s’ouvre pour vous
permettre de renseigner la valeur attendue.
Vous pouvez alors simuler l’exécution de votre programme RISBEE et le comportement du
robot suivant les différents cas de figures retournés pas les capteurs.
POB-Technology – All rights reserved
Page 13
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
3 Détail des icônes
3.1 Les ordres généraux
Les ordres généraux de RISBEE représentent les fonctions élémentaires de la programmation
informatique. Nous y trouvons les marqueurs de début de programme et fin de programme, le
GOTO, les sous fonctions, les opérations simples sur les variables ainsi que la comparaison
entre variables.
Icônes de début et fin de programme, commentaires
Le pistolet indique le début du programme. Cette icône est nécessaire dans tout
programme
Le drapeau à damier indique la fin du programme. Il est nécessaire dans tout
programme
La bulle de commentaires permet de commenter le programme.
Positionnez l’icône sur le plateau puis entrez votre commentaire dans la zone de
paramètres
POB-Technology – All rights reserved
Page 14
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Marqueurs VERTS : Goto et boucles
Le drapeau vert permet de placer un marqueur dans votre programme. Ce marqueur
sera utilisé pour un GOTO (canon à boulets verts) ou une boucle (gatling à balles
vertes). Dans la zone de paramètres vous pouvez spécifier un nom représentatif de ce
drapeau.
Le canon a boulets verts permet de faire un GOTO vers un drapeau vert. Placez votre
canon sur le plateau puis dans la zone de paramètres précisez le drapeau vert que
vous souhaitez cibler pour le GOTO.
La gatling à balles vertes effectue une boucle vers un drapeau vert. Dans la zone de
paramètres, précisez le drapeau vert sur lequel vous souhaitez boucler ainsi que le
nombre d’itérations à effectuer.
Conseils d’utilisation : Les canons à boulets verts et gatling à balles vertes sont l’équivalent
du GOTO en programmation informatique. Ils peuvent théoriquement pointer vers n’importe
quel drapeau vert du programme.
En pratique il est conseillé d’utiliser des canons verts et drapeaux verts de même niveau, c'està-dire tous deux du programme principal ou tous deux d’un même sous programme.
Des icônes GOTO mal employées peuvent être à l’origine de plantage du robot ou d’un
comportement anormal.
POB-Technology – All rights reserved
Page 15
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Marqueurs ROUGES : Sous programmes
Le drapeau rouge permet de placer un marqueur en dehors de votre programme. Ce
marqueur sera utilisé pour l’appel à un sous programme avec un canon à boulets
rouges ou une gatling à balles rouges. La parenthèse ouverte illustre le début du sous
programme.
Dans la zone de paramètres vous pouvez spécifier un nom représentatif de ce
drapeau (équivalent du nom de fonction ou du sous programme).
La parenthèse fermée permet d’indiquer la fin du sous programme. Une fois cette
icône atteinte en cours d’exécution, le déroulement du programme reprend
immédiatement après l’icône qui a appelé le sous programme (canon à boulets rouges
ou gatling à balles rouges).
Le canon a boulets rouges permet de faire un appel à un sous programme symbolisé
par un drapeau rouge. Placez votre canon sur le plateau puis dans la zone de
paramètres précisez le drapeau rouge que vous souhaitez cibler pour l’appel de sous
programme.
La gatling à balles rouges effectue une boucle vers un drapeau rouge. Cela revient à
exécuter plusieurs itérations d’un sous programme. Dans la zone de paramètres,
précisez le drapeau rouge sur lequel vous souhaitez pointer ainsi que le nombre
d’itérations à effectuer.
Conseils d’utilisation : Vous devez vous assurer qu’un sous-programme est terminé
proprement avec la parenthèse fermée. Tant que l’icône parenthèse fermée n’est pas exécutée
par le robot, le sous-programme continue d’occuper la mémoire du robot. Il est donc facile de
saturer la mémoire du robot et d’obtenir un comportement anormal si vous sortez d’un sous
programme sans jamais exécuter l’icône parenthèse fermée associée.
En conséquence, dans un sous-programme il est donc conseillé d’utiliser des canons à boulets
verts ou balances vertes qui renvoient vers des drapeaux verts contenus dans ce même sous
programme.
Un canon a boulets verts et balances vertes qui renvoient vers un drapeau vert du programme
principal ou d’un autre sous programme sont déconseillés.
POB-Technology – All rights reserved
Page 16
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Les variables et opérations sur les variables
La boite A permet d’initialiser une variable de votre programme. Placer l’icône sur le
plateau puis dans la zone de paramètres sélectionnez le nom de la variable (A à Z)
puis la valeur entière que vous souhaitez lui affecter. Toutes les variables de RISBEE
sont globales, c'est-à-dire qu’une variable est commune à tout le programme et sous
programmes.
La boite B permet d’effectuer une opération entre une variable et un entier puis de
stocker le résultat dans une autre variable. Placez l’icône sur le plateau puis dans la
zone de paramètres choisissez la variable source et l’opérateur, entrez la valeur
entière pour la deuxième opérande et sélectionnez la variable dans laquelle sera
stockée le résultat de l’opération.
La boîte C permet d’effectuer une opération entre deux variables puis de stocker le
résultat dans une troisième variable. Placez l’icône sur le plateau puis dans la zone de
paramètres choisissez les deux variables sources et l’opérateur, puis sélectionnez la
variable dans laquelle sera stockée le résultat de l’opération.
POB-Technology – All rights reserved
Page 17
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
La Comparaison
La Balance Verte A permet de comparer une variable à un entier. Si le test de
comparaison est VRAI alors on exécute un GOTO vers le drapeau vert défini. Si le test
est FAUX le programme continue à l’icône suivante.
Placez l’icône sur le plateau, puis dans la zone de paramètres précisez la variable à
comparer avec l’entier ainsi que l’opérateur de comparaison. Finalement définissez le
drapeau vert sur lequel aller si le test de comparaison est VRAI.
La Balance Verte AB permet de comparer deux variables entre elles. Si le test de
comparaison est VRAI alors on exécute un GOTO vers le drapeau vert défini. Si le test
est FAUX le programme continue à l’icône suivante.
Placez l’icône sur le plateau, puis dans la zone de paramètres précisez les variables à
comparer ainsi que l’opérateur de comparaison. Finalement définissez le drapeau vert
sur lequel aller si le test de comparaison est VRAI.
La Balance Rouge A permet de comparer une variable à un entier. Si le test de
comparaison est VRAI alors on exécute le sous programme défini par un drapeau
rouge. Si le test est FAUX le programme continue à l’icône suivante.
Placez l’icône sur le plateau, puis dans la zone de paramètres précisez la variable à
comparer avec l’entier ainsi que l’opérateur de comparaison. Finalement définissez le
drapeau rouge sur lequel aller si le test de comparaison est VRAI.
La Balance Rouge AB permet de comparer deux variables entre elles. Si le test de
comparaison est VRAI alors on exécute le sous programme défini par un drapeau
rouge. Si le test est FAUX le programme continue à l’icône suivante.
Placez l’icône sur le plateau, puis dans la zone de paramètres précisez les variables à
comparer ainsi que l’opérateur de comparaison. Finalement définissez le drapeau
rouge sur lequel aller si le test de comparaison est VRAI.
POB-Technology – All rights reserved
Page 18
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Conseils d’utilisation : Les balances vertes sont l’équivalent du GOTO en programmation
informatique. Elles peuvent théoriquement pointer vers n’importe quel drapeau vert du
programme.
En pratique il est conseillé d’utiliser des balances vertes et drapeaux verts de même niveau,
c'est-à-dire tous deux du programme principal ou tous deux d’un même sous programme.
Des icônes GOTO mal employées peuvent être à l’origine de plantage du robot ou d’un
comportement anormal.
3.2 Les ordres de base
Les ordres de base représentent des ordres communs à tous les robots, à savoir les
déplacements, la temporisation, la gestion des servomoteurs et l’acquisition de données
numériques et analogiques de la carte des entrées sorties du robot.
Déplacements du robot
Le robot s’arrête.
Le robot avance.
Le robot tourne à gauche.
Le robot tourne à droite.
Le robot recule.
Ces icônes n’ont pas besoin de paramètres, il suffit de les placer sur le plateau.
Les ordres de déplacement s’exécutent tant que l’ordre stop n’est pas donné ou qu’un ordre
d’un autre déplacement est donné au robot.
POB-Technology – All rights reserved
Page 19
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
La temporisation
Effectue une temporisation dans le programme d’un multiple de 0.1 seconde. Placez
l’icône sur le plateau puis saisissez dans la zone de paramétrage le temps à attendre
(exemple : 10 pour attendre une seconde)
Effectue une temporisation dans le programme. Le délai à attendre est défini par une
variable. Placez l’icône sur le plateau puis choisissez la variable représentant le temps
à attendre (exemple : Variable=10 pour attendre une seconde)
Gestion des servomoteurs
Le servomoteur simple permet de fixer sa position à une valeur fixe. Placez l’icône sur
le plateau puis sélectionnez le servomoteur à positionner et entrez la valeur de la
position de 0 à 255.
Le servomoteur A permet de fixer la position du servomoteur suivant la valeur d’une
variable. Placez l’icône sur le plateau puis sélectionnez le servomoteur à positionner et
choisissez la variable qui donnera la position du servomoteur. (valeur comprise entre 0
et 255).
POB-Technology – All rights reserved
Page 20
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Acquisition de capteurs numériques et analogiques
Les capteurs numériques sont par exemple des boutons/interrupteurs antichoc. Ils permettent
au robot de connaître son environnement ou encore à l’utilisateur de donner des ordres en
appuyant sur des boutons. Les valeurs retournées sont 0 et 1.
Les capteurs analogiques sont par exemple les capteurs de distance infrarouge. Ils permettent
au robot de connaître son environnement. Les valeurs retournées sont en général comprises
entre 0 et 255.
Le multimètre analogique permet de stocker dans une variable la valeur retournée par
un capteur analogique. Placez l’icône sur le plateau, sélectionnez le numéro de
l’entrée analogique correspondant au capteur sur la carte électronique et choisissez la
variable dans laquelle sera stockée la donnée.
Le multimètre numérique permet de stocker dans une variable la valeur retournée par
un capteur numérique. Placez l’icône sur le plateau, sélectionnez le numéro de
l’entrée numérique correspondant au capteur sur la carte électronique et choisissez la
variable dans laquelle sera stockée la donnée.
POB-Technology – All rights reserved
Page 21
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
3.3 Les ordres spéciaux
RISBEE est destiné à fonctionner sur différentes plateformes robotiques. Les ordres spéciaux
représentent les ordres spécifiques à un robot particulier. Dans le cas des robots POB, c'est-àdire les robots équipés d’un module caméra couleur intelligent POB-Eye, il y a des ordres
particuliers liés à la reconnaissance de formes.
Reconnaissance de formes sur le POB-Bot
L’icône cible sur la croix permet de rechercher en temps réel une forme spécifique
suivant les images provenant de la caméra. L’icône enregistre dans des variables la
position de la forme dans l’image et la taille (diagonale) en pixels dans des variables
que vous devez sélectionner.
Détails des paramètres :
Les coordonnées X et Y représentent la
position du centre de la forme à reconnaître
dans l’image qui provient de la caméra. Il est
alors possible de savoir comment se situe le
robot par rapport à la forme reconnue.
La Taille de la forme est la longueur de la
diagonale du rectangle qui englobe
complètement la forme reconnue dans
l’image. Ceci permet de connaître la distance
qui sépare le robot de la forme, à condition de
connaître au préalable la taille de forme face
à la caméra.
X, Y et Taille sont donnés en pixels et sont
mis à jour à chaque appel de l’icône.
La forme recherchée est détectée quand les
paramètres X, Y et TAILLE sont différents de
0. Pour savoir si la forme recherchée est
détectée, il suffit de tester la valeur de l’un de
ces paramètres avec l’icône balance.
POB-Technology – All rights reserved
Page 22
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Conseils d’utilisation : L’icône cible sur la croix enregistre les valeurs X, Y et Taille à chaque
fois que l’icône est exécutée par le robot. Le fait de voir l’image s’afficher en temps réel sur
l’écran du POB-Bot ne signifie pas que X, Y et Taille soient mis à jour en temps réel. Ainsi pour
rechercher une forme ou s’en approcher, il est conseillé d’utiliser cette icône dans une boucle.
Conseils pour la reconnaissance de formes :
L’appel de cette icône teste la présence de la forme à l’écran et ajuste les valeurs de X, Y et
Taille. Pour rechercher une forme dans l’environnement du robot, vous devez donc inclure cette
icône dans une boucle.
L’éclairage doit être suffisant et ne doit pas être dirigé directement sur la caméra. Les formes
doivent avoir un bon contraste et ne pas trop briller.
Si le robot ne reconnaît pas la forme qui se présente à lui, vérifiez les paramètres de l’icône,
vérifiez que l’image se situe bien dans le champ de la caméra en contrôlant l’image reçue sur
l’écran. Si l’image est à l’écran mais n’est pas nette ou contient des pixels blancs, vérifiez
l’éclairage et d’éventuels reflets de la forme.
Liste des formes disponibles pour la reconnaissance.
Cercle
Croix
Grand A
Roi
Tour
Gauche
Droite
Haut
Bas
Poule
Triangle
Trèfle
Notions de distances :
Une forme de Taille 5 cm (diagonale de la forme réelle à reconnaître) sera reconnue à une
distance de 10 à 40 cm environ du robot suivant l’éclairage et les détails de la forme.
Une forme de Taille 20 cm (diagonale de la forme réelle à reconnaître) sera reconnue à une
distance de 40 cm à 1,5 mètre environ du robot suivant l’éclairage et les détails de la forme.
De façon générale, plus la forme est complexe (le Roi par exemple) et plus l’éclairage est faible
plus la forme devra être proche de la caméra pour être reconnue.
Faites des expériences en fonction de vos conditions d’utilisation, en particulier pour l’éclairage.
POB-Technology – All rights reserved
Page 23
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
L’icône POB-Bot sur la croix permet au robot d’essayer de se centrer sur une forme
reconnue.
Sélectionnez la forme sur laquelle le robot doit se centrer puis la variable dans laquelle
sera stockée la valeur de Taille (Diagonale) de la forme en pixels. En manipulant cette
variable, vous pouvez déduire la distance du robot à la forme.
Joystick du POB-Bot
Avec l’icône Joystick le robot attend que l’utilisateur presse le Joystick du POB-Bot
pour que le programme continue d’être exécuté.
Attention, les fonctions en cours d’exécution comme les déplacements ne sont pas
stoppées par cette icône.
Affichage à l’écran du robot
Avec l’icône Texte le robot affiche une chaîne de caractères à l’écran.
L’icône Affiche Variable permet d’afficher la valeur d’une variable à l’écran.
Sélectionnez la variable à afficher et la ligne (de 0 à 7) sur laquelle afficher la valeur.
Remarque : L’affichage se fait sur la moitié droite de l’écran, la moitié gauche est réservée à
l’affichage des images de la caméra.
POB-Technology – All rights reserved
Page 24
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
4 Principes de programmation avec RISBEE
4.1 Généralités
Les icônes RISBEE, sont lues et exécutées dans le même sens que la lecture d’un livre. De la
gauche vers la droite, puis de haut en bas. Cependant, le canons et balances permettent de
faire des sauts à des endroits particuliers de vos programmes.
RISBEE d’effectue pas de contrôle de cohérence du programme que vous écrivez. Ainsi que
pour n’importe quel langage évolué, vous pouvez écrire des programmes qui surchargent le
robot ou encore saturent la mémoire et provoquent des blocages du robot.
Il convient donc de respecter quelques règles élémentaires de programmation, en particulier
pour l’usage des GOTO (canons verts et balances vertes) et des sous-programmes (canons
rouges et balances rouges).
Logique habituelle d’un programme robotique
Chacune des boîtes ci-dessus peut, et même souvent doit faire l’objet d’un sous programme.
Les sous programmes améliorent beaucoup la lisibilité d’un programme et en facilitent la mise
au point et la maintenance.
POB-Technology – All rights reserved
Page 25
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
4.2 Structure d’un programme et sous-programmes
Les programmes RISBEE sont composés d’un programme principal et d’éventuels sousprogrammes.
Le programme principal est encadré par les icônes « pistolet » et « drapeau à damier » tandis
que les sous programmes ne sont encadrés pas les icônes « drapeau rouge »
et « parenthèse ».
Remarque importante : Tout sous-programme exécuté doit à un moment rencontrer la
« parenthèse » pour libérer la mémoire du robot. Dans le cas contraire, il y a de fortes chances
pour que le robot ait plus ou moins rapidement la mémoire saturée puis « plante ».
Exécution normale d’un sous-programme
POB-Technology – All rights reserved
Page 26
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Il est bien sur possible d’appeler un sous programme depuis un autre sous-programme.
Un sous programme peut aussi s’appeler lui-même, on dit dans ce cas qu’il est récursif, mais
attention de bien gérer les conditions de sortie pour ne pas saturer la mémoire.
4.3 Utilisation du GOTO : Canons verts et Balances vertes
Règle de base : Un canon vert ou une balance verte doit obligatoirement pointer vers un
drapeau vert faisant partie du même niveau de programme.
•
•
Un canon vert ou une balance verte du programme principal doit pointer vers un drapeau
vert du programme principal.
Un canon vert ou une balance verte d’un sous-programme doit pointer vers un drapeau
vert du même sous-programme.
Ordres GOTO autorisés et interdits
4.4 Notions de gestion du temps en robotique
Les robots font appel à 3 domaines de spécialités :
•
•
•
Le logiciel
L’électronique
La mécanique
L’on retrouve ces trois parties dans la gestion du temps lorsqu’un robot exécute son
programme.
POB-Technology – All rights reserved
Page 27
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Ainsi divant les parties du robot qui « travaillent », le temps nécessaire à l’exécution d’une tâche
varie :
•
•
•
Calcul par le POB-Eye : Rapide
Acquisition de capteurs : de rapide à lent
Servomoteur : Lent
Ces notions sont importantes en robotique et il est souvent nécessaire d’utiliser des
temporisations pour que le robot ait un fonctionnement normal. Le chapitre suivant illustre
quelques exemples de gestion du temps.
POB-Technology – All rights reserved
Page 28
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
5 Exemples de programmes et exercices
5.1 Les ordres de base du robot et notions de programmation
Faire avancer le robot
Dans cet exemple nous souhaitons faire avancer le robot.
Début du programme
Le robot avance
Fin du programme
Aucun ordre d’arrêt n’étant donné, le robot avance sans fin.
Faire avancer le robot pendant 5 secondes
Début du programme
Le robot avance
Temporisation : entrez 50 (50x0.1 seconde = 5 secondes) comme paramètre de
temporisation
Le robot s’arrête
Fin du programme
Le robot avance, une temporisation de 5s est appliquée avant de donner l’ordre STOP au robot.
POB-Technology – All rights reserved
Page 29
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Illustration de l’importance de la temporisation
Cet exemple montre l’importance de la temporisation dans la programmation de robots. Nous
allons comparer deux programmes très simples :
Début du programme
Le robot avance
Le robot recule
Fin du programme
Dans cet exemple, les ordres « avance » et « recule » s’enchaînent très rapidement. L’ordre de
reculer est donné immédiatement après l’ordre d’avancer qui n’a donc pas le temps de
s’exécuter visiblement. Pour ce programme, le robot ne fait que reculer. Pourtant l’ordre
d’avancer est exécuté mais très rapidement.
Pour que les deux ordres « avancer » et « reculer » soient pris en compte, il faut mettre une
temporisation entre les deux afin que le premier ordre ait le temps d’être exécuté.
.
Début du programme
Le robot avance
Temporisation de 2 secondes (paramètre de délai = 20)
Le robot recule
Fin du programme
Dans cet exemple le robot avance pendant 2 secondes puis recule indéfiniment.
POB-Technology – All rights reserved
Page 30
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Bouger la caméra du POB-Bot en modifiant la position du servomoteur
La position d’un servomoteur varie de 0 à 255. Dans cet exemple nous positionnons le
servomoteur aux valeurs 30 puis 100 puis 50 avec un délai d’une seconde entre chaque
modification de position.
Sur le POB-Bot, le servomoteur de la camera est généralement connecté sur le premier
connecteur de la carte, c'est-à-dire le servo 0.
Pour positionner le servomoteur de la caméra, sélectionnez l’icône Servomoteur,
choisissez le servo 0 puis entrez la position, ici 30.
Début du programme
On positionne le servo 0 à la valeur 30
Temporisation de 1 seconde
On positionne le servo 0 à la valeur 100
Temporisation de 1 seconde
On positionne le servo 0 à la valeur 50
Fin du programme
Question 1 : Que se passe t’il si l’on supprime les temporisations ? Pourquoi ?
Question 2 : Si un servomoteur à une amplitude de 0 à 180 degrés et que les positions que je
peux fixer varient de 0 à 255, alors :
• Quelle précision obtient on en degrés en variant la position de 1 pas ?
• De combien de pas doit on faire varier le servomoteur pour le faire tourner de 90 degrés ?
POB-Technology – All rights reserved
Page 31
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Boucle infinie avec un GOTO : drapeau vert et canon à boulets verts
Dans cet exemple nous allons programmer le robot pour qu’il avance une seconde, tourne à
gauche pendant une seconde puis l’on recommence la séquence « avance / tourne une seconde
» indéfiniment.
Début du programme
Le drapeau vert place un point de repère pour le canon qui tire des boulets verts. Le
canon permettra de revenir à ce point du programme.
En paramètre, entrez le nom du drapeau, par exemple « Boucle »
Le robot avance
Temporisation de 1 seconde
Le robot tourne à gauche
Temporisation de 1 seconde
Le canon à boulets verts permet d’aller (GOTO) vers un drapeau vert.
En paramètre, sélectionnez le drapeau vert « Boucle ».
Quand cet ordre est exécuté, le programme recommence à partir du drapeau vert.
Fin du programme
Comme le canon précédant renvoie en permanence vers le drapeau vert, la fin du
programme n’est jamais atteinte.
Question 1 : Que fait ce programme ci-dessous ?
Question 2 : Comment réécrire ce programme plus simplement ?
POB-Technology – All rights reserved
Page 32
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Boucle finie : Le robot avance et recule 3 fois pour signaler la fin du programme
La gatling à balles vertes fonctionne comme le canon à boulets verts, elle renvoie donc vers un
drapeau vert. La différence tient dans le fait que la boucle est exécutée un nombre de fois
prédéterminé.
La gatling à balles vertes permet de renvoyer un nombre X de fois déterminées vers
un drapeau vert (ici X=3). Une fois ces X itérations exécutées, le programme continue
à l’icône qui suit la gatling.
Question : Expliquer le programme ci-dessous.
POB-Technology – All rights reserved
Page 33
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Variables : Régler l’ouverture de la pince du robot en positionnant votre main
devant le capteur de distance
Dans cet exemple, nous souhaitons ajuster l’ouverture de la pince du robot en faisant varier la
position de la main devant un capteur de distance GP2D12. Nous allons utiliser une variable D
dans laquelle sera stockée la distance de la main au capteur. Puis cette variable D sera utilisée
pour fixer la position du servomoteur qui contrôle l’ouverture de la pince.
Nous supposons que le capteur est branché sur le connecteur 2 des entrées analogiques et que
le servomoteur est branché sur le connecteur 1 des servomoteurs de la carte.
Début du programme
Le drapeau vert utilisé pour la boucle infinie avec le canon à boulets verts
On stocke la valeur retournée par le capteur de distance dans la variable D
On fixe la position du servomoteur de la pince grâce à la valeur de la variable D
Boucle vers le drapeau vert : GOTO
Fin du programme
Comme le canon précédant renvoie en permanence vers le drapeau vert, la fin du
programme n’est jamais atteinte.
Question : Pourquoi la temporisation est elle inutile entre l’icône 3 et l’icône 4 ?
Important : Vous remarquez que la pince est fermée quand la main se situe autour de 10cm du
capteur. En éloignant la main la pince se ferme, mais elle se ferme aussi en rapprochant la main
du capteur (distance < 10 cm).
Cet exemple permet d’expliquer le fonctionnement des capteurs de distance infrarouge Sharp
GP2D12. Ceux-ci permettent de détecter des distances de 10 à 80 cm (voir schéma ci-dessous).
En suivant cette courbe, on voit qu’il existe des valeurs retournées par le capteur qui
correspondent à deux distances possibles, une supérieure à 10 cm et une autre inférieure à 10
cm. Seules les distances entre 10 et 80cm sont fiables.
POB-Technology – All rights reserved
Page 34
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Question de réflexion : Quelles solutions pourrait-on envisager (programmation, solution
mécanique ou électronique) pour s’assurer de travailler sur des mesures de distances fiables.
POB-Technology – All rights reserved
Page 35
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Comparaison : Lire un capteur de distance frontal pour éviter les chocs
Dans cet exemple, nous allons demander au robot d’avancer jusqu’à ce qu’un obstacle soit
détecté devant le robot. Nous allons demander au robot d’avancer puis lire en permanence la
valeur retournée par le capteur de distance situé à l’avant du robot. Si la distance est inférieure à
un certain nombre alors le robot doit s’arrêter pour éviter l’accident.
Les capteurs de distance infrarouge sont des capteurs analogiques. Dans cet exemple nous
supposons que le capteur est connecté au connecteur analogique 2 du robot.
Début du programme
Le robot avance
Le drapeau vert place un point de repère pour le canon qui tire des boulets verts. La
balance A verte permettra de revenir à ce point du programme.
En paramètre, entrez le nom du drapeau, par exemple « Lecture Capteur »
Ici nous lisons la valeur du capteur de distance situé à l’avant du robot, nous stockons
cette valeur dans la variable A.
Paramètres : Choisir la variable A qui correspond à l’entrée analogique 2.
La balance A verte permet de comparer une variable à une valeur. Dans notre
exemple la variable est A (distance devant le robot) et est comparée à la valeur 50
(environ 30 cm). Si le test est vrai il n’y a pas l’obstacle devant le robot et l’on va vers
le drapeau vert pour faire une nouvelle lecture du capteur. Si le test est faux, alors il y
a un obstacle à 30 cm et l’on passe à l’icône suivante, le STOP.
Le robot s’arrête car il vient de détecter un obstacle.
Fin du programme
Question 1 : Comment modifier ce programme pour que quand le robot détecte un obstacle il
tourne jusqu’à ce qu’il n’y ait plus d’obstacle devant lui, puis reprend sa course ?
Question 2 : Comment modifier ce programme pour que le robot puisse se déplacer
indéfiniment sans jamais rencontrer d’obstacles ? (On suppose qu’un seul capteur frontal est
suffisant, en pratique il en faudrait 3, un devant et un de chaque côté à 45 degrés)
POB-Technology – All rights reserved
Page 36
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
5.2 Programmes plus évolués
Reconnaissance de formes : Le robot avance tant qu’il voit une croix
Dans cet exemple le programme est en deux parties. La première partie s’occupe de la
détection de la croix avec la caméra, la seconde partie s’occupe des déplacements du robot. En
l’occurrence il s’agit ici simplement d’avancer quand une croix est détectée par la caméra, sinon
le robot s’arrête.
Début du programme
Drapeau vert que l’on appelle « Caméra »
La caméra cherche si une croix (Forme Cross) est présente devant elle. X, Y et S
seront différents de 0 si une croix est détectée.
On teste la valeur de la variable S. Si S est différent de 0 alors la croix est détectée et
on exécute un GOTO vers le drapeau vert « Avance ».
La croix n’est plus détectée, le robot s’arrête
Goto vers le drapeau « Caméra »
Drapeau vert que l’on appelle « Avance »
Le robot avance
Goto vers le drapeau vert « Caméra » pour boucler sans fin
POB-Technology – All rights reserved
Page 37
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Fin du programme
Exercice : Ecrire un programme qui fait les opérations suivantes :
- Le robot avance quand on lui montre une croix et continue d’avancer tant qu’il voit
la croix.
- Le robot tourne à droite tant qu’il voit un rond
- Le robot tourne à gauche tant qu’il voit une tour.
- Le robot s’arrête quand il ne reconnaît aucune forme
POB-Technology – All rights reserved
Page 38
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Sous programmes : Le robot avance tant qu’il voit une croix
Les balances rouges fonctionnent comme les balances vertes mais elles renvoient vers un sous
programme symbolisé par le drapeau rouge.
Ici nous reprenons l’exemple précédent mais en utilisant deux sous programme pour le cas où
la croix est détectée et le cas ou la croix n’est pas détectée.
Dans la version Beta de RISBEE, nous utilisons deux balances rouges successives pour gérer
le cas IF…THEN puis le cas ELSE. Les deux balances font les tests opposés « égal » et
« différent ».
Début du programme
Drapeau vert que l’on appelle « Boucle »
La caméra cherche si une croix est présente devant elle. X, Y et S seront différents de
0 si une croix est détectée.
On teste la valeur de la variable S. Si S est différent de 0 alors la croix est détectée et
on saute vers le sous-programme « drapeau rouge Croix »
POB-Technology – All rights reserved
Page 39
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
On teste la valeur de la variable S. Si S est égal à 0 alors la croix n’est pas détectée et
on saute vers le-sous programme, drapeau rouge « Pas Croix »
Boucle sans fin vers le drapeau vert « boucle »
Fin du programme
Sous programmes :
- Croix :
Croix détectée : le robot avance
- Pas de croix :
Croix non détectée : le robot stoppe
Exercice : Modifier ce programme pour que le robot suivre la croix quand elle est décalée à
gauche ou à droite. Le robot doit donc rester centré sur la croix sans utiliser l’icône de centrage.
POB-Technology – All rights reserved
Page 40
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
6 Annexe 1 : Formes à Imprimer
6.1 Formes d’environ 5 centimètres de diagonale
POB-Technology – All rights reserved
Page 41
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
6.2 Formes d’environ 20 centimètres de diagonale
POB-Technology – All rights reserved
Page 42
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 43
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 44
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 45
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 46
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 47
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 48
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 49
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 50
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 51
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 52
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
POB-Technology – All rights reserved
Page 53
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
7 Annexe 2 : Connecter des capteurs sur le POB-Bot
Chaque bornier de la carte possède 3 entrées : 0V, RA ou RD, +5V
Si votre capteur possède des fils de 3 couleurs, connectez le fil rouge sur le +5V, le fil noir sur
le 0V et le 3iè fil (généralement Jaune) sur RA ou RD.
Reportez vous à la documentation technique du POB-Bot pour connaître les spécifications
techniques des capteurs utilisables sur le POB-Bot.
POB-Technology – All rights reserved
Page 54
/ 55
Constructeur de Robots
Pour les Loisirs Innovants et pour l’Enseignement
Si votre capteur de distance ne possède pas de fils tricolores, suivez le schéma ci-dessous :
POB-Technology – All rights reserved
Page 55
/ 55