Aller au contenu


Photo
- - - - -

Vision, reconnaissance spatiale, déplacement.


  • Veuillez vous connecter pour répondre
9 réponses à ce sujet

#1 Renaud974

Renaud974

    Nouveau membre

  • Membres
  • 4 messages

Posté 11 juin 2010 - 12:46

Bonjour,

[Lorsqu'il y a un lien youtube, il y a des multitudes d'autres vidéos traitant du même thème à droite dans la liste, je les met pas toutes, j'éspère que vous avez l'esprit aventurier de l'information]

Dans l'ordre, voici ce dont a besoin un robot pour pouvoir effectuer des actions dans notre monde physique.

1) Reconnaitre son environnement direct et le cartographier (2D/3D).
2) Pouvoir Se déplacer en fonction de la forme de son corps de manière à ne heurter personne/rien.
3) Reconnaître des commandes humaines pour pouvoir effectuer des actions ou des suites d'actions.

Une action est physique (il y a aussi des actions qui ne nécessiteront pas de mouvement, par exemple échange d'informations homme-machine), elle nécessite un mouvement de la part du robot. Ce mouvement peut impliquer le robot et d'autres objets notamment dans le cas de la saisie/manipulation d'objets.

Jouer des animations pré-enregistrées pour faire se déplacer un robot n'est pas une solution envisageable. Une séquence de mouvement est applicable seulement dans des conditions bien définies. Prenez les divers robots bipèdes sur le marché, sauraient-ils se déplacer sur un lit, dans une pente ou autre obstacle imprévu ? Non, ils se mettraient en déséquilibre au premier mouvement et c'est là que vous commencerez à regretter d'avoir investi dans une telle merde.

Dans un premier temps le robot doit être capable de se fabriquer une image mentale de la situation, un peu comme quand on se lève la nuit pour aller aux toilettes, on veut réveiller personne donc on marche dans le noir mais on se ramasse pas car on sait que la table basse est juste devant, à force de s'être explosé les tibias dessus à maintes reprises. Aussi on se souvient qu'il y a la balle de golf qui traine juste à droite donc on va essayer de ne pas marcher dessus au risque de se briser la nuque dans la chute.

A force d'observation on s'est forgé une sorte d'image mentale des pièces de la maison et on peut facilement se balader les yeux fermés. Mais parfois, on pense que l'encadrement de la porte est tout droit alors qu'il est à 20cm sur la gauche, je vous raconte pas la douleur.


Donnons leur des yeux pour voir dans quel environnement ils se trouvent.

http://www.photomodeler.com/about_us/presskit.htm

Pourquoi pas un faisceau laser vertical qui balaye de gauche à droite et grâce à une camera usb et la trigonométrie on récupère les coordonnées 3D de la surface annalysée ?



Pourquoi pas des caméras stéréoscopiques, à partir desquelles on recalculerai la forme 3D
http://sourceforge.net/projects/reconststereo/

http://www.massal.net/article/stereovision.pdf
http://www.umiacs.umd.edu/~knkim/KG_VISA/3Dstereo/Stereo.pdf

http://da.vidr.cc/projects/pixelstruct/

Pour reconnaître un humain, sa pose dans l'espace (1 cam, plusieurs cam)

http://www.youtube.com/watch?v=qCz68ukbZ7k
http://www.youtube.com/watch?v=tzX0Ke2BlGA&feature=related


Ok, admettons qu'on trouve le moyen de reconstruire en 3D l'environnement direct du robot.

Pour se déplacer d'un endroit à un autre il aura besoin de se frayer un chemin, de déterminer là où il va poser ses pieds pour se ballader (foot step planning à la asimo)

http://www.youtube.com/watch?v=0dv0wJDwtuw

Pour une scene en 3D il est possible de générer un navmesh (très connu dans le monde des jeux vidéos) à partir des polygones.

Recast navigation, librarie de génération de navmesh à partir du modèle 3D de la scène.
http://www.youtube.com/watch?v=WzFJMvE0L60

Pour retrouver son chemin : Algorithmes Astar/Djisktra parcours de graphes (wikipedia)


Pour se déplacer, le robot a besoin de maintenir son équilibre.

Pourquoi pas un réseau de neuronnes pour stabiliser le corps au fil du temps ?
http://www.badmintology.org/Badmintology/Optimisation/Proposal.php
http://www.isi.imi.i.u-tokyo.ac.jp/ ==> Traduire avec google Traduction
http://www.naturalmotion.com/euphoria.htm
Celui-ci me fait peur : http://www.youtube.com/watch?v=SSkG5xf_ytQ
Son petit frère le crapaud : http://www.youtube.com/watch?v=Cgo7RZZqrXM

Les réseaux de neurones sont très puissants, ils trouvent la solution à votre problème, mais nécessitent un long processus d'apprentissage et beaucoup de puissance de calcul pour un travail sur de grandes populations d'individus. Couplés à un algorithme génétique, on peut sélectionner les meilleurs comportements pour une action précise de génération en génération. Mais dans certains cas il vaut mieux utiliser les maths pures et dures (saisie d'objets par un bras mécanique [Manipulations planning/Grasp planning]).

Je n'ai rien trouvé de concret sur la stabilisation dynamique du corps, hormis les réseaux de neurones. Cependant je me pose toujours la question "est ce qu'un réseau de neurones peut gérer plusieurs types d'action différentes.". Je ne pense pas qu'un réseau compétent pour stabiliser le corps puisse servir à initier une marche bipède ou un saut ou quoique ce soit d'autre. Il en faut un différent. Quelqu'un d'autre a déjà réfléchi sur le sujet ?

Les liens intéressants sont la bienvenue, évitez de mentionner un souvenir lointain dont vous n'avez aucun lien/vidéo/image car ça aide pas.

J'ose même pas imaginer les calculs nécessaires pour stabiliser le corps en fonction du poids et de la position de chaque membre, donc les solutions mathématiques brutes ne seront même pas abordées ici.


Bref tout comme les animations, pour les réseaux de neurones, le mouvement généré est assez restreint dans son champs d'action, ajoutez quelques obstacles et tout ce qui était correct ne le sera plus et le robot devra subir un long ré-apprentissage.


C'est quand même dingue de voir qu'on arrive à bouger notre corps exactement comme on veut et quand on veut et quelque soit la situation, les obstacles présents. Et aujourd'hui des scientifiques sont en train de se battre pour que leurs petits jouets se tiennent debout correctement sur du terrain plat.

Le meilleur que j'ai trouvé c'est ça : http://www.youtube.com/watch?v=W1czBcnX1Ww
"Big dog" et "little dog" de chez Boston dynamics, maintien de l'équilibre déplacement, correction du déséquilibre, bref à quatre pattes, leur robot tient la route, mais nous on veut et on exige du bipède, on veut de l'humanoïde !


Donc nous allons admettre pour le moment, faute d'avancées technologiques que notre robot sait se tenir debout, et qu'il sait se déplacer sans se fracasser sur le sol.



Maintenant il a besoin d'interagir avec des objets, sinon il ne nous servirait strictement à rien.

Je suis heureux d'avoir trouvé des systèmes qui fonctionnent sur ce sujet

Manipulation d'objets avec les mains Manipulations planning/Grasp planning (Dans ces exemples, les mains peuvent n'avoir que 2,3 ou 5 doigts):
Celui ci déchire ===> http://www.youtube.com/watch?v=-KxjVlaLBmk
http://www.youtube.com/watch?v=FI8fooOT1nI
http://www.youtube.com/watch?v=jz4k73zAiOc
http://www.youtube.com/watch?v=FI8fooOT1nI

Lib gratos sur le sujet : http://openrave.programmingvision.com/index.php/Main_Page

N'oubliez pas qu'il y en a des milliers d'autres et que je ne les ai pas toutes explorées, mais sachez que ça existe et ne réinventez pas la roue, elle existe déjà, demandez-leur les plans et partagez avec le peuple !


Ok, maintenant notre robot sait voir et reconnaitre le monde, et les personnes qui le peuplent, se déplacer en fonction des obstacles et de la position des gens qui sont présent histoire de pas leur rentrer dedans ou leur arracher un membre au passage. Le robot sais reconnaître des objets et sais les saisir de manière à ce qu'ils se fracassent pas sur le sol, les déposer, les apporter à quelqu'un dans une autre pièce, les ranger aussi (beaucoup de personnes bordéliques comme moi apprécieront ce détail).

Imaginez (oui c bien des fois de rêver un peu c gratuit et ça détend), vous venez de ranger votre bordel et vous faîtes mémoriser au robot la position/orientation de chaque objet dans la pièce/maison et quand vous aurez mis le bordel complet (généralement ça prend 1 jour ou 2) vous aurez qu'à lui dire de tout ranger, oui Mesdames et Messieurs, c'est la fin, passez le relais, les robots sont là pour ça.

[annonce]
J'ai le plaisir de vous annoncer le RoRDeBo (Robot-Rangeur-De-Bordel) v1.0.0.1 béta, disponible en centre commercial, dépéchez vous, un bon d'achat de 100€ pour les 1000 premiers acheteurs sur les prochaines mise à jour logicielles
[/annonce]

Oui on exagère à fond mais techniquement aujourd'hui en 2010 c'est possible si vous avez le bras long et le porte monnaie bien rempli.
Mais je veux pas avoir à payer 5 000 € pour un tas de ferrailles automatisé donc ça doit être open source, gratos, on doit ne payer que l'amas de ferrailles et de composants électroniques.


Obéir au doigt et à l'...surtout au doigt ==> http://www.youtube.com/watch?v=9_cm2itidzU&feature=related




Les principales fonctionnalités du robot ont été abordées, maintenant on va le construire.

Procédure de production du robot :

- conception d'un modèle/squelette bio-mécanique
- usinage des pièces par CNC
- assemblage du squelette
- ajout des muscles
- ajout des senseurs
- paramétrage des applications logicielles sur l'os embarqué.
- Touche finale esthétique


Pour le modèle biomécanique, y'a qu'à regarder Terminator, faire des screenshot et modéliser sous blender/autoCad,3Dsmax ce qu'il vous plait comme logiciel.

Usinage des pièces si vous avez le matos, sinon doit y avoir des sociétés spécialisées pas trop loin de chez vous.
http://buildyourcnc.com/default.aspx

Pour le mouvement :
servo-moteurs/actuateurs air_comprimé/Electro-active polymeres/
EAP http://www.youtube.com/watch?v=kqEf-HaK8zg
Air comprimé :
- http://www.youtube.com/watch?v=St9fjxKYR5g&feature=related
- ShadowRobot company ==> http://www.youtube.com/watch?v=3ju4upwhdvM

Pour les senseurs :

- tactile array sensor (Pourquoi pas mapper plusieurs zones sensibles sur toute la surface du corps ?)
http://www.youtube.com/watch?v=2t_FrxwYNZE
- micros pour localisation d'un son.
- capteurs thermiques (dans les cameras) pour reconnaissance d'êtres vivants, couplage avec la caméra, on est jamais trop prudent.


Voilà pour la férraille, maintenant abordons la partie esthétisme très négligée dans le domaine de la robotique (ya qu'à voir la tête d'asimo).

Question de la plus haute importance : Comment arrive-t-on à ça ==> http://www.youtube.com/watch?v=biBHJvGx3s8&feature=related ?????!!
ou ça ===> http://www.youtube.com/watch?v=WbFFs4DHWys&feature=fvw

Actroid, fembot, sexbot, appelez les (j'ai hésité à mettre le mot 'ça') comme vous voulez, ce sont les plus réalistes sur le marché pour le moment.

De quoi ils sont faits ? Ne cherchez plus bande de petits pervers ==> De Silicone.

Mot clé de la mort : "Body Casting" (allez y ne vous privez pas, Google est votre ami)

Exemple de body cast (parmis les millions de résultats dispo sur youtube) :
- http://www.youtube.com/watch?v=GIN_4NLw1QU

Après avoir perdu votre âme à looker toutes ces vidéos de femmes nues, nous pouvons passer à la suite.

Il y a des tutos partout pour la confections de moulages en silicone

Un site qui vend le matos nécéssaire et qui montre comment l'utiliser : http://www.espritcomposite.com/images/empreinteEC00.htm

video en FR : http://www.youtube.com/watch?v=MrDAzKoLhm4&feature=related

Teinte de la peau customizeable.

Regardez ça, qualité professionnelle utilisée dans les effets spéciaux au Cinéma : http://www.youtube.com/watch?v=GYiFf7jGAwI
Un vrai travail d'artiste.


OK, je me suis farci des semaines de recherche sur Google et youtube principalement, j'ai pas tout répertorié dans mes favoris, des fois j'oublie. Mais l'essentiel est là.
Si j'avais 1 million j'acheterai un grand batiment, que je diviserai en plusieurs sections de recherche sur les différents domaines cités plus haut. J'embaucherait des jeunes diplomés et je les ferai bosser ensemble sur le big projet.
Si j'avais 10 000, j'irai en chine, et je ferai la même chose XD ou en inde je crois que c'est moins cher.

Mais j'ai 0 € et c'est surement des sociétés comme Micro$oft qui vont réaliser ce genre de projets et vous allez débourser tout ce que vous avez pour en acheter un quand ça va sortir. Vous allez payer le prix des logiciels propriétaires, mais ça va durer quelques temps, quand les armées de développeur open source vont se pencher la dessus on aura des produits de qualité supérieur, à moindre coup, on ne paiera que le hardware.


Merci à tous ceux qui travaillent gatuitement et qui partagent avec le monde

à vous de jouer...

#2 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE

Posté 11 juin 2010 - 12:58

Salut.
Moi je préfère le 2D pour la vision ;)
c'est plus simple à gérer pour le robot et pas besoin de plus.

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)


#3 Renaud974

Renaud974

    Nouveau membre

  • Membres
  • 4 messages

Posté 11 juin 2010 - 01:25

Salut.
Moi je préfère le 2D pour la vision ;)
c'est plus simple à gérer pour le robot et pas besoin de plus.


Par exemple ça :

ou encore ça

Objectif n°1 : reconstruction 3D de ce que la camera capture.

#4 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 11 juin 2010 - 06:12

Merci Renaud pour cette synthèse, c'est intéressant. Ca permet de voir où on en est de la vision, ce qu'on est capable de faire aujourd'hui.

Par contre, je n'ai pas compris la remarque d'Electron. Ca veut dire quoi 'préférer la 2D pour la vision'?

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#5 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE

Posté 11 juin 2010 - 06:45

Je ne sais pas dire mieux que 3 dimensions et deux dimensions ;)
Puisque tout le monde sait ce que sont ces dimensions dont je parle.

tiens j'ai extrait ça d'un site médical :

Bonjour,
L'ophtalmo d'Emie m'a dit qu'elle ne verrait jamais en 3D.
J'ai énormément de mal à imaginer sa vision.
J'imagine que l'on a des difficultés a évaluer les distances,les reliefs, mais quand j'observe Emie, elle n'a vraiment aucunes difficultés dans l'espace. Je sais elle s'est totalement adaptée. A l'écran on voit en 2D, mais comment évoluer dans cet espace ? C'est très frustrant de ne pas pouvoir savoir exactement ce qu'elle voit et par quel moyen elle s'est adaptée.


Je t'ai trouvé un lien qui explique en détail une façon de voir en 2D pour un robot :
http://documents.irevues.inist.fr/bitstream/handle/2042/10422/AR10_8.pdf?sequence=1

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)


#6 Réplicarter

Réplicarter

    Membre

  • Membres
  • 25 messages
  • Gender:Male
  • Location:Nord de la France

Posté 13 juin 2010 - 01:45

HS mais, le lien pour faire sa machine CNC est vraiment intéressant :)
Carpe Diem

#7 Renaud974

Renaud974

    Nouveau membre

  • Membres
  • 4 messages

Posté 30 juin 2010 - 03:18

Un formidable lien que je viens de trouver.

L'étude la plus intéréssante sur la génération de mouvements :
Robust Physics-Based Locomotion Using Low-Dimensional Planning

#8 Dr.Calvin

Dr.Calvin

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Female

Posté 04 juillet 2010 - 07:01

super boulot, merci beaucoup de nous le faire partager !!

par contre, ton lien formidable n'est pas activé... :( (frustrée -_-)

#9 BET@.M@X

BET@.M@X

    Troll Archiviste

  • Membres
  • PipPip
  • 297 messages
  • Gender:Male
  • Location:FRANCE

Posté 04 juillet 2010 - 07:29

super boulot, merci beaucoup de nous le faire partager !!

par contre, ton lien formidable n'est pas activé... :( (frustrée -_- )


C'est ici que ça se passe Calvin (Google est ton ami aussi :rolleyes: ) :



Robust Physics-Based Locomotion Using Low-Dimensional Planning


"L'intelligence artificielle servira de prothèse à la bêtise humaine !!"
"l'être humain est une machine irrationnelle occasionnellement logique ..."


#10 Dr.Calvin

Dr.Calvin

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Female

Posté 04 juillet 2010 - 08:18

C'est ici que ça se passe Calvin

Merci Caïus M@xus :P , notre membre haut en couleur "ad vitam aeternam" ;)




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

0 members, 0 guests, 0 anonymous users