0Home Page test forums PROGRAMMATION MYROBOTLAB Inmoov AI – [deprecated]

This topic contains 55 replies, has 9 voices, and was last updated by  anthony 1 year, 12 months ago.

  • Author
    Posts
  • #4504

    anthony
    Moderator

    —————————
    EDIT 13/01/2017
    évolutions stoppées
    —————————
    Inmoov AI se veut être un programme alternatif clés en main pour donner vie à Inmoov
    Il est conçu essentiellement en français mais est multilingue de part sa structure AIML.
    C’est un script communautaire écrit en Python qui utilise MyRobotLab

    Inmoov AI en est au stade de la BETA ( c’est du instable pour certaines fonctions comme la traduction ), il y a différents modules certe fonctionnels mais très très limités . Essentiellement pour servir de base si vous souhaitez participer a son développement ou pour vos script ).

    FONCTIONEMENT
    Le script utilise des service de MyRobotLab
    * ARDUINO
    * RECO VOCALE
    etc …
    LA RECO VOCALE est interprétée par ce qu’on appelle l’AIML. C’est un langage type XML qui associe un mot clé à une action

    Schéma fonctionnel basique
    Shéma fonctionnel

    DESCRIPTION DES AIML **en cours d edition**

    domotique.aiml
    gesture1_tete.aiml
    gesture2_main.aiml
    internet-fetchers.aiml
    loto.aiml
    mediacenter.aiml
    nombres.aiml
    opencv-photo.aiml
    personalite_basique1.aiml
    phrases_aleatoires.aiml
    remerciement.aiml
    salutation.aiml
    situations1_datetime.aiml
    son1.aiml
    traduction.aiml
    update.aiml
    wikidata.aiml
    1-LA_BASE.aiml
    2-messenger.aiml
    apprentissage1_commun.aiml
    apprentissage1_personnel.aiml
    blagues.aiml
    dis moi un truc.aiml

    DESCRIPTION DES MODULES

    – INMOOV-AI_install.py
    Programme d installation de MRL

    – INMOOV-AI_startup.py
    Fichier principal appelant d’autre sous script
    Lancement du script et configuration de MRL automatique

    – INMOOV-AI_config.py
    Fichier de configuration ( paramètres personnels / valeurs servos … )

    – INMOOV-AI_azure_translator.py [papaoutai]
    Module qui traduit dans différentes langues
    *TRADUIS bonjour EN japonais ( traduction à la volée )
    *TRADUIS EN ESPAGNOL / STOP TRADUCTION ( traduction en continue )

    – INMOOV-AI_dictionaries.py
    Dictionnaire en cours d édition pour faciliter l’interprétation de mots

    – INMOOV-AI_domotique.py [lecagnois]
    Fonctions utlisée pour des commandes domotiques
    URL :

    – INMOOV-AI_games.py
    Fonctions ludiques et à l’avenir jeux d’interraction avec le robot
    *LOTO

    – INMOOV-AI_wikidata.py [BEETLEJUICE]
    Service très intéressent de recherche d’informations sur wikidata
    * QUI EST LE PREMIER MINISTRE DE LA NORVEGE
    * QUEL EST LE FRUIT DU CERISIER
    * QUI EST ALAN TURING

    – INMOOV-AI_gestures.py
    Toute la programmation des gestes du robot.
    *TOURNE LA TÊTE A GAUCHE
    *LEVE L INDEX DROIT

    – INMOOV-AI_memory.py
    Cerveau du bot pour apprendre ou partager l’information
    *COMMENT S’APPELE MA MERE
    *COMMENT EST LE CIEL

    – INMOOV-AI_messenger.py
    *ENVOYER UN MESSAGE A RACHEL

    – INMOOV-AI_vie_aleatoire-standby_life.py
    Taches Cron

    – INMOOV-AI_opencv.py
    Bibliothèque de traitement de l’information visuelle
    *FAIS UNE PHOTO

    – INMOOV-AI_paupieres_eyeleads.py
    Gestion des paupières

    A CLASSER
    – Météo
    – Donne l’heure la date du jour et réagit en fonction du moment (“quelle heure il est”)
    – Recherche d’images (“montres-moi”)
    – Mediacenter ( WIP chercher et lire une vidéo YouTube )

    Je vous conseille de regarder a l intérieur des AIML pour comprendre comment communiquer avec le robot.

    Il n’y a quasiment pas de “gestures” mouvement du robot associé à une action. A part mouvement de la tête quand il parle et oui/non de la tête. Travail en cours. Mais il a tout l’excellent travail de Gaël par exemple

    CREDITS
    ( testeurs, contributeurs, sources pompées, mrl team ) :
    Gaël / Grog / Kwatters / Beetlejuice / Lecagnois / Matt / Amby / Alain / Mastablasta …

    SOURCES
    ( participez pour que ça avance plus vite !!! ) : https://github.com/moz4r/aiml/tree/master/bots/BOTS-FRENCH/Inmoov_AI

    Installation post#2
    Changelog post#3

    • This topic was modified 3 years, 3 months ago by  anthony.
    • This topic was modified 3 years, 3 months ago by  anthony.
    • This topic was modified 3 years, 2 months ago by  anthony.
    • This topic was modified 3 years, 2 months ago by  anthony.
    • This topic was modified 3 years ago by  anthony.
    • This topic was modified 3 years ago by  anthony.
    • This topic was modified 2 years, 10 months ago by  anthony.
  • #4507

    anthony
    Moderator

    INSTALLATION ou MISE A JOUR :

    1/ Prérequis ( point 1 à 4 uniquement ) : http://inmoov.fr/forums/topic/votre-1er-lancement-de-mrl/

    2/ Téléchargez la dernière version : http://www.myai.cloud/inmoov_ai.zip
    3/ Décompressez et écrasez dans c:\inmoov_ai par exemple ( pas d espace dans le nom )
    4/ Configurez vos paramètres dans le répertoire CONFIG ( 2 fichiers )
    6/ Lancer l’installation avec : 0_INSTALL.bat
    7/ Relancer MRL et fermez le.
    8/ Flasher vos arduino avec le fichier C:\inmoovai\resource\Arduino\MRLComm\mrlcomm.ino
    7/ Et enfin lancez le robot : 1_START_THE_ROBOT.bat

    • This reply was modified 3 years, 2 months ago by  anthony.
    • This reply was modified 3 years, 2 months ago by  anthony. Reason: mrlcomm.ino
    • This reply was modified 3 years, 1 month ago by  anthony.
  • #4508

    anthony
    Moderator

    [CHANGELOG]

    HISTORIQUE :

    https://github.com/moz4r/aiml/commits/master

    • This reply was modified 3 years, 3 months ago by  anthony.
    • This reply was modified 3 years, 3 months ago by  anthony.
    • This reply was modified 3 years, 3 months ago by  anthony.
    • This reply was modified 3 years, 2 months ago by  anthony.
    • This reply was modified 3 years, 2 months ago by  anthony.
    • This reply was modified 3 years, 2 months ago by  anthony.
    • This reply was modified 3 years, 1 month ago by  anthony.
    • This reply was modified 3 years, 1 month ago by  anthony.
    • This reply was modified 3 years, 1 month ago by  anthony.
  • #4525

    Bruno.Ash
    Participant

    Salut Anthony,
    Je viens de tomber sur ton post : c’est excellent !!!!
    Bruno 😉

  • #4533

    lecagnois
    Participant

    Salut antony

    Tout ca me donne tres envie de me mettre dans le code , je vois qu il y a de xlm du python enfin plein de choses pour s’occuper lol
    Avant de me lancer et d abandonner mon nabastag avec le raspberry , peux tu me dire quelle puissance d ordinateur as tu intégré dans INMOOV et quel systeme d explotation ( Linux ou Windows) .

  • #4538

    anthony
    Moderator

    Ouiii viens manger du python et du aiml !! Franchement pas besoin d’une bête de course, a part peut être si on veut exploiter à fond opencv la librairie de reconnaissance visuelle assez gourmande, mais c’est un peu hard. J’utilise un petit NUC core I3. d’autres utilisent un mini micro pc lattepanda ou UDOO ( style raspberry mais x86 ). J’ai commencé sur un raspberry, ça marche bien aussi.

  • #4571

    lecagnois
    Participant

    Merci anthony pour les infos
    Il va falloir que je me plonge serieux dans le python (vais commander un libre , encore lol)
    j ai installé a partir de ton cloud le programme http://www.myai.cloud/Inmoov_IA_V17.zip
    puis lancer le fichier bat qui installe tout .
    Question :

    mon robot à une vois d homme en anglais , Comment changer tout ca ?
    j ai bien vue qu il y a des xml dans le répertoire rachel , mais je pige pas trop comment tout ca s imbrique
    merci de ta réponse

  • #4572

    anthony
    Moderator

    Alors tu as un fichier de config : 2-INMOOV-AI_config.py , tu va trouver je pense pour changer les valeurs ! ( langue FR / voix antoine , julie , margaux etc … ).

    Le programme fonctionne avec 2 choses :

    1/ Le squelette en python qui contient plein de fonctions qui actionnent par exemple des servos ( leve le bras, météo etc … )
    Le squellete 1-INMOOV-AI_startup.py appelle lui meme d’autres fichiers , simplemment pour plus de clarté.

    2/ Les XML ( AIML ) sont des fichiers de language. Exemple la phrase “Donne moi la météo” appelle la foncton “Météo” du squeletque en python. Ces fichiers servent a donner une réponse en fonction d’une question.
    En AIML on peut soit répondre à une question avec un mot ( question : merci / réponse : de rien ) Soit appeler une fonction dans le script python.

  • #4573

    lecagnois
    Participant

    Merci anthony
    effectivement il avait la voix de ryan ( ryan is the kitchen mdr) .
    c est bien plus puissant qu avec ma carte du nabastag ou j etais obligé d enregistrer les voix sur mon serveur raspberry , je n avais pas réussi a faire marché le service avec accapela .
    je vais m investir dans le langage python car il serait intéressant de lui faire allumer les lumières de la maison ou fermer les volets par exemple .(avec de l électronique bien sur)

  • #4578

    lecagnois
    Participant

    salut anthony

    Voila j ai pas résister à mettre les doigts dans le code .
    je commence simple (lol)
    j ai modifié la procédure loto , j ai ajouter un argument

    def loto(phrase,the,chance,fin):
    talkBlocking(phrase)
    talkBlocking(the+str(random.randint(1,49)))
    talkBlocking(the+str(random.randint(1,49)))
    talkBlocking(the+str(random.randint(1,49)))
    talkBlocking(the+str(random.randint(1,49)))
    talkBlocking(the+str(random.randint(1,49)))
    talkBlocking(chance+str(random.randint(1,10)))
    talkBlocking(fin)

    le aiml qui va avec :

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <aiml>

    <category><pattern># loto #</pattern>
    <template>
    <oob>
    <mrl>
    <service>python</service>
    <method>exec</method>
    <param>loto(“Voci les numéros a jouer au loto, “,”Le “,”Et le numéro chance le, “,”Je vous souhaite bonne chance, “)</param>
    </mrl>
    </oob>
    </template>
    </category>
    </aiml>

    QUESTION :

    CA fonctionne , mais on est obligé de relancer le .bat pour initailiser les modification
    ma question existe t il un environnement débug pour tester sans tout relancer ou est ce la seule solution , une peu lourde lorsque l on débute dans un langage

    Merci antony ( je sais pas si tu developpe ?)

    nota : d ailleurs la proc loto ne teste pas les doublons random !

  • #4588

    Gael Langevin
    Keymaster

    Bonjour Lecagnois,
    Tu peux rajouter ca dans ton .bat
    service gui GUIService
    exemple:
    https://github.com/MyRobotLab/pyrobotlab/blob/master/home/hairygael/mrl.bat

  • #4595

    lecagnois
    Participant

    Bonjour Gael
    Merci pour l’information et je tiens à te remercier pour tout ton travail que tu partage .

  • #4600

    anthony
    Moderator

    Oui +1 @Gael ton travail m’a permis d’apprendre ENORMEMENT de choses.
    La première fois que j’ai ouvert MRL j’avoue j’ai eu un peu peur 🙂

    Génial lecagnois tu as raison après les doigts n’hésite pas a mettre toute la main !
    Et si un jour tu gagnes au loto avec les numéros du robot , il faudra partager bien sure 🙂 . Je te laisse trouver une solution pour le doublon. Avec un truc dans le style :

    numeroprecedementchoisi = 16
    NuméroSuivant = range(1,numeroprecedementchoisi -1 ) + range(numeroprecedementchoisi +1 ,49)
    NuméroSuivant = random.choice(NuméroSuivant)

    C’est vrai que pour debuguer c’est parfois un peu le bazard il faut regarder dans la console ou les fichiers log a la racine de mrl . A la recherche d’infos comme une vilaine erreur. Faire le plus possible de print ( ca va dans la console python ) Ou de se faire un mini script à coté avec le minimum vital dedans. Le pire c’est le debug des aiml quand il commence à y en avoir une palanqué ! Il y a des priorité d’exécution ( ordre des fichiers , ordre des lignes , that , topic etc … )

    N’hésite pas à publier tes modifications dans GitHub .
    Cela te permettra d’avoir accès aux dernières modifications de tous ainsi que les tienne. C’est un peu l’anarchie dans le script je n’ai rien commenté mais ça va s’organiser

    un petit doc pour github :

    http://www.myai.cloud/Travail_collaboratif_sur_GitHub-1.doc

  • #4643

    lecagnois
    Participant

    Bonjour Anthony
    Voila j ai modifié la procédure (loto)
    pour publier les modifications sur Github ,que ce passe t il ?
    cela va pas écraser le travail des autres ?
    Qui est propriétaire du code ?
    moi personnellement je partage sans restrictions , cela aide a avancer

    ATTENTION IL FAUDRA REFAIRE INDENTATION des BLOCS , car l’éditeur du forum les écrases

    • This reply was modified 3 years, 3 months ago by  lecagnois.
    • This reply was modified 3 years, 3 months ago by  lecagnois.
    • This reply was modified 3 years, 3 months ago by  anthony.
  • #4656

    anthony
    Moderator

    Génial ! Tout est open tu peux publier sur github pas de risque d écrasement. Saut si parfois on est 2 a bosser sur un meme fichier et que nous n’avons pas synchronisé. Mais github te préviens d’un conflit
    Le répertoire bots du dépôt est une section de myrobotlab dédiée aux chatbot
    Je peux publier pour toi aussi si tu veux

    https://github.com/moz4r/aiml/blob/master/bots/BOTS-FRENCH/Inmoov_AI/PYTHON/1-INMOOV-AI_startup.py

    @++

    • #4657

      lecagnois
      Participant

      salut anthony
      oui tu peux publier pour moi pas de soucis de mon coté
      J ai encore modifier la procédure la table est triée avant etre dite par le robot
      les numéro sont ainsi données dans l ordre plus facile pour cocher sa grille (lol)

      Nota : si je gagne je fais un don a GAEL

      • This reply was modified 3 years, 3 months ago by  anthony. Reason: code
  • #4681

    anthony
    Moderator

    Voila c’est intégré , j’en ai profité pour faire un peu de ménage dans le script principal . Tu trouvera ton code dans le fichier INMOOV-AI_games.py : https://github.com/moz4r/aiml/blob/master/bots/BOTS-FRENCH/Inmoov_AI/PYTHON/INMOOV-AI_games.py
    J’ai édité quelques post aussi en ajoutant la balise “code” . les boutons bleus en haut

  • #4899

    anthony
    Moderator

    Coucou ! nouvelle version 1.8 . Changelog #post 3
    D’autre part le mode de communication avec l’arduino à évolué chez mrl( mrlcomm )
    – Communications avec l’arduino + rapides
    – meilleure gestion des entrée analogiques pour capteurs
    – Liste non exhaustive ! post mrlcomm en anglais : http://myrobotlab.org/content/mrlclub-and-new-standards
    Je n’ai pas tout testé au niveau servo, il y aura surement des bug dans le script

  • #5087

    lecagnois
    Participant

    coucou Anthony

    aux conseils de grattounet j ai acheté un LATTEPENDA avec ecran 7 pouces pour intégrer dans mon INMOOV
    Je vois dans tes vidéos que tu a modifié le torse pour pouvoir mettre l’écran
    es-ce un écran 7 pouces as tu publier les fichier stl ?

  • #5092

    anthony
    Moderator

    Coucou ce n’est pas moi qui est fait le support frontal , tu le trouvera ici : http://www.thingiverse.com/thing:899881 quelques petites retouches pour passer les cables, ça devrait le faire !

  • #5097

    lecagnois
    Participant

    merci anthony

  • #5111

    anthony
    Moderator

    Salut Brian ! Le programme fonctionne avec 2 arduino
    Ces 2 arduino doivent être flashé suivant ces instructions :
    http://inmoov.fr/forums/topic/inmoov-ai/#post-4507

    Si malgré tout cela ne fonctionne pas envoi moi ton myrobotlab.log

    Anthony

  • #5113

    brian
    Participant

    merci Anthony tu gère,
    ton travail est super, et ton robot est bien sympa,
    je vais suivre ton indication, mais j’ai une question?
    Puis-je tester avec 1 arduino juste pour essayé de faire fonctionné l’index droit.
    je vais passer une commande pour commandé des cartes arduino. que me conseillez-vous 2 carte arduino mega
    car j’ai cru voir inmoov_ai programmé avec des carte mega…
    actuellement j’ai une carte genuino Uno.
    Puis j’avais dejà flasher ma carte arduino avec MRLComm fourni dans le lien http://www.myai.cloud/inmoov_ai.zip que tu fourni au début de ce sujet…

  • #5114

    anthony
    Moderator

    Alors ce programme ne fonctionne qu’avec 2 arduino ( ou aucun ) avec le parametre isinmoovarduino=0/1
    A mon avis le programme bloque au moment d’initialiser le 2eme arduino, c’est même sure
    Il y a bien une commande “ouvre l’index droit” mais tu coup tant que tu n’aura pas un 2eme arduino ça va buguer 🙂
    A terme si tu souhaites construire tout inmoov tu aura besoin de 2 arduino mega

    Aujourd’hui dans ton cas tu peux utiliser ce script de Gaël pour faire marcher uniquement les doigts :

    https://github.com/MyRobotLab/pyrobotlab/blob/master/home/hairygael/InMoov3.minimalFingerStarter.py

  • #5115

    brian
    Participant

    merci de ta reponse, rapide
    oui je veut construire le robot en entier et suivre avec vous sont évolution.
    donc je commande ce soir 2 mega.
    Et j’ai déjà tester et utilisé le script de gael.
    j’arrive correctement a utilisé le doigt.
    Mais je pense que sa ne sera pas trop dans la construction du robot que j’aurai le plus de mal mais
    plutôt son intelligence artificiel pourquoi avant allée plus loin je souhaite surtout réglé mon imprimante
    Mais surtout comprendre ce que tu as mis au point car c’est sur que mon robot sera équipé de inmoov_ai
    donc je n’ai plus qu’à être patient en attendant mes news carte arduino.
    et me laissera le temps de peaufiné mon imprimante.
    🙂 merci à toi anthony pour ta réactivité.
    je te tiendrai au courant des que j’aurai tester avec 2 cartes.

  • #5813

    Anthony. Dans ton post du July 29, 2016 at 5:14 pm
    Où situes-tu le chatterbot Jeanneton ?
    Sy

  • #5815

    Pierrick
    Participant

    Salut Anthony,
    Une autre question pour toi…. ou tout autre “sachant”:
    Je m’essaies au “tripatouillage” d’AIML, notamment celui d’apprentissage et je cherche en vain où vont se stocker les réponses que je donne? Afin de les supprimer/modifier!

    Cordialement

  • #5817

    anthony
    Moderator

    Coucou : ça me fait penser que je fasse un peu de documentation !

    @sylvain tu parle du code ?
    Si oui c’est ici :
    https://github.com/moz4r/aiml/blob/master/bots/BOTS-FRENCH/Inmoov_AI/AIML/jeanneton.aiml
    https://github.com/moz4r/aiml/blob/master/bots/BOTS-FRENCH/Inmoov_AI/PYTHON/INMOOV-AI_jeanneton.py
    + le connecteur exotique ( si tu arrive pas a le lancer faudra le plan B avec visuel studio ). https://github.com/moz4r/Jeanneton_Websocket
    ( le python va rediriger tous ce que le robot écoute vers ton site web )
    C’est de l’expérimental il faudra surement faire à terme une intégration propre de verbot avec MyRobotLab mais y a beaucoup boulot je pense.

    @pierrick
    J’utilise 3 choses : ( n hésite pas a demander + d infos je te répond un peu rapidement ) ( Une autre méthode que je n’utilise pas est la création automatique d’aiml )
    Mémoire à court terme ( sujet de discutions par exemple ) > <topic name=””> non sauvegardé
    Mémoire personnelle du robot > “comment s’appelle ma mere” > fichier default.predicates.txt dans programab\bots\inmoovai\config
    Mémoire partagée “c est quoi un truc” > base de donnée > si c’est de ça que tu parle je vais te donner l’acces au mysql c’est public

    Tout ça peut être amélioré ce ne sont que des fondations
    @++

  • #5818

    Non je parlais visuellement, mais merci pour les lignes de codes.
    En fait il faudrait que j’arrête de bosser pendant 5 mois facile pour vous rattraper. Non faut pas hein ? Si ? :0)
    Sy.

  • #5825

    Pierrick
    Participant

    Mémoire personnelle du robot > “comment s’appelle ma mere” > fichier default.predicates.txt dans programab\bots\inmoovai\config :CELUI LA JE L’AVAIS TROUVé
    Mémoire partagée “c est quoi un truc” > base de donnée > si c’est de ça que tu parle je vais te donner l’acces au mysql c’est public :VOLONTIERS
    Merci de ta réponse rapide

  • #5855

    anthony
    Moderator

    Salut Pierrick ! voici l’accès à la base de donnée avec phpmyadmin :

    http://91.160.50.131:19292
    login : shared_memory_FR
    password : InmoovBdd ( rajoute une étoile à la fin )

  • #6029

    anthony
    Moderator

    Je ne l’avais pas testé avec les dernières version de MRL, donc :

    Ajout du tracking dans le script pour faire quelques essais :

    basé sur : https://github.com/MyRobotLab/pyrobotlab/blob/master/home/hairygael/InMoov3.minimalHead.py

    – [fichier de config] CameraIndex=0 ( ou 1 ) en fonction de si vous avez déjà une caméra interne
    – Commande : SUIS-MOI DU REGARD / ARRêTE DE ME SUIVRE DU REGARD
    – Inversion des servos EyeX + Rotation tête
    – Ajout de la dernière version de MRL 1803 dans le zip et la dernière version du script ( relancez un install.bat + flasher les arduino, nouvelle version de mrlcomm )

    Par contre j’ai souvent des erreurs de limites et ça bloque le tracking, peut être du a un réglage du pid ? si quelqu’un sait pourquoi :

    i01.eyesTracking error 38 x limit out of range

  • #6032

    Gael Langevin
    Keymaster

    @anthony, les erreurs que tu as sont lies au fait que tes servos essaient d’aller au dela de la limite defini par tes min/max.
    Ces erreurs ne devraient pas causer de freeze de MRL normalement, mais cela indique que le tracking a atteint la limite possible de deplacement des yeux et de la tete ou alors que les servos ne bougent pas assez vite pour eviter d’atteindre la limite.

    Tu peux augmenter le premier arg:
    i01.eyesTracking.pid.setPID(“eyeX”,12.0,1.0,0.1)
    i01.eyesTracking.pid.setPID(“eyeY”,12.0,1.0,0.1)
    i01.headTracking.pid.setPID(“rothead”,5.0,1.0,0.1)
    i01.headTracking.pid.setPID(“neck”,5.0,1.0,0.1)

    ex:
    i01.eyesTracking.pid.setPID(“eyeX”,22.0,1.0,0.1)
    i01.eyesTracking.pid.setPID(“eyeY”,22.0,1.0,0.1)
    i01.headTracking.pid.setPID(“rothead”,15.0,1.0,0.1)
    i01.headTracking.pid.setPID(“neck”,15.0,1.0,0.1)

    Sinon egalement verifier que tes servo ne soient pas limite en vitesse:

    head.eyeX.setVelocity(0)
    head.eyeY.setVelocity(0)

    head.neck.setVelocity(0)
    head.rothead.setVelocity(0)
    head.jaw.setVelocity(0)

  • #6035

    anthony
    Moderator

    Ah merci Gaël pour les infos ! Ça m’a toujours intrigué ces erreurs dans le tracking . Je vais essayer de jouer avec les pid. Les valeurs MIN/MAX priment sur une éventuelle utilisation de la fonction map ? ( qui virtuellement repasse a 0->180 les servos ) ?
    Sinon , si je réinitialise à 90° les yeux et la tête lorsque inmoov a les yeux bloqué dans les coins trop longtemps, pense tu que ça peut être une bonne idée ?
    Un de ces 4 j’aimerais aussi essayer d’ajouter 2 capteurs sonores aux extrémité gauche et droite. et faire un delta pour situer l’interlocuteur dans l’espace, avant de lancer opencv

  • #6037

    Gael Langevin
    Keymaster

    Oui tu vois ici j’ai utilise le mapping pour redefinir virtuellement mon servo:
    head.eyeY.map(0,180,85,110)
    head.eyeY.setMinMax(0,180)

    Si ton robot reste on focuse la tete bloque d’un cote, la fonction vocale “rest” ou “look in the middle” lui remets les yeux en face des trous et la tete droite. Histoire de lui montrer qui est le boss. Cela ne gene pas le tracking.

    Bob Huston a mis deux capteurs infrarouge sur son InMoov afin qu’il tourne la tete lorsqu’il sent un mouvement, c’est plutot cool et pratique. Bob uses EZRobot, no script for us…

    Markus a mis des capteurs sonores afin qu’il entende de chaque cotes. Markus uses Myrobotlab. Scripts are available.

  • #6038

    anthony
    Moderator

    cool ! Alors prochain TP montrer a Inmoov who is the boss 🙂

  • #6045

    Génialos comme d’hab.
    Sy

  • #6144

    anthony
    Moderator

    Bon bah nouvelle mise à jour après ce coup de massue
    Le zip a grossi de 200 méga au passage…
    Passage à MaryTTS pour la synthèse vocale
    -> changer votre voix en : upmc-pierre-hsmm dans config

    Il reste du boulot pour certains modules comme la traduction mais la base devrait fonctionner

    • #6150

      lecagnois
      Participant

      Hello anthony
      Tu peux nous mettre le lien de ton ZIP

  • #6151

    @anthony.
    Le boulot que tu produis est impressionnant. P’tin.
    Sy

  • #6152

    anthony
    Moderator

    j’ai pas fait grand chose, c’est les mecs de marytts qu’il faut remercier et aussi ceux qui ont intégré à mrl, voila le zip : http://www.myai.cloud/inmoov_ai.zip

    install
    http://inmoov.fr/forums/topic/inmoov-ai/#post-4507

    • #6153

      lecagnois
      Participant

      Merci Anthony
      Effectivement il a pris du poids pour les fêtes (lol)
      je vais tester , pour voir si mon INMOOV est toujours vivant.

  • #6154

    Dominique
    Participant

    Salut

    @anthony: pour info, après tu fait comme tu veux n’est ce pas ?

    le mot clef global n’est pas nécessaire dans une fonction si tu ne modifie pas la variable:

    Exemple:

    c’est mieux ca:

    par contre si on modifie la variable dans la fonction alors c’est obligatoire

    Dom

  • #6155

    anthony
    Moderator

    MMM tu es sûre que même si on ne modifie pas la variable on est pas obligé de la déclarer ? Il me semble avoir déjà eu des soucis dans un thread je testerais en tous cas , ça ferais quelques lignes en moins, merci

  • #6156

    Dominique
    Participant

    Certain: voici une explication trouvé sur le net, il y en a pleins d’autres:

    Exemple d’utilisation d’une variable globale en Python. Python est un langage couramment utilisé qui présente l’avantage d’être facile à apprendre. C’est le langage conseillé pour les personnes souhaitant s’initier à la programmation. Python peut, comme le langage JavaScript, gérer les variables globales. Ce sont des variables dont la portée s’étend à tout le programme. Elles peuvent être utilisées par n’importe quelle fonction, contrairement aux variables locales qui ne sont utilisables que dans la fonction dans laquelle elles sont déclarées.

    Les variables globales se déclarent en Python comme une variable locale mais à l’extérieur d’une fonction.

    Exemple de déclaration de variable globale :
    variableGlobale = 0

    Pour utiliser une variable globale sans modifier sa valeur, il suffit de l’appeler dans une fonction comme vous le feriez avec une variable locale. Les variables globales sont dangereuses en développement car l’on peut faire des erreurs en les manipulant.

    Si la fonction doit modifier la valeur de la variable, alors il faut la redéclarer en la précédant du mot-clé global.

    • This reply was modified 2 years, 11 months ago by  Dominique.
    • This reply was modified 2 years, 11 months ago by  Dominique.
    • This reply was modified 2 years, 11 months ago by  Dominique.
  • #6165

    Pierrick
    Participant

    Merci Anthony pour ce nouveau pack…. par contre la voix a perdu de sa limpidité, frisant parfois l’incompréhensible, avec des chevrotements, des saccades….Ricardo est ranimé mais a dû un chopé un mauvais virus!

  • #6497

    anthony
    Moderator

    InmoovAI est mort ( pour mieux renaitre 🙂
    Une fusion est en cours de plusieurs travaux afin de mettre à disposition une base simple, modulable et multilingue aux utilisateurs d’Inmoov pour MRL. En parallèles d’autres travaux du cœur de mrl afin d’optimiser par exemple la gestion des servos, ou le service Inmoov.
    Certains modules de ce script seront réintégrés + tard sous forme de services optionnels ou de apps

  • #6498

    Dominique
    Participant

    Juste pour info (en espérant de ne pas me faire trucider),

    Etes vous pour si j’intègre activator à la nouvelle base où je le garde pour moi ?

    J’attends vos retours.

    @ Anthony, serais tu prêt a recevoir mes fichiers ? Si oui où puis je les poster ?

    Alors, dans le code je vois des noms comme ‘righthandopen()’, Je suggère de les écrire plutôt ‘rightHandOpen()’. Ca change rien, c’est juste pour la lecture du code. J’aimerais le faire mais je n’est pas accès.

    Autre chose, dans les thématiques du forum, ce serait bien d’avoir une rubrique développement. Pourquoi:
    tout simplement pour y mettre tous les développements en cours et notamment la nouvelle base qui sera je suis sûr, le point de départ de tous les InMoov.

    Autre point très gênant pour moi (et peux t’être pour d’autres), les futurs changements de MyRobotLab. Anthony tu es plus au courant que nous. Exemple, les futurs changements de la gestions des servos et service InMoov. De quoi s’agit il ? Le code actuelle sera t’il toujours compatible ?
    Pour un développeur, ne pas être au courant des évolutions, c’est assez pénible et frustrant car on a l’impression de recommencer tout le temps le code déjà construit.

    MrlComm a surement évolué, la aussi des infos serait bien venue car j’ai prévu une version d’activator ou seul le fichier ino serait modifié…

    Enfin bref, je vous rassure, je ne critique rien, au contraire, j’aimerais bien participer, apporter une pierre à l’édifice, mais avouez que vous garder une peu tout pour vous.

    A+

    • This reply was modified 2 years, 10 months ago by  Dominique.
  • #6500

    Bien sur que je suis pour qu’Activator soit inside et avec une moultitude de tips.
    Amicalement.
    Sy.

  • #6502

    anthony
    Moderator

    @Dom promis personne ne sera trucidé durant l’opération 🙂
    Je ne suis prêt a rien du tout, ce sont des décisions communes.
    Et si quelqu’un doit prendre des décisions c’est uniquement Gael et Grog; sans eux on ne serait pas la a palabrer.
    Pour la thématique du forum, autre sujet.
    Pour la compatibilité justement, c’est l’objet de ce projet, standardiser une base minimale ( enfin autant que faire ce peut ) pour rendre compatible entre autre et ne pas être bloqué à chaque mise à jour du cœur.
    En partant d’un fingerstarter fonctionnel à tous les coups
    A terme cette base sera justement intégrée à MRL pour être testable à chaque nouvelle compilation et éviter par exemple des problèmes de dépendance ou de méthodes obsolètes.
    Tu à le droit de critiquer c’est même conseillé pour avancer ! et ton expertise est bienvenue.
    Sauf pour le “on garde tout pour nous” la c’est insultant mais on ne va pas relever, je laisse éventuellement le bot répondre à notre place, il connait pas mal de répliques familières de circonstance, il va avoir beaucoup de travail. on va dire que tu as bugué.
    Je te rappelle que tout est publié sur Github et fait l’objet de multiples discussions avec les développeurs et utilisateurs de mrl . Et que tous les dépôts officiels sont publiques sans autorisation pour faire des commit. Soumis a discutions si un commit fait débat.
    Discussion ici pour les servo : http://myrobotlab.org/content/servo-speed-control . Ou au fil de l’eau dans la shoutbox. Ou peut être dans ce post référence du projet … : http://myrobotlab.org/content/inmoov-script-merge-them-all-wip-status-inmoov3minimalarmpy . tout cela fera bien sure l’objet d’une synthèse quand le stade du workinprogress sera passé et surtout à la prochaine version stable de mrl. En attendant welcome pour les discussions et les idées dans ce post international.

    @sylvain Entièrement d’accord, j’aimerais beaucoup pour moi et surtout les autres un nouveau service dans mrl basé sur ce travail respectable. pour pouvoir utiliser par exemple cette petite carte adafruit amplificatrice de son, avec en bonus la lecture standardisée du signal audio pour faire bouger la mâchoire 🙂
    Qui ouvre un petit post chez mrl ?

  • #6516

    Dominique
    Participant

    Oui c’est vrai que je suis parfois impulsif, je l’admet.

    Autrement pour les infos, pas évident car il faut chaque fois allez voir sur myrobotlab en anglais. Cela aurait été bien d’avoir une synthèse des évolutions ici en français (je parle pas uniquement pour moi car je vais tous les jours suivre ce qui se passe sur mrl).

    Autrement, comme tu a mis que ImoovAI était obsolète, j’ai cru que la nouvelle base était prête, tout simplement.

    Sais tu me dire si les communications entre MyRobotLab et MrlComm sont opérationnel et sans bug ?
    Sais tu me dire quelle version stable on a actuellement pour MyRobotlab et MrlComm ?

    Pour le moment je suis resté à la 1803 et MrlComm version 41.

    N’hésite pas à demander des coup de main. (pour l’AI, vous êtes suffisamment je pense).

  • #6523

    Je vais un peu taper l’incruste sorry, mais Dominique tu parles de version 1803 alors qu’en download c’est Lamiak vers 1758 et de version de MrlComm 41 !? Any explanations ? Je sais il faut toujours tt m’expliquer.
    Amicalement
    Sy.

  • #6525

    Dominique
    Participant

    Le 1803 permet d’utiliser MaryTTS. Il est dans le dernier InMoovAI d’Anthony.

  • #9898

    Antoine TABET
    Participant

    Bonjour à tous,

    je suis assidument le développement de la version IA. Je souhaite tester cette version sur mon InMoov mais les liens vers le .py sont malheureusement morts …

    Quelqu’un pourrait-il mettre à jour un lien pour télécharger ces fichiers ? Je serais heureux de pouvoir tester ça 🙂

    Merci d’avance et à bientôt.

  • #9899

    anthony
    Moderator

    Hello ! Ce script n’est plus en développement , certaines parties ont fusionné avec d’autres.
    La documentation du service Inmoov est en cours de rédaction, en attendant tu trouvera ton bonheur dans la dernière version BETA de MRL, tout est intégré :

    https://github.com/MyRobotLab/inmoov/wiki/HOWTO—SETUP-&-PREREQUISITES

  • #5108

    brian
    Participant

    bonjour a tous.
    je suis un nouveau pour la réalisation de ce projet qui est inmoov
    mes connaissances en programmation et anglais surtout sont limité.
    j’ai installé inmoov_ai sans trop de problème.
    tous s’ouvre et me permet de communiqué avec le robot.
    le soucis est l’arduino je n’arrive pas à mis connecté, je n’ai pas de com proposer pour mis connecté
    et j’ai essayer de modifier le fichier INMOOV-AI_config pour activé arduino
    test réussi mais maintenant la page googlechrome ne s’ouvre plus donc pas de communication et via myrobotlab impossible attaché le servo au pin 3.
    j’ai trouvé dans INMOOV-AI_startup.py une commande
    #start webgui
    webgui = Runtime.create(“WebGui”,”WebGui”)
    webgui.autoStartBrowser(False) j’ai tester True…
    webgui.startService()

    de cette manière une page googlechrome s’ouvre mais ce connect pas…
    sa doit faire 3 jours que je bataille dessus sans résultat.

    Pourriez-vous avoir l’amabilité de me venir en aide car j’ai beau fouiné dans tous les fichiers à part mis perdre de + en + je ne fait pas beaucoup de resultat…

    Pour info j’ai dejà réaliser le fingerStart avec myrobotlab d’origine et tous fonctionnai correctement.
    je ne vous présente pas la réalisation du doigt car j’ai pas encore trouver la configuration parfait pour pouvoir me sortir un produit lisse sur la couche extérieur.

You must be logged in to reply to this topic.