Aller au contenu


Photo
* * * * * 1 note(s)

Dovlo : Robot autonome d'intérieur

Euclid ROS Makeblock Raspberry

22 réponses à ce sujet

#1 Bobox

Bobox

    Habitué

  • Membres
  • PipPip
  • 157 messages
  • Gender:Male
  • Location:Montigny le Bretonneux

Posté 25 juin 2017 - 04:54

Voilà mon nouveau projet éducatif, pour m'éduquer moi, surtout :

 

DSC02460.JPG  DSC02462.JPG

 

 

Le robot se compose :

  • D'un kit de développement Intel Euclid :
    C'est un kit tout en un, incluant un module realsense ( perception de profondeur, comme la kinect), deux caméra, un mini-PC, une batterie, et de multiple capteurs, dont un gyroscope/accéléromètre
     
  • Une carte Makeblock MegaPi
    Elle est compatible Arduino Mega, et inclu entre autres des driveurs moteurs.
     
  • Une raspberry PI 3
     
  • De la mécanique Makeblock
     
  • Les moteurs du magasin robot-maker (lien).
    J'ai cassé un des moteurs du kit , mais ceux du magasin sont compatibles juste en créant un connecteur pour remappé les fils correctement.

 

Mes objectifs principaux avec ce robot sont d'apprendre et mettre en oeuvre toutes les techniques de mapping et localisation, type SLAM, et de mettre en oeuvre des algorithmes videos, type reconnaissance d'objet, de personne.

C'est aussi l'occasion de continuer à me plonger dans l'univers ROS, l'Euclid étant fournis avec de nombreux 'noeux' ROS pour les différents éléments. 

 

Le robot lui-même risque de se transformer en robot 'joueur', par exemple je vais essayer de me faire ramener une balle que j'ai lancer. (il me manque quelques actionneurs bien sur).

 

Voilà une première démonstration, elle utilise une partie des noeuds ROS fournis avec l'Euclid pour faire de la détection d'obstacle avec le capteur de profondeur, ainsi que leur algorithme d'évitement. Seul les noeuds ROS pour actionner les moteurs sont codé maison, en utilisant rosserial pour accéder a l'Arduino.

 

 

Toutes les sources du projet :  https://github.com/Bobox214/Dovlo



#2 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 25 juin 2017 - 05:30

héhé !! Le voilà le fameux Dovlo dont tu me parlais :)

Merci du partage.

Tu as moyen de montrer ce que voit le robot ? Si c'est possible. Je suis curieux.



#3 Ulysse

Ulysse

    Membre passionné

  • Membres
  • PipPipPip
  • 486 messages
  • Gender:Not Telling

Posté 25 juin 2017 - 06:32

Moi aussi veux voir ! :yes:



#4 nvaste

nvaste

    Habitué

  • Membres
  • PipPip
  • 265 messages
  • Gender:Male
  • Location:Lyon, France

Posté 25 juin 2017 - 07:30

Salut :)

Est-ce que le robot vois comme avec une caméra raspberry ?

Si oui, tu as utilisé un logiciel afin de différentier les formes et en conséquence envoyer un code ou un autre en fonction ?


01110.01001.00011.01111.01100.00001.10011

#5 Bobox

Bobox

    Habitué

  • Membres
  • PipPip
  • 157 messages
  • Gender:Male
  • Location:Montigny le Bretonneux

Posté 25 juin 2017 - 08:42

Voici une petite video montrant ce que peut voir le robot :

 

 

  • En haut à gauche, c'est la caméra RBG.
  • En bas à gauche, c'est la caméra fisheye
  • En haut à droite, c'est le rendu, sous forme d'image, du capteur de profondeur
  • En bas à droite, c'est la visualisation dans ROS, de la sortie du capteur de profondeur, c'est un nuage de point en 3D, chaque point correspondant à un 'obstacle', bien évidemment avec du bruit et des zones 'mortes'.

 

En pratique pour l'évitement d'obstacle,  il n'utilise que la vue 'nuage de point' en bas a droite, pour définir la position des points les plus proches  et choisir une 'meilleur' direction pour tourner ( ou rester droit s'il n'y a pas d'obstacles).



#6 nvaste

nvaste

    Habitué

  • Membres
  • PipPip
  • 265 messages
  • Gender:Male
  • Location:Lyon, France

Posté 25 juin 2017 - 10:20

Ah d'accord je comprend mieux :)

Mais autant utiliser des capteurs de base pour éviter les obstacles plutôt que des caméras :)


01110.01001.00011.01111.01100.00001.10011

#7 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 959 messages
  • Gender:Male
  • Location:Anglet

Posté 25 juin 2017 - 10:45

Où à tu eu la carte de dev intel euclide ? à quel prix ? Quels sont les perf ?  ( angle et distance de détection du capteur ? )


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#8 zavatha

zavatha

    Habitué

  • Membres
  • PipPip
  • 233 messages
  • Gender:Male

Posté 26 juin 2017 - 09:57

Ah d'accord je comprend mieux :)
Mais autant utiliser des capteurs de base pour éviter les obstacles plutôt que des caméras :)


Effectivement juste pour éviter des obstacles c'est luxueux. ... mais pour de l'odométrie / cartographie ça a l'air trop cool ce système. .. je ne savait pas que ça existait en embarqué. ..
Ça consomme beaucoup ? (Il y a deuX caméras quand meme)
Ça coûte un bras ?

@+
Zav

#9 Bobox

Bobox

    Habitué

  • Membres
  • PipPip
  • 157 messages
  • Gender:Male
  • Location:Montigny le Bretonneux

Posté 26 juin 2017 - 07:32

Oui ça coûte un bras.

Ce n'est pas vraiment destiné aux amateurs, mais plutôt aux université et aux industriels.

 

Voici une description plus détaillée (en anglais) de la bête:

https://click.intel....opment-kit.html

Je l'ai directement acheté a intel, ce qui fait avec frais de port et frais de douane plus de 450E.

 

La profondeur de détection est donnée pour un range de 50cm à 3m, avec des angles de 60° horizontal et vertical

La caméra RGB est HD, avec des angles de 70° en horizontal et 40° en vertical

La caméra fisheye est juste en VGA, avec des angles de 133° en horizontal et 100° en vertical.

 

Les caméra et la détection de profondeur semble plutôt bien fonctionner en exterieur aussi, ce qui rend le GPS intégré un peu plus utile :)

 

Pour la consommation, elle est donnée à 5W en nominal ( pas sur de ce que ca veut dire), mais je pense que c'est très lié à l'utilisation de l'Atom.

Le kit contient un micro-ventilateur intégré, et lorsque les scenartio d'analyse d'image sont en routes, on l'entend tourner régulièrement.



#10 zavatha

zavatha

    Habitué

  • Membres
  • PipPip
  • 233 messages
  • Gender:Male

Posté 26 juin 2017 - 08:38

5W la vache !!!
Bob Ok je ne me rend pas compte de ce que ça donne concrètement 😆

Par contre les spécifications laissent rêveur...

Pour le prix clairement je passe mon chemin....

Par contre j'ai hâte de voir ce que tu vas nous monter avec ce matos!

@+
Zav

#11 Ulysse

Ulysse

    Membre passionné

  • Membres
  • PipPipPip
  • 486 messages
  • Gender:Not Telling

Posté 27 juin 2017 - 10:11

Petit mais trèèèès costaud !

Du coup c'est qui le cerveau de la bande, Euclid + ROS ou bien raspberry PI 3 ? 

Comment sont répartis les rôle et comment communiquent-ils ?  je ne vois pas de connexion matérielle entre eux.



#12 Bobox

Bobox

    Habitué

  • Membres
  • PipPip
  • 157 messages
  • Gender:Male
  • Location:Montigny le Bretonneux

Posté 27 juin 2017 - 04:42

L'Euclid et le Raspberry PI ont tous les deux ROS qui tourne.

ROS supporte nativement des noeuds repartis sur plusieurs ressources.

 

Ils communiquent entre eux via l'intermediaire de mon WIFI perso. L'Euclid peut faire hotspot wifi ( peut-etre le raspberry pi aussi), donc j'aurais une config disponible pour faire fonctionner hors de chez moi.

 

 

 

Sur l'euclid tourne tous les noeuds bas niveau des cameras : analyse des images, du nuage de point.

Sur le raspberryPI tourne les noeuds de control des moteurs, en liaison serie avec l'arduino.

 

Les noeuds de plus haut niveau, comme celui qui convertit la distance aux obstables en un objectif de deplacement, tourne sur l'euclid, mais pourrait etre sur le raspberry en fonction de l'occupation des deux systemes.

 

En bonus mon laptop perso tourne aussi ROS et est connecte a l'ensemble pour faire le debug et la visualisation.

Sur la video avec les differentes vue camera, la vue nuage de point tourne sur mon laptop et est un peu en retard par rapport aux vue camera, qui sont plus direct.



#13 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 27 juin 2017 - 05:39

Je le permets d'ajouter que le raspberry fait aussi point d'accès wifi.

#14 Ulysse

Ulysse

    Membre passionné

  • Membres
  • PipPipPip
  • 486 messages
  • Gender:Not Telling

Posté 27 juin 2017 - 07:49

Bien joué. Merci pour ces précisions

#15 Bobox

Bobox

    Habitué

  • Membres
  • PipPip
  • 157 messages
  • Gender:Male
  • Location:Montigny le Bretonneux

Posté 11 juillet 2017 - 09:00

 

 

Ca ressemble beaucoup à la vidéo précédente, mais maintenant c'est mon propre code qui analyse le nuage de point du capteur de profondeur et choisit la direction à aller. Dans la première vidéo j'utilisais le firmware fournit par Intel (sans source :)).

 

Dans la visualisation Rviz on voit :

  • En haut à gauche, le widget perso (plugin rViz) pour activer/desactiver les moteurs sur l'arduino. Ca passe part un appel de service ROS.
  • En blanc, le nuage de point filtré, c'est à dire après l'avoir 'Voxelisé' ( ou 'pixelisé') et nettoyé des artefacts.
  • Les points rouge sont les analyses de distance à gauche, en face et à droite du robot. Basé sur le nuage de point filtré.
  • Le point violet est l'objectif de déplacement, qui sera ensuite transformé en commande moteur par le noeud de commande sur l'arduino.


#16 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 11 juillet 2017 - 09:26

Ça m'impressionne tes résultats !!
Tes points rougent me font penser à l'algo de ServeurPerso tangent bug.

#17 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 959 messages
  • Gender:Male
  • Location:Anglet

Posté 11 juillet 2017 - 10:30

J'ai déjà essayé par deux fois de me mettre sur ROS, sans réussir à m'y mettre pour de bon , ( en gros arrêt après l'installation de l'ensemble qui prends pas mal de temps, que j'avais installé sur une machine virtuel pour ensuite me taper des problème de compatibilité de périphériques lié à l'utilisation de la machine virtuelle ... )  Mais voir tes résultat ça donne envie de re-essayer ! =)  
bientôt peut être !  En tout cas bonne continuation !  ( Si tu peux faire des tuto en plus avec ce que tu fais ça serait  juste top ! :P Je ne connais pas beaucoup de tutoriel sur ROS en français =) Ni de bouquin d'ailleurs ... =)  Pour ma part j'hésitais à me prendre ce bouquin ( en anglais bien entendu ^^ ) si je me relançais dans l'aventure =) )


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#18 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 11 juillet 2017 - 10:37

Sympa !

 

Tu utilises calcules comment chaque point ? Minimum des distances sur x ? Distance moyenne ?

Tu te sers de ros_control (j'ai commencé à regarder et ça a l'air bien cool) ?

Et ros_serial pour faire tourner un noeud sur l'arduino ?

Bien sympa en tout cas !

 

Mike : pour ROS, je déconseille franchement les bouquins, les ressources en anglais sont suffisantes pour acquérir les bases sur le site officiel. À la vitesse à laquelle ROS évolue, les bouquins se périment assez vite.


R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#19 Bobox

Bobox

    Habitué

  • Membres
  • PipPip
  • 157 messages
  • Gender:Male
  • Location:Montigny le Bretonneux

Posté 12 juillet 2017 - 09:33

Ça m'impressionne tes résultats !!
Tes points rougent me font penser à l'algo de ServeurPerso tangent bug.

 

Je ne me comparerai pas a ServeurPerso, cette configuration est beaucoup, beaucoup plus gourmande en CPU processing et en consommation. Impossible a faire tourner sur un PIC, l'efficacite est tres mediocre par rapport a ce qu'il fait.



#20 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 959 messages
  • Gender:Male
  • Location:Anglet

Posté 12 juillet 2017 - 09:40

Chaque chose a ses avantages et inconvénients ... :)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 




Répondre à ce sujet



  



Aussi étiqueté avec au moins un de ces mots-clés : Euclid, ROS, Makeblock, Raspberry

0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users