0Home Page test forums PROGRAMMATION MYROBOTLAB Kraken Version & OpenCV

This topic contains 11 replies, has 3 voices, and was last updated by  Gael Langevin 4 years, 2 months ago.

  • Author
    Posts
  • #6005

    Bruno.Ash
    Participant

    Bonjour,
    Je viens d’installer la 1.0.1723 de MRL sur tablette Lenovo.
    Suis en cours de montage du robot, donc les deux Arduino Mega, la cam, le micro sont connectés mais pour l’instant aucun servo n’est branché aux cartes.
    Je lance le mrl.bat, mrl et Chrome s’ouvrent.
    Le Bot lance la procédure de test mais au moment du “face et eye tracking” la cam ne s’allume pas.
    Comment fait-on pour connecter la cam Hercule à MRL ?
    Merci pour vos réponses

  • #6008

    anthony
    Moderator

    Coucou Bruno voici un petit script qui lance le service openCV qui peut t’aider à debuguer ta webcam
    Rien a faire pour déclarer la hercule
    Juste vérifier que tu n’a pas plusieurs webcam ( sinon il faud modifier setCameraIndex )

    i01 = Runtime.createAndStart(“i01″,”InMoov”)
    opencv = Runtime.createAndStart(“i01.opencv”, “OpenCV”)
    opencv.setCameraIndex(0)
    opencv.removeFilters()
    opencv.addFilter(“PyramidDown”)
    opencv.addFilter(“Gray”)
    opencv.addFilter(“FaceDetect”)
    opencv.setDisplayFilter(“FaceDetect”)

  • #6012

    Bruno.Ash
    Participant

    Salut Anthony,
    merci pour ta réponse.
    Le script que tu donnes est à lancer seul ? Je le copie et le colle dans MRL sans rien d’autre ou je l’intègre dans la full ?
    Il me semble que pour avoir accès à la cam externe (la Hercule en l’occurrence) il fallait indiquer (1) et non (0)…?
    La cam fonctionne sur Lenovo via le Hub usb, donc à priori la connectique est hors de cause.
    J’ai “réussi” à connecter la cam dans mrl, la vidéo est fonctionnelle mais aucune fonction active. Ex : si je dis “tracks human” la cam ne se met pas en route.
    Pour finir, je ne comprends pas bien la différence entre l’onglet service “iO1.opencv” et “OpenCV”.
    C’est quasiment mon premier lancement de MRL et je nage la brasse coulée !
    Merci

  • #6018

    anthony
    Moderator

    Ce petit script est à lancer seul, c’était juste pour voir si ça fonctionne
    Par contre dans ton script complet, tu peux essayer d’ajouter ceci juste après la ligne 21 ( i01 = Runtime.createAndStart(“i01”, “InMoov”) )
    En modifiant setCameraIndex()

    i01.opencv = Runtime.createAndStart(“i01.opencv”, “OpenCV”)
    i01.opencv.setCameraIndex(0)
    i01.opencv.removeFilters()
    i01.opencv.addFilter(“PyramidDown”)
    i01.opencv.addFilter(“Gray”)
    i01.opencv.addFilter(“FaceDetect”)
    i01.opencv.setDisplayFilter(“FaceDetect”)
    i01.opencv.capture()

    si c’est ce script la que tu utilise ? https://raw.githubusercontent.com/MyRobotLab/pyrobotlab/master/home/hairygael/InMoov3.full_Version_MRL_above_1.0.1XXX.py

  • #6024

    Gael Langevin
    Keymaster

    Bravo Bruno tu y es presque!
    Va dans Device Manager de Microsoft et desactive la camera de la tablette. Ensuite MRL devrais prendre automatiquement la bonne camera.
    La commande vocale pour lancer la camera: “camera On” ou pour eteindre : “Off camera”.

    Je crois que tu utilises le script:
    https://github.com/MyRobotLab/pyrobotlab/blob/master/home/hairygael/InMoov3.Deep.AB.V7.py
    Puisque tu utilises le dossier avec programAB et tout le reste…

  • #6099

    Bruno.Ash
    Participant

    Merci pour vos réponses…

    Je suis en déplacement pour qq jours et ne peux tester le script donné par Anthony…
    Je teste ça ce we si je n’ai pas trouvé solution d’ici là.

    Pour Gaël, désolé de faire le boulet, mais je ne trouve pas la fonction qui permet de virer les 2 caméras de la tablette Lenovo dans “devise Manager”. J’ai laissé la tablette en Windows 8.1, ça vient peut-être de ça ? C’est une fonction de windows 10 ?

  • #6102

    Gael Langevin
    Keymaster

    Hello Bruno,
    Windows n’est pas aussi didactique qu’Apple…Loin de là…
    Pour désactiver tes caméras ou tout autre matériel sur Windows il faut accéder au Gestionnaire de Périphérique(Device Manager)
    Je t’ai fait une image pour que tu vois les étapes.
    1-Clique droit sur le Logo Windows.(Sur la tablette tu garde le doigt un peu appuyé jusqu’a ce que la fenêtre apparaisse.)
    2-Clique Gestionnaire de périphérique
    3-Clique Materiel image
    4-Clique droit sur Intel(R)Imaging Sensor et selectionne Désactiver.

    Tes Arduinos sont également accessible dans le gestionnaire afin de pouvoir changer le BAUD ou COM port.

    Attachments:
    You must be logged in to view attached files.
  • #6105

    Bruno.Ash
    Participant

    Hi Gaël,
    Merci pour ta réponse.
    J’ai viré les deux cameras de la tablette, ce n’est pas tout à fait le même chemin que celui que tu indiques (pourquoi tant d’haine ? 😉 mais tes infos m’ont bien guidé.
    Si je lance l’appareil photo de la tablette, j’arrive direct sur la camera externe.
    Par contre, quand je relance MRL, pas de progrès.
    “Can you see me ?”
    “No, I have a blinded system !?”
    Je crois que je touche au but…
    Ne faudrait-il pas indiquer à MRL le port com de la Hercule ? La Hercule est branchée en USB sur le hub.
    Pour le Script de Anthony, lancer le script dans mrl, la camera ne réagit pas.

  • #6106

    Bruno.Ash
    Participant

    Une dernière question : Vous avez tous viré vos cams internes de tablette pour que ça fonctionne ou ça vient de moi…? 😉

  • #6107

    Gael Langevin
    Keymaster

    Hello Bruno,
    En fait si tu desactives les camera de la tablette, la camera branchée en USB devient la camera par defaut (0).
    -Démarre MRL, dans le tab Python, clique sur “file”, puis “new”.
    -Copie/colle le script CameraTestOpenCV.py dans ce nouveau tab python de MRL.(Attention de copier le texte en “Raw” sur Github.)
    https://github.com/MyRobotLab/pyrobotlab/blob/master/home/hairygael/CameraTestOpenCV.py
    -Lance le script, normalement ta camera devrait apparaitre dans l’onglet OpenCV.

    Si tu utilises le full script, les commandes vocales seront:
    -Camera on
    -Off Camera
    -Search Humans
    -Track (suivre un point determiné en cliquant sur l’image un objet)
    -Freeze track(cela arrête les deux fonctions “Search Humans” et “Track”)

    @anthony,
    J’ai repris ton script que j’ai remis sur Github, car sinon la syntax n’est pas respectée via le site InMoov.(Les guillemets ne sont pas les mêmes, pas pratique pour partager du code.)

    • This reply was modified 4 years, 2 months ago by  Gael Langevin.
  • #6111

    Bruno.Ash
    Participant

    Bon… ça fonctionne !!! 😉
    J’ai fait un test avec le script seul, c’est OK.
    Je suis passé sur le full, c’est OK.
    En fait, j’ai repassé le camera index en 0, cliquer sur onglet OpenCV, cliqué sur 0 en input puis sur “capture” et l’image s’est affichée !!
    Je viens de faire un test avec le filtre “face detect” et un carré rouge me suit à la trace !
    Malgré une journée de travail bien pénible et la fatigue, il est plus d’1h30 et là, c’est le bonheur dans “my workshop” comme dirait Gaël !!
    Reste à brancher les servos aux nervo board, faire mes tests, caler les Min Max, etc…
    voilà le programme de ces prochaines nuits…
    Remerciements à tous les deux pour votre aide précieuse.

  • #6113

    Gael Langevin
    Keymaster

    Aaah ça fait plaisir d’entendre ça!

You must be logged in to reply to this topic.