Aller au contenu


Contenu de Ulysse

Il y a 481 élément(s) pour Ulysse (recherche limitée depuis 04-mai 13)



#73828 Ulysse présente Pablo

Posté par Ulysse sur 16 septembre 2016 - 01:58 dans Et si vous vous présentiez?

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.



#73838 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 16 septembre 2016 - 09:50 dans Robots roulants, chars à chenilles et autres machines sur roues

Je vous propose de suivre ici la réalisation et 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.

 

Pour commencer :  Le châssis.

 

Le squelette de PABLO est constitué de profilé en aluminium de 2cm de section. L'assemblage est facilité par des équerres. On reconnait les deux moteurs de chaque côté et l'emplacement pour la batterie au centre. L'électronique viendra par la suite sur le dessus de la structure.

Image(s) jointe(s)

  • PABLO_008.gif
  • presentation_chassis_1.jpg
  • presentation_chassis_2.jpg



#73857 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 17 septembre 2016 - 11:32 dans Robots roulants, chars à chenilles et autres machines sur roues

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....



#73878 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 17 septembre 2016 - 07:58 dans Robots roulants, chars à chenilles et autres machines sur roues

J'ai échangé par émail avec les concepteurs du BeachBot il y a quelque temps, non au sujet des roues mais au sujet de leur méthode de positionnement très différente de Pablo, mais c'est un autre sujet.

Pour ce qui est des roues, il faut tenir compte du terrain sur lequel on évolue : du sable mouillé et plat. Les essais réalisés à vélo sur ce type de plage montre qu'il poids de 70 kg départi sur 2 roues laisse peu de trace. Les 20 kg de Pablo répartis sur 3 roues en laisse encore moins. Le contraste sera important avec l'outil de traçage qui doit au contraire marquer le terrain. Pablo doit aussi parcourir du chemin sur sol dur, on reste donc pour l'instant sur ce système à base de roues et moteurs de fauteuil électrique. Il y a en projet une autre utilisation de Pablo plus ... agricole. Là il faudra changer les roues, c'est certain !




#73898 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 18 septembre 2016 - 12:49 dans Robots roulants, chars à chenilles et autres machines sur roues

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.

 

 




#73953 Robot bipède pour la Toulouse Robot Race 2016

Posté par Ulysse sur 19 septembre 2016 - 01:49 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

 

... la boussole ... fonctionnait bien jusqu'à ce que je mette le tout dans le robot et là, interférences magnétiques avec les servomoteurs et le robot tout déboussolé

Côté boussole, je recommande le module BNO055 de Bosh qui est insensible aux champs magnétiques générés pas les moteurs, haut-parleurs et transformateur situés à côté. Excellent dans les 3 axes (par contre le module boussole HMC5883L est impossible à intégrer dans un milieu rayonnant) .




#73966 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 19 septembre 2016 - 07:18 dans Robots roulants, chars à chenilles et autres machines sur roues

Merci Guigz65, tout à fait content de partager :thank_you:

 

Pour remonter les informations des capteurs vers Pablo, on utilise un Arduino Micro câblé comme suit :

 

 

 

Sans-titre-1.jpg

 

Le programme pour cet Arduino se présente sous quelques ligne en langage C qui permettent de remonter les compteurs vers un port série virtuel (9600bauds, 8 bits, 1 stop), rien de méchant.

 

 

Pablo converti la moyenne des deux compteurs en distance :

//  on déduit la distance parcourue :
//  10 tours = 1316 counts
//   1 tour  = 131.6 counts
//  diamètre de roue = 12,5" = 31,75 cm
//  circonférence = 31,75 * PI
    double distance = moyenne * ((31.75 * Math.PI) / 131.6);

Pour valider la mesure de distance réalisée par les deux capteurs (un par roue, on calcule la moyenne des deux en ligne droite) c'est simple :  Pablo doit parcourir une ligne droite sur une distance de 8 mètres, sur une surface bien plane. Pendant ce temps les capteurs remontent la distance parcourue. Une fois la ligne d'arrivée franchie, on compare la distance parcourue et la distance mesurée.

 

Distance parcourue : 8 mètres
Distance mesurée : 8.03 mètres. correct.

 

Une vidéo de la mesure :




#74014 Lego - EV3 - Un petit char articulé

Posté par Ulysse sur 20 septembre 2016 - 05:05 dans Lego

PVC power : L'outil de traçage de Pablo est aussi un tube PVC (gris) de 10 cm de diamètre sur 50 cm de longueur, en cours de réalisation. A découvrir bientôt ...




#74022 Le PVC, c'est fantastique !

Posté par Ulysse sur 20 septembre 2016 - 07:48 dans Travail manuel

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



#74026 Le PVC, c'est fantastique !

Posté par Ulysse sur 20 septembre 2016 - 08:03 dans Travail manuel

Plouf :




#74065 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 21 septembre 2016 - 09:33 dans Robots roulants, chars à chenilles et autres machines sur roues

La suite avec la réalisation de la boussole dès que j'aurais réglé mes soucis d'upload d'images :wacko:




#74079 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 22 septembre 2016 - 05:32 dans Robots roulants, chars à chenilles et autres machines sur roues

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.

 

 




#74092 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 22 septembre 2016 - 09:05 dans Robots roulants, chars à chenilles et autres machines sur roues

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.

 

 




#74112 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 23 septembre 2016 - 11:27 dans Robots roulants, chars à chenilles et autres machines sur roues

Un parcours est composé d'une multitude de segments calculés ainsi :

  • pour chaque segment
  1. définition de la prochaine destination (coordonnées GPS)
  2. acquisition de la position actuelle (coordonnées GPS)
  3. calcul de la distance à parcourir et du cap à suivre (de position actuelle à prochaine cible)
  4. suivi du segment en suivant le cap (compas) sur la distance calculée (odomètre)

Oui, si le terrain est accidenté, si les roues patinent (les 2 en même temps) ça va générer des aléas sur le segment en cours uniquement, on ne cumule pas les écarts.

 

navigation2.gif

 

Les mesures du compas ne sont pas enregistrées dans un fichier log.

 

 

 

Le GPS est un modèle disponible chez Drotek  équipé d'une puce Ublox NEO-M8N.  Pour une poignée de dizaine d'Euros.

 

module-gps-ublox-neo-m8n-magnetometre-hmc5983-xxl.jpg

 

Lors d'un tracé, Pablo va parcourir des distances de plusieurs kilomètres. Pour cette application on peut se passer de la précision centimétrique offerte par le système RTK (un récepteur fixe -la base - et un récepteur embarqué - le robot). Et les plages ciblées (!) sont très bien dégagées pour recevoir les signaux venus de si loin !

 

Et pour tout dire, Pablo ne pourrait pas concourir dans la catégorie des robots autonomes navigants s'il faisait appel à un système extérieur ( une base fixe ).

 

A ce sujet on va faire des mesures ...




#74213 BigMobBob -> Nouvelle version !

Posté par Ulysse sur 25 septembre 2016 - 10:02 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Bon courage à toi !



#74226 Robot bipède pour la Toulouse Robot Race 2016

Posté par Ulysse sur 25 septembre 2016 - 02:24 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

L'essayer c'est l'adopter ! ☺



#74230 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 25 septembre 2016 - 04:05 dans Robots roulants, chars à chenilles et autres machines sur roues

Concourir n'est pas le premier but mais en fin de compte pourquoi pas. Il ne faudrait pas fermer les portes à Pablo pour de nouvelles activités, ça serait dommage ;) .

 

Côté GPS ( on devrait dire GNSS ) voici les capacités de Pablo à se repérer avec sa puce NEO M8N.

 

Une fois connecté par son câble USB, on peut recevoir les trames NMEA via un port série virtuel (un de plus).

 

$GNRMC,144447.00,A,4826.xxxxx,N,00204.xxxxx,W,0.008,,250916,,,D*7C
$GNVTG,,T,,M,0.008,N,0.014,K,D*35
$GNGGA,144447.00,4826.xxxxx,N,00204.xxxxx,W,2,12,0.65,136.3,M,48.1,M,,0000*5D
$GNGSA,A,3,11,01,22,03,14,08,17,32,23,28,19,,1.07,0.65,0.85*1F
$GNGSA,A,3,65,67,88,66,81,73,82,,,,,,1.07,0.65,0.85*11
$GPGSV,4,1,13,01,75,086,51,03,69,241,49,08,17,164,31,11,58,136,47*74
$GPGSV,4,2,13,14,38,063,44,17,35,309,46,19,15,318,35,22,88,107,49*75
$GPGSV,4,3,13,23,18,181,34,28,20,259,38,31,03,092,28,32,17,040,38*7E
$GPGSV,4,4,13,33,33,198,39*41
$GLGSV,2,1,08,65,41,041,45,66,77,214,49,67,22,218,36,73,08,345,30*64
$GLGSV,2,2,08,74,06,032,24,81,86,304,47,82,32,321,44,88,36,143,35*62
$GNGLL,4826.xxxxx,N,00204.xxxxx,W,144447.00,A,D*64

 

Sans décrire toutes les trames qui sont très bien expliquées sur des sites spécialisés, on reconnait celle qui nous intéresse pour se repérer : la trame $GNGCA.

 

Grâce à GMAP.NET on peut visualiser l'emplacement sur une carte, bing map,  google map, openstreet map ...

 // Initialize map:
    gmap.MapProvider = GMap.NET.MapProviders.BingSatelliteMapProvider.Instance;

gps_vue_bing.jpg

 

Il est possible d'en savoir plus sur la position des satellites et les afficher. Ça n'apporte rien de plus à la localisation mais ça reste un bon exercice :

 

Les postions des 13 satellites GPS (américains) en vue :

 

$GPGSV,4,1,13,01,75,086,51,03,69,241,49,08,17,164,31,11,58,136,47*74
$GPGSV,4,2,13,14,38,063,44,17,35,309,46,19,15,318,35,22,88,107,49*75
$GPGSV,4,3,13,23,18,181,34,28,20,259,38,31,03,092,28,32,17,040,38*7E
$GPGSV,4,4,13,33,33,198,39*41

 

Les positions des 8 satellites GLONASS (russes)  en vue :

$GLGSV,2,1,08,65,41,041,45,66,77,214,49,67,22,218,36,73,08,345,30*64
$GLGSV,2,2,08,74,06,032,24,81,86,304,47,82,32,321,44,88,36,143,35*62

 

Avec quelques lignes de programme supplémentaires, on peut afficher l'ensemble des 21 satellites en vue ( numéro, élévation, azimut, SNR )

 

005.jpg

 

Les même informations, dans une carte du ciel :

 

006jpg.jpg

 

On va donc maintenant pouvoir indiquer à Pablo une série de coordonnées à suivre.. dès qu'il aura retrouvé une batterie !

 

 

 

 

 

 




#74267 Quel transistor et quel resistance pour mon schèma ?

Posté par Ulysse sur 26 septembre 2016 - 09:33 dans Electronique

ou bien un comparateur qui basculera une sortie dès qu'un signal signal de faible amplitude est présent en entrée.

Comme par exemple ( testé et utilisé) :

input.jpg




#74464 Robot bipède pour la Toulouse Robot Race 2016

Posté par Ulysse sur 01 octobre 2016 - 10:45 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Magnifique avec son bandeau de pirate ! Je dirais même plus : excellent  :D




#74466 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 01 octobre 2016 - 11:16 dans Robots roulants, chars à chenilles et autres machines sur roues

En attendant les soldes d'hivers pour une nouvelle batterie, ne pensez pas que Pablo roupille. :no:

Il est en plein progrès côté logiciel sur la préparation de la mission. Une bonne préparation c'est déjà la moitié du travail.

En parallèle je travaille aussi côté hardware sur l'outil de tracé sur le sable. C'est un tuyau PVC (10 cm de diamètre, 50 cm de longueur) qui est tracté et relevé / abaissé à l'arrière de Pablo  (ça me fait penser qu'il faudrait faire un joli dessin). Le tuyau doit être équipé de quelque chose pour bien marquer le sable (plat et humide). Des griffes, des ergots ...

Avez-vous une idée de ce qui pourrait être fait ? Ou une autre méthode ? Tout en gardant à l'esprit que Pablo n'as pas l' adhérence nécessaire pour tracter une charrue même si l'idée est terriblement séduisante comme on peut le constater ici !

En attendant je fais un proto ...




#74470 [Abandonné] Mk V, Le Grand Petit Frère - Char en acier

Posté par Ulysse sur 01 octobre 2016 - 04:07 dans Robots roulants, chars à chenilles et autres machines sur roues

Rogntudju c'est du sérieux ! C'est pour Mad Max 5 ?

Chapeau pour cette belle base, ça donne envie d'en voir plus..




#74523 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 02 octobre 2016 - 11:55 dans Robots roulants, chars à chenilles et autres machines sur roues

Une herse, oui ça peu très bien fonctionner, je garde l'idée sous le coude. Tant qu'elle ne se plante pas dans le sable et retienne Pablo à la manière d'une ancre de bateau :-)  On va creuser le sable ... heu l'idée.

Et bonne nouvelle, Pablo a récupéré une batterie de voiture (occasion) depuis ce matin donc les essais sur le terrain vont pouvoir reprendre !




#74551 Pablo odysseus, robot artist Land Art

Posté par Ulysse sur 02 octobre 2016 - 08:04 dans Robots roulants, chars à chenilles et autres machines sur roues

Oui, bonne idée. Avec peut-être un jeu de roulettes. Ou bien quelques maillons de chaîne qui traînent sur le sable...




#74639 Présentation de Oracid

Posté par Ulysse sur 04 octobre 2016 - 10:26 dans Et si vous vous présentiez?

Hello,j'aimerai bien un petit lien vers ta chaine, j'avoue mon incompétence à trouver ...




#74651 Présentation de Oracid

Posté par Ulysse sur 04 octobre 2016 - 03:14 dans Et si vous vous présentiez?

Et un de plus ! Ben oui bien sûr .  :yes: