Module Northstar sur Robotino

De Wiki d'activités IMA
Révision datée du 1 décembre 2013 à 23:24 par Mlenorma (discussion | contributions) (Contexte)

Présentation du Robotino

Le Robotino est un robot mobile, avec un châssis rond en inox et trois unités de motorisation omnidirectionnelles

Ses dimensions sont :

- Diamètre : 370 mm

- Hauteur (habillage compris) : 210 mm

- Poids total : environ 11 kg

Les informations de commandes sont envoyées par Wifi via un routeur dédié présent dans la salle Robotino.

Pour la programmation, il existe le logiciel RobotinoView2 qui est un logiciel de programmation du Robotino conçu par Festo. Le Robotino peut être programmé avec d'autres logiciels, Matlab principalement car à l'installation, il y a une toolbox Matlab associé aux blocs fonction du logiciel avec RobotinoView2 ou en utilisant d'autres langages de programmation comme le C++ et Java.

Les capteurs présents initialement sur le Robotino sont :

- 1 Structure de protection en caoutchouc intégrant un détecteur anticollision

- 9 capteurs de distance analogiques à infrarouge

- 1 capteur inductif analogique

- 2 capteurs optiques numériques

Auxquels, on ajoute généralement 1 caméra Web couleur à interface USB.

Avec cette bases de capteurs beaucoup de TPs sont réalisés à Polytech.

Mais pour des projets ou des applications particulières, Festo vend des modules supplémentaires pour le Robotino, tel que le module Northstar de mon projet.

Présentation du projet

Contexte

Pour mon projet de l’année dernière, j’ai utilisé les fonctions de traitement d’image de RobotinoView2, le logiciel de Festo pour programmer le Robotino. La même année, j’ai utilisé lors des Travaux Pratiques de Robotique, la fonction d’odométrie du Robotino. L’odométrie est une technique permettant d'estimer la position d'un véhicule en mouvement. Le terme vient du grec hodos (voyage) et metron (mesure). Cette mesure est présente sur quasiment tous les robots mobiles, grâce à des capteurs embarqués permettant de mesurer le déplacement du robot (de ses roues). Le principe de l’odométrie repose sur la mesure individuelle des déplacements des roues, en comptant les incrémentations du moteur, pour reconstituer le mouvement global du robot. En partant d'une position initiale connue et en intégrant les déplacements mesurés, on peut ainsi calculer à chaque instant la position courante d’un robot mobile.

C’est pourquoi cette année, j’ai eu l’opportunité d’utiliser le module Northstar qui est un système de localisation, comparable à un système de géo-localisation dans un plan. Ce système de navigation associe un projecteur et un capteur infrarouge.

Photo du Schéma de fonctionnement : Schéma de fonctionnement.JPG

Objectifs

Comprendre le fonctionnement du module Northstar.

Savoir paramétrer et initialiser le projecteur et le capteur.

Prendre en mains le bloc associé à Norstar sur RobotinoView2.

Etudier la précision du module Northstar.

Après ces étapes, mon objectif était de rendre l’utilisation le positionnement dans l’espace le plus précis possible en associant les valeurs de x, y et phi calculées par l’odométrie et par le module Northstar le plus précis possible.

Enfin, appliquer cela à des cas concrets, d’abord des trajectoires assez simples, sur des problèmes tels que le patinage ou le glissement des roues qui créent des erreurs avec l’odométrie. Puis en associant mes résultats au projet d’un doctorant qui travail sur l’évitement d’obstacle avec le Robotiono par la logique floue.

Journal de bord

10 Septembre 2013

Présentation des projets IMA 5

11 Septembre 2013

Rencontre avec les professeurs pour avoir plus de détails sur les projets, suivi du choix et de l'attribution des projets

17 Septembre 2013

Discutions avec Mr Rochdi MERZOUKI sur le projet en lui même et ses objectifs.

Prise de contact avec Mr Olivier SCRIVE pour récupérer la boîte contenant le module Northstar

Ecriture d'un diagramme de Gantt pour la gestion du projet, avec les premières étapes du projet ainsi qu'une estimation de leur durée

18 Septembre 2013

Découverte du kit Northstar qui comprend :

- 1 capteur Northstar

- 1 câble USB pour le relier le capteur au Robotino

- 1 projecteur avec un trépied

- 1 bloc d’alimentation électrique adaptable aux prises internationales

- 1 câble pour relier le projecteur au bloc d’alimentation

- 1 manuel d’utilisation (allemand et anglais)

Photo du kit Northstar :  : Northstar.jpg

Assemblage du projecteur avec le trépied et le bloc alimentation ainsi que du capteur Northstar avec le Robotino.

Photo de la mise en place Capteur Northstar sur Robotino :  : Mise en place Capteur Northstar sur Robotino.jpg

Prise en main du bloc Northstar présent sur le logiciel RobotinoView2

Photo du bloc Northstar :  : Bloc Northstar.jpg

Les entrées sont :

- Numéro de local correspondant au numéro du local dans lequel Robotino se trouve, lié au numéro fixé sur le projecteur

- Calibrage du plafond (en mm) correspondant à la distance entre le détecteur et le plafond

- X (en mm) correspondant à la position x de l'origine définie par l'entrée "Définir"

- Y (en mm) correspondant à la position y de l'origine définie par l'entrée "Définir"

- Phi (en mm) correspondant à la position phi de l'origine définie par l'entrée "Définir"

- Définir correspondat à un booléen, si vrai (true) la pose (x,y,phi) est prise pour origine

Ecriture d'un programme nommé Northstar sous RobotinoView2 qui commande le Robotino avec un bloc appelé panneau de commande et qui calcule en même temps la différence entre les valeurs avec le capteur Northsatr et celles par odométrie

24 Septembre 2013

Ecriture d'un programme nommé Odométrie_auto qui prend utilise l'odométrie pour commander le déplacement du Robotino sur plusieurs position en définissant une possition comme un vecteur de à 3 composantes x, y et phi.

25 Septembre 2013

Ecriture d'un programme nommé Drive qui prend utilise les valeurs de Northstar plus un delta égale à la différence entre les valeurs par odométrie et celles avec le capteur Northsatr, pour commander le déplacement du Robotino sur plusieurs position.

30 Septembre 2013

Ecriture d'un programme nommé Moyenneur sous RobotinoView2 qui fait la moyenne entre les valeurs de x, y et phi obtenues par odométrie et par le capteur Northstar.

1 Octobre 2013

Les résultats obtentions par ces programmes paraissaient aberrants par des mesures avec un mètre à ruban et des marquages avec du scotch blanc au sol.

Recherches d'informations pour le paramétrages

2 Octobre 2013

Modification du programme Odométrie_auto pour qu'il continue à commander la Robotino avec les valeurs d'odométrie.

Et qu'il enregistre aussi les valeurs grâce au bloc nommé Enregistreur de valeurs qui inscrit les valeurs d'entrée, séparées par un tabulateur, sur une nouvelle ligne du fichier texte.

Ces fichiers texte sont contenus dans un dossier nommé Résultats, il y en a 6 :

- x_Northsyar

- y_Northstar

- phi_Northstar

- x_Odometrie

- y_Odometrie

- phi_Odometrie

Grâce à ces fichiers texte et à l'affichage des valeurs de connexions, j'ai pu avec une méthode empirique la valeur de calibrage du plafond.

7 Octobre 2013

14 Octobre 2013

15 Octobre 2013

16 Octobre 2013

21 Octobre 2013

22 Octobre 2013

23 Octobre 2013

13 Novembre 2013

20 Novembre 2013

26 Novembre 2013

27 Novembre 2013

28 Novembre 2013

2 Décembre 2013

3 Décembre 2013

4 Décembre 2013

5 Décembre 2013

9 Décembre 2013

12 Décembre 2013

16 Décembre 2013

19 Décembre 2013

Soutenances intermédiaires de projets