0Home Page test forums PROGRAMMATION MYROBOTLAB Bras + Kinect

This topic contains 20 replies, has 7 voices, and was last updated by Profile photo of Gael Langevin Gael Langevin 4 months, 3 weeks ago.

  • Author
    Posts
  • #8505
    Profile photo of Dominique
    Dominique
    Participant

    Jarvis qui suit les mouvements de mon bras avec la kinect.

  • #8506
    Profile photo of Arthur Clamp
    Arthur Clamp
    Participant

    Bonsoir,

    Félicitation ! Cela peut fonctionner avec tout le corps d’InMoov ?

    Bonne soirée,
    Arthur,

  • #8507
    Profile photo of Dominique
    Dominique
    Participant

    Merci. Pour le moment MRL ne prend en charge que les bras.

    Mais, OpenNi, le moteur de la kinect, prend en charge tout le corps.

    Faut donc être patient… Mais rien que les bras, c’est déjà impressionnant et très réactif.

  • #8508
    Profile photo of Dominique
    Dominique
    Participant

    Alors, l’idée d’utilisation de la kinect est de pouvoir, à terme, créer les gestures automatiquement. Il suffira de faire un dialogue avec le robot pour pouvoir créer ses propres mouvements.

    Dans le futur, la kinect pourra servir a l’analyse de l’environnement pour éviter les obstacles.

    Vivement la marche…

  • #8509
    Profile photo of lecagnois
    lecagnois
    Participant

    trés beau boulot

  • #8510
    Profile photo of Arthur Clamp
    Arthur Clamp
    Participant

    Bonjour,

    Les possibilités sont effectivement impressionnantes. À terme, InMoov pourrait être parfaitement autonome grâce à la kinect.

    Bonne journée,
    Arthur,

  • #8519
    Profile photo of Gael Langevin
    Gael Langevin
    Keymaster

    @Dominique, tu peux déjà avoir la fonction pour enregistrer les gestuelles en utilisant la commande vocale (capture gesture). Certaines des gestuelles que j’ai créées sont effectivement réalisées de cette manière avec la kinect. La commande (capture gesture), en Français je l’avais traduite par (CAPTURE LES GESTUELLES)via ProgramAB.
    Cette fonction se trouve dans le service InMoov.java.

    Ligne 304 :
    public String captureGesture(String gestureName) {
    StringBuffer script = new StringBuffer();

    https://github.com/MyRobotLab/myrobotlab/blob/develop/src/org/myrobotlab/service/InMoov.java

    Cette fonction va automatiquement generer et compiler les positions de chaques servo moteur en python dans le tab python de MyRobotLab.

  • #8542
    Profile photo of Dominique
    Dominique
    Participant

    Merci Gael, je travail dessus. Cette fonction retourne le string de la fonction gesture créée. Bon, comme tu le sais, je n’utilise pas les services InMoov.

    Je réfléchi donc à soit créé un service plus universel qui reprendra tout ce qu’il faut pour enregistrer des gestures par kinect, soit tout faire en python…

    Je m’excuse encore de ne pas participer au développement des service InMoov, mais comme j’ai déjà dit, ces services figent trop le hardware du robot.

    Personnes ne semblent aussi s’intéresser a Activator, du coup, pour le moment, je n’ai pas encore diffusé la dernière version contenant les événements speech. Bon, je le ferais si on me le demande, bien évidement.

  • #8544
    Profile photo of Gael Langevin
    Gael Langevin
    Keymaster

    Compris.
    Concernant Activator, je trouve le principe super intéressant, d’autant que c’est un élément que nous avions imaginé avec Marten il y a déjà pas mal de temps, sans jamais avoir eu le temps de le mettre en pratique.
    Au début, je me suis dit; super!
    Mais vu qu’il fallait changer d’ampli, supprimer les services InMoov et que même MRL ne te convenais pas, j’avoue avoir perdu l’intérêt.

    En tout cas, je suis vraiment content que tu fasses fonctionner ton robot avec la Kinect et que tu puisses malgré tout profiter de MRL d’une autre manière.
    Et heureusement, car il faut des gens qui regardent le monde d’une autre manière!

  • #8546
    Profile photo of Dominique
    Dominique
    Participant

    Merci Gael.

    Mais attention pour Activator. Tu n’es pas du tout obligé de changer d’ampli, Activator ne le commandera pas tout simplement. Tu peux évidement utiliser les services InMoov, cela posent aucun problème. Bien sur que MRL me convient parfaitement. Ne mélangeons pas tout.

    Activator est conçu, comme MrlComm, a être une extension de MRL. Le service Activator n’existe pas encore mais je pourrais très bien le faire un jour. Pour le moment, l’interface entre les 2 est en python.
    Je te joins le code python pour t’en rendre compte.

  • #8547
    Profile photo of Dominique
    Dominique
    Participant

    Fichier non passé

  • #8548
    Profile photo of My's Moov
    My’s Moov
    Moderator

    Bonjour, Faut impérativement que “Activator” fasse partie de MRL !!! c’est juste génial se truc !! je pige pas pourquoi y’a pas plus engouement avec lui ?

    En tout cas MERCI à Dominique pour se que tu fait et apporte à Inmoov.

  • #8549
    Profile photo of Dominique
    Dominique
    Participant

    Merci Alain.

    Bon décidément, pas évident de faire passé un fichier…

    Attachments:
    You must be logged in to view attached files.
  • #8915
    Profile photo of Dominique
    Dominique
    Participant

    Bon, mon second bras étant terminé, j’ai refais ma vidéo avec les 2 bras avec tout les servo alimenté en 7.2V.

    L’ensemble est très réactif. J’ai utilisé la dernière version de MRL, sans service InMoov et uniquement le service OpenNi.

  • #8919
    Profile photo of Gael Langevin
    Gael Langevin
    Keymaster

    Hello Dominique,
    Super, effectivement en 7.2V c’est un peu plus rapide qu’en 6V.
    J’ai également fait profiter les enfants lors de mon intervention a Makerstown de Bruxelles de la fonction skeleton avec la Kinect. La Kinect 360 fonctionne tres bien sur la tablette Lenovo. J’ai utilisé la version 1.0.2255 de MRL avec la derniere version d’inmoov-develop. Les enfants ont adorés, par contre il faut faire attention car si les bras se croisent cela peut etre catastrophique pour les bras du robot.

    Nota: Parfois le placage du skeleton sur la personne ne se fait pas, il faut parfois meme etre tres patient avant que le corps soit détecté.
    Pour info la version 1.0.2256 a un bug concernant le micro sur Google Chrome. La page “ear” s’affiche blanche.

  • #8938
    Profile photo of laurent
    laurent
    Participant

    Bonjour, Gaël pourrait tu me donner les liens pour que ‘installe 1.0.255 de mrl, et la dernière version inmoov-develop, afin que j’attaque ma première installation sur ma lenovo 32bit svp

  • #8940
    Profile photo of Dominique
    Dominique
    Participant

    Salut Gael,

    Oui comme tu a pu le voir, chez moi aussi le squelette arrive un peu en retard. Avec Lamiak c’était un peu plus rapide mais ce n’est qu’une impression.
    Un autre problème que j’ai eu est un crash de MRL, le programme se quitte tout seul. Evidemment un noworky est impossible à faire. Avant on pouvait voir passer des “pythons exceptions”, mais maintenant c’est la fermeture du programme. Je vais voir avec Grog et lui envoyer le log.

    Autrement Vincent et moi avons décider de passe au stade supérieur en incorporant un core I3 dans InMoov. Nous avons trouvé une carte mini STX de dimension 14.7 x 14 cm. Vincent à déjà reçu ça carte, tu l’a surement déjà vu dans son post.

    Cela va nous permettre de faire des choses beaucoup plus évoluées avec OpenCv. Par exemple je compte faire de la reconnaissance faciale, pas seulement du tracking mais une vrai reconnaissance des personnes avec une interaction homme machine en fonction de la personne reconnu. La encore je dois voir avec Grog ou Kevin car le filtre “FaceReconizer” fait quitter MRL.
    La première fonction que je vais développer est que le robot dise “bonjour” une seule fois à la personne reconnu et avec son prénom ex: “Bonjour Dominique”…

    Bon, les idées fusent, dommage que personnes ne complètent le post sur les “idées d’évolutions”…

    • This reply was modified 4 months, 3 weeks ago by Profile photo of Dominique Dominique.
  • #8944
    Profile photo of anthony
    anthony
    Moderator

    Hello everybody
    @laurent tu télécharge juste le jar suivant ce tuto : https://github.com/MyRobotLab/inmoov/wiki/HOWTO—SETUP-&-PREREQUISITES
    @dom je crois qu’il il y quelques bug d’ouverts concernant les filtres opencv.
    Dont un sur les travaux de steve et kevin concernant le chatbot basé sur le filtre facereconizer si ça peut te servir

    https://github.com/MyRobotLab/inmoov/issues/88

  • #8946
    Profile photo of Gael Langevin
    Gael Langevin
    Keymaster

    Oui, j’ai vu la nouvelle carte de Vincent. Plutôt pas mal et pas trop grosse en fait!
    J’ai vu qu’il avait réussi l’installation de celle ci à la place de la batterie.

    Face recognizer fonctionnait correctement jusqu’à la version 2251, mais comme le facetracking et point tracking avec OpenCV avait un souçi, Kevin à modifié quelque chose (je n’ai pas eu le temps de voir ce qui à changé) mais depuis, ni le face tracking, ni face recognition fonctionne.

    Je venais de modifier facerecognizer.py ainsi que trackhumans.py afin que les filtres ne se compilent pas les uns sur les autres, car cela fait planter MRL.

    Face recognizer peut dire “bonjour untel” (merci à Christian au passage) si il te reconnait, mais j’avais désactivé cette fonction car sous inmoov-develop cela ne fonctionnait pas et générait une erreur.

    https://github.com/MyRobotLab/inmoov/blob/develop/InMoov/gestures/facerecognizer.py

    #if((lastName+”-inmoovWebKit” not in inmoovWebKit.getSessionNames())):
    #mouth.speak(“Hello “+lastName)
    #sleep(2)
    #inmoovWebKit.getResponse(lastName,data)

    Tu verras que désormais le dossier Training qui comporte les photos du machinelearning lié au face recognizer, créer désormais des sous-dossier qui doivent(normalement) comporter le nom de la personne associé au photos. Pratique pour dire bonjour à la bonne personne.
    Ce que nous allons également mettre en place c’est le partage de ces sous-dossier (si éthiquement admissible et autorisé) sur le cloud qui sera accessible aux autre InMoov. Ce qui veut dire que n’importe quel InMoov pourra te reconnaitre et te dire “bonjour Dominique”, l’association du dossier des predicates de ProgramAB pourra également permettre au robot de ce souvenir de qu’il aura appris grâce à toi.

  • #8949
    Profile photo of Dominique
    Dominique
    Participant

    OK, merci pour ces infos.
    Je ne savais pas que vous étiez aussi avancé et c’est super.
    Pour les bugs, l’équipe MRL étant aux courants, cela devrait ce débloquer.

    Je vais jeter mes 2 yeux sur ce qui a déjà été fait sur le “FaceRecognizer”.

  • #8952
    Profile photo of Gael Langevin
    Gael Langevin
    Keymaster

    Je viens de modifier Facerecognizer.py et c’est fonctionnel avec la version 2251 à 2270.

    https://github.com/MyRobotLab/inmoov/blob/develop/InMoov/gestures/facerecognizer.py

    J’ai également modifié trackHumans.py, les filtres se placent correctement, par contre les servos ne réagissent toujours pas.

    https://github.com/MyRobotLab/inmoov/blob/develop/InMoov/gestures/trackHumans.py

    Peut-être qu’Anthony aura une idée…

    Malheureusement je n’ai plus le temps et je dois démonter InMoov car je part pour une présentation et conférence à Toulouse chez Airbus.

You must be logged in to reply to this topic.