Aller au contenu


Ulysse

Inscrit(e) (le) 16 sept. 2016
Déconnecté Dernière activité déc. 31 2018 12:44
-----

#74092 Pablo odysseus, robot artist Land Art

Posté par Ulysse - 22 septembre 2016 - 09:05

Merci Oracid,

les capteurs de Pablo sont pour la plupart créés à partir de modules Arduino qui réalisent une tâche bien précise ( comme l'odométrie et le compas ) et font remonter ces informations par USB vers Pablo via un port série virtuel par module. L'application qui fait vivre Pablo est hébergée sur un PC portable, développée en C# avec Microsoft Visual Studio ( je montrerai l'architecture en détail par la suite ). Les informations sont affichés sous forme de jolis cadrans qui sont créés par d'autres développeurs je précise, je ne fais que customiser !

Les mesures ne sont pas enregistrées mais elles sont utilisées pour la navigation.

 

Et puisqu'on parle navigation ...

 

Maintenant que Pablo sait mesurer une distance et suivre un cap, on peut déjà lui demander un petit chalenge : suivre un parcours très simple, programmé, avec retour au point de départ sans l'aide du GPS.

 

par exemple un carré :

 

4 mètres, cap 320°

4 mètres, cap 50°

4 mètres, cap 140°

4 mètres, cap 230°

le tout à vitesse réduite.

 

Prêt ? Partez ! (avec un aperçu des correction de trajectoire en temps réel)

on remarquera au passage que Pablo a perdu sa batterie, d'où le câble d'alimentation qu'il traine pour les essais...

 

 

 

Pas si mal. Au final une petite erreur de distance à cause des virages sec à 90° mais rien de bien méchant, en navigation réelle les écarts sont rattrapés à chaque calcul d'un nouveau segment par la position du GPS.

L'important est de valider l'odomètre et le compas.

 

 




#74079 Pablo odysseus, robot artist Land Art

Posté par Ulysse - 22 septembre 2016 - 05:32

A la question que se pose tout robot lorsqu'il doit se diriger : "comment m'orienter ?" il y a une réponse simple : "avec une boussole".

Sauf qu'une boussole est sensible aux champs magnétiques générés par l'électronique de nos appareils : les hauts parleurs, les moteurs, les transformateurs... Pour exemple le très commun HMC5883L qu'il est impossible à 

 

Bien heureusement d'autres composants sont là pour nous sortir d'affaire, tel le magique Adafruit BNO055. Celui-ci embarque du monde :

 

un système en boîtier (SIP), intégrant un accéléromètre triaxial 14 bits, un gyroscope triaxial 16 bits avec une plage de ±2 000 degrés par seconde, un capteur géomagnétique triaxial, ainsi qu'un microcontrôleur 32 bits ultra-faible consommation Cortex M0+ d'Atmel.

 

 

C'est donc son propre processeur qui fusionne toutes les données des capteurs, ce qui libère complètement les ressources du robot pour d'autres tâches. C'est de la sous-traitance !

 

Pour nous le résultat est idéal : une fois alimenté et calibré ( le faire tourner dans tous les sens ) il est juste parfait, insensible aux perturbations, même en promenant un aimant tout près (alors qu'une boussole à aiguille s'affole juste à côté).

 

BNO055 et arduino micro.jpg

 

Avec une vidéo : d'abord une version 'bidouille' pour tester l'orientation, puis une version câblée sur un petit banc de test 3 axes.

 

 




#74026 Le PVC, c'est fantastique !

Posté par Ulysse - 20 septembre 2016 - 08:03

Plouf :




#74022 Le PVC, c'est fantastique !

Posté par Ulysse - 20 septembre 2016 - 07:48

Les créatures Strandbeest de Theo JANSEN sont toujours magnifiques grâce à son célèbre algorithme mécanique, mainte fois reprises en papier, en bois, en carton ou en plastique. En métal aussi.

 

Sinon pour rester dans le jus :  des petits robots sous marin.

Image(s) jointe(s)

  • F6PKT13FHOHJIQO.MEDIUM.jpg



#73898 Pablo odysseus, robot artist Land Art

Posté par Ulysse - 18 septembre 2016 - 12:49

Effectivement, la prochaine mission "agricole" de Pablo ressemblera aux au tracés de crops circles ... plus précisément une fonction  "NOT Crop Circle", à suivre d'ici quelques lunes ...

 

Aujourd'hui on parle Odométrie.

C'est un sujet très bien documenté un peu partout sur le net, je laisse donc la théorie de côté et j'aborde ici le côté réalisation.

Pour estimer sa position hors GPS et sur de petites distances (c'est à dire quelques quelques mètres à l'échelle de sa tâche) Pablo reçoit les informations depuis un petit module Arduino qui compte le nombre de tours de chacun des deux moteurs, deux capteurs montés en quadrature sont nécessaires pour déterminer le sens de rotation.

 

Les capteurs :

 
Opto sensor2.png
 

Les capteurs utilisés sont disponibles à cette adresse.

 

Electrical_Optical_Sensor.png

 

Les moteurs :

 

Les moteurs utilisés sont du type Dynamic WMT 90103

 

SAM_0018_2.JPG

 

Il n'y a pas de capteur sur ce type de matériel, il faut les modifier.

 

Après avoir libéré le carter on aperçoit le frein électrique. On le retire car il est inutile pour Pablo et qu'on a besoin de place pour insérer les capteurs.

 

SAM_0019_2.JPG

 

La place est libre, l'axe du moteur est visible.

 

SAM_0020_2.JPG

 

On équipe l'axe avec une tige filetée fixée avec une colle spéciale métal.

 

SAM_0021_2.JPG

 

La roue en époxy est fixée sur l'axe fileté.

 

SAM_0022_2.JPG

 

 

Puis on fixe les codeurs optiques avec des tiges acier qui permettent d'ajuster les circuits par rapport à la roue codeuse.

 

SAM_0025_2.JPG

 

Pour finir on câble l'alimentation 5 Volts et les signaux des codeurs

 

SAM_0027_2.JPG

 

 

Pour déterminer le sens de rotation, les capteurs sont montés en quadrature. Voici les signaux générés lorsque le moteur est en rotation, ils sont clairement décalés dans le temps.

Rotation en sens horaire :

 

SCRN0138.PNG

 

Rotation en sens anti horaire :

 

SCRN0139.PNG

 

 
001.gif

 

 

A suivre : on connecte les capteurs à un petit Arduino pour remonter les informations à Pablo.

 

 




#73857 Pablo odysseus, robot artist Land Art

Posté par Ulysse - 17 septembre 2016 - 11:32

Tout à fait : Pablo se comporte comme un traceur XXL. L'outil de traçage n'est pas encore mis au point, c'est un rouleau équipé de griffes qui retourne le sable sur une largeur légèrement supérieure à la voie (la distance entre les deux roues) pour couvrir les éventuelles traces laissées par les roues. L'outil est abaissé ou remonté lorsqu'il faut tracer, exactement comme un tracteur utilise un soc de charrue. Les essais montrent qu'il n'est pas nécessaire de creuser pour laisser une belle trace, simplement griffer le sable humide suffit. 
 
Ce qui nous amène à la préparation d'une mission :
 
En premier il faut sélectionner la forme qui sera tracée sur le sable. J'ai choisi le format DXF car il est vectoriel et il est très répandu. On trouve un peu partout des fichiers qui représentent tout un tas de formes à tracer en deux dimensions, ça permet de nourri Pablo en données. D'autres formats vectoriels pourraient êtres importés.
J'ai créé ensuite une application développée en C# pour transformer les vecteurs en coordonnées GPS.
 
D'abord on choisi un emplacement sur la carte. Grâce à GMap.NET on peut manipuler les cartes de Google, de Bing, d' OpenStreet ou autre pour se déplacer sur la carte, zoomer, poser des marqueurs..
 
mission_01.jpg
 
Il suffit de sélectionner le fichier DXF à importer, choisir l'échelle, l'orientation et simplement cliquer.
 
mission_02.jpg
 
On peut vérifier les coordonnées en exportant un fichier KML dans google map. Pablo utilise un autre fichier avec les mêmes coordonnées mais avec plus d'information comme par exemple lever et baisser l'outil pour dessiner sur le sable.

48,4450406781251    -2,08504594716869    False
48,4450461265302    -2,08506101814332    True
48,4450517909435    -2,08506631507817    True
48,4450666555887    -2,08506418650572    True
48,4451367353441    -2,08497106468962    True
48,4451348424797    -2,08496974890767    True
48,4451308889332    -2,08497403059451    True
48,4451267488849    -2,08498364311531    True
...

 
Pablo possède ainsi toutes les informations nécessaires pour faire sont travail, il faut tout de même l'amener à proximité du site !
Une vidéo qui résume la préparation d'une mission :
 
Il faut maintenant aider Pablo à se repérer....


#73828 Ulysse présente Pablo

Posté par Ulysse - 16 septembre 2016 - 01:58

Bonjour à tous,
je profiterai de ce forum pour partager la mise au point de Pablo, un robot autonome dont le but est de tracer de (vraiment) grands dessins dans le sable lorsque la marée découvre les plages.
 


A très bientôt.
Ulysse.