mBot: Sciences et Technologie Collège
mettre en oeuvre : Techno Collège

6e-cycle3
5e-4e-3e-cycle4
libre
3-home




Vous avez demandé une explication  
  1. vidéo détaillés, ciblé 'profs' (anglais (i)) comment installer v-rep? Nécessité de mettre en oeuvre v-rep mais aussi l'émulateur de portCom VSPE
  2. vidéo mBlock-->VSPE-> modif portCOM et lancement simulation v-rep (youTube)
  3. Retour à la dernière note d'installation (JC Holstein)
  4. bientôt une suite...

_______ATTENTION _______

 Cette note, qui est un 1er jet, est destinée à celles et ceux qui souhaitent installer leur propre environnement de simulation  v-rep en local ou sur un réseau collège.

Elle n'a de sens que pour la 1ere installation et peut contenir des erreurs. Il n'y a peu de travail de mise en page, la forme est immédiate et non travaillée!!

Merci à Jean-Christophe Jouveaux, notre ATI,  pour son aide précieuse.


    installation vrep+VSPE+(mBlock) --> paramétrage vrep+VSPE --> run VSPE-> mBlock -> vrep

    le symbole '==>' signifiera 'le résultat de votre action'

26-mai-2018 / JC HOLSTEIN /v 1.0



1. Setup

  • 1.1. Télécharger  v-rep (logiciel de simulation) ici:
          http://coppeliarobotics.com/files/V-REP_PRO_EDU_V3_5_0_Setup.exe
           => Puis l'installer (rien à configurer, juste faire next next next...) !aide
  • 1.2. Télécharger Virtual Serial Ports Simulator : http://www.eterlogic.com/downloads/SetupVSPE.zip
           => Puis l'installer (de même rien à configurer) !aide
            Pour la version 64 bits, l'éditeur rappelle que nous pouvons l'acheter dans le cadre d'une utilisation 'commerciale'
  • Enfin mBlock s'il n'est pas déjà installé, qui est une extension de scratch avec possibilité de piloter un 'robot physique' mBot 


  • 2. Créer l'environnement de simulation v-rep

  • 2.1. Télécharger le modèle mBot+sa scène sur

  • github: https://github.com/NenadZG/mBot-simulation (Cliquer sur "Clone or download")
    ==> Les 6 fichiers sont téléchargés dans le zip "mBot-simulation-master.zip"
  • 2.2. Dézipper

  • nota: il sera nécessaire de mettre à jour le script 'codant le mBot' pour choisir le port COM10 dans le logiciel v-rep

     !POURQUOI DEVOIR MODIFIER ce paramètre ?
          > Car LE SCRIPT DE BASE de la scène de base  INDIQUE d'UTILISER le PORT COM2, le risque étant que celui est peut-être déjà réservé.
          > Ce paramètre est très important car il sera utilisé pour 'passer' les commandes de mBlock à l'environnement virtuel  v-rep.

  • 2.3.procédure et objectif:: donner un exemple modifiant le script pour assurer l'émulation de la réalité virtuelle.

  • < modifier le script de scène> Démarrer  v-rep et ouvrir la scène (*) "/V-REP scenes/Demo room 1.ttt" avec file:open scene
    nota: vous pouvez utiliser la scène 'mBotPortCom10JCH.tttt' qui est une scène simplifiée pour mes élèves, prévue pour le port COM10

  • 2.4. Au lancement de  v-rep, on voit

  •   ==> un onglet/arborescence : new scene "Scene hierarchy"
             Si vous voyez juste 'new scene', c'est que vous n'avez pas chargé une scéne 'mBot' et il faut alors recommancer et CHARGER LA SCENE (*) avec file:open scene

    _______WARNING-synthèse _______ Cette scene '*) 'mBot ready' n'existe pas à la base dans  v-rep, et il faut la télécharger (cf 2.1). Vous avez bien 2 téléchargements à faire
    contrôle pour vérifier :==>   pour vérifier, ds v-rep, au dessus de scene hierarchy, vous devez avoir maintenant le nom de la scène en cours "Demo room 1.ttt" 

  • 2.5. Déplier l'arborescence de "Demo room 1.ttt" en cliquant sur le petit onglet '+' de "mBot"

  • => On voit tous les composants du mBot ainsi que des 'sous hierarchies' symbolisées par les '+' 

  • 2.6. Ds l'onglet Scene hierarchy,
          + aller dans la branche "mBot", cliquez sur l'onglet '+' pour déplier
          + puis double-cliquer sur "mBotScript" situé à la 10e ligne (désolé !!)

     warning!  il y a trois petites icones qui correspondent à 3 zones de clic: (une icône avant le texte 'mBotScript' en gris et 2 icônes après)
           La 2eme icône (miniature look 'fichier' ressemblant à une feuille pliée) est le script: on n'y touche pas!
          + Il faut sélectionner la 3e icone (**) par un dble-cliqué, celle qui ressemble à des curseurs de réglages de console de studio d'enregistrement (désolé pas de picture pour l'instant)

  •   2.7. en dble-cliquant sur cette 3e icone de réglage alors:
     ==>  une liste de 20 paramètres va apparaître. Le dernier est le mode debug que l'on peut passer à 'true'
     ==> Le second est l'identification du comPort (par défaut COM2).
       Ce paramètre s'appelle Com port name, est modifiable à souhait et c'est là que vous devez indiquer  votre portCom de libre

    _______ATTENTION _______>  Certains ports ne sont pas sélectionnables par VSPE où ne figurent pas dans la liste des ports disponibles de mBlock (déjà ouverts, utilisés par ailleurs etc..?).
    Ma 1er installation (sur windows7) fût 'à tâton', mais je rappelle....,pas de pb sur W10 (tablette le novo ou autre PC Asus), RAS sur nos PC W8.

    voir en fin de page (<>) une tentative d'explication:
    Il est conseillé de ne plus toucher ce paramètre après ce réglage et c'est pour celà que je propose COM10!

  • 2.8. La config est terminée, ....Sauvegardez la scène 'file/save scene as xx', en la renommant si possible puis ...Fermez  v-rep.


    3.VSPE
    d'autres solutions doivent exister
     Cet 'émulateur de port virtuel  'fera croire' à mBlock à une 'vraie' présence d'un 'vrai 'robot physique

    Il s'agit d'une solution 'connector' reliant 2 applications partageant  un même port virtuel (de base, W n'autorise pas une double connection sur un même port)


  •  3. CREATION du port virtuel pour visualiser les mouvements robot

    _______WARNING _______ EFFECTUER D ABORD cette AFFECTATION avec mBlock FERME AU PREALABLE (sinon le relancer)
  • 3.1. Démarrer Virtual Serial Ports Emulator et répondre (1)NON à la question ('please order license' je n'achete pas ), répondre(2) OK (j'ai bien compris !!) au 2eme message
  • 3.2. ==> VSPE est lancé et dans la fenêtre, faire
    Device/Create (ou périphérique/créer si version en français), choisir
     -->connector et Suivant .
     ==> VSPE vous demande alors de choisir le porCom à émuler:
      Il faudra choisir un portCOM en adéquation NON DEJA PRESENT dans la liste de mBlock (cette liste apparaît en choisissant 'connecter' dans mBlock. Cliquez pb) s'il y a pb!
  • 3.3. Dérouler l'ascenceur scroll pour choisir votre portCOM
  • 3.4. Tjrs ds VSPE, lancer l'émulation (flèche verte)
  • 3.5. En cas de pb!: Vérifier qu'il n'y a pas d'erreur dans le log :
          L'affichage "Initialisation... OK" apparait en vert.
         Si il y a 'n/a' voir 'error', c'est qu'il y a défaut, changer de port.
    En cas de pb!: Si  v-rep ne répond pas aux commandes de mBlock reprendre la procédure suivante: 
  • 3.6. Ouvrir  v-rep avec la scène "/V-REP scenes/Demo room 1.ttt" en double-cliquant sur le fichier (dans le dossier dézippé en 2.2.) => Le projet s'ouvre, la scène 3D apparaît etc...
  • 3.7. Dérouler la branche "mBot" de l'arborescence (cliquer +) "Demo room 1 (scene 1)" => La branche apparait 
  • 3.8. Double-cliquer sur la troisème icône de la branche "mBotScript". => Une fenêtre "Script parameters" s'ouvre 
  • 3.9. Choisir "Com port name" et préciser dans "Value" le port à associer qui portera le même nom que celui choisi en 3.2/3.3.et/ou 2.7  (De la forme "COM10") 
  • 3.10. Fermer la fenêtre en appuyant sur le bouton "Close"


    _______________________Simuler enfin!_______________________

    4.1. Démarrer mBlock, y mettre un code de test comme 'pilotage/tourner à droite', et se connecter sur le port choisi (3.9.) par exemple COM10.
    nota: on peut se reconnecter après le lancement de VSPE mais il est + judicieux de lancer d'abord VSPE.
         => Ces actions créent un lien entre le code de mBlock et l'environnement de simulation qui reproduira alors toutes les actions moteurs, LED, afficheur à segments etc...
    nota: on appelle ça un périphérique virtuel (qui peut être utilisé par 2 programmes (v-rep+mBlock) et nous pouvons observer la nature de l'échange dans VSPE qui peut 'sniffer' cette liaison série virutelle.
    Il est ainsi possible de MONTRER aux élèves ce qu'envoit mBlock à v-rep: c'est le protocole Orion qui, pour mBot, commence toujours par FF 55.
    Il est presque facile de reconnaître la commande envoyée: un start ou un stop (càd le drapeau vert) est la toujours la même trame $FF $55 $0D $0A

    4.2. Démarrer la simulation sur V-REP (triangle gris en haut) et lancer le code dans mBlock (drapeau start ou action clavier).
      => Le modéle 3D (trés fidèle cf sketchUp 3D/warehouse) du robot mBot
        + exécute les ordres,
        + est pilotable par le clavier autorisant ainsi facilement la mise au point du programme notamment pour répondre à la problèmatique du réglage
         quel mouvement? /quelle tempo? puis, quel temps d'attente, puis quel autre mvt suivant etc...
        + simule des capteurs et actionneurs, à l'exception des sons (et peut être d'autres commandes, s'informer sur le github du projet)

    ....suite...

    __________________ cas du réseau collège_______________________

    Nous avons du installer  v-rep et VSPE à la racine du disque C, pour des raisons de privilège d'accès.
  •  Celà implique qu'à chaque connection d'un(e) nouvel(le) élève sur le PC, celle-celui ci aura accès au travail de l'élève d'avant.
  • solution: Il est alors simplement conseillé de ne pas utiliser les scènes de base de  v-rep sur 'C' mais de donner une scéne logée dans l'espace de l'élève. Nous avons créé un fichier de config VSPE (en faisant dans VSPE: 'fichier/enregistrer sous') qui force la connection sur COM10. Pour l'instant il n'y a pas d'automatisation et les élèves doivent le lancer en début de séance.
  •  Rappel important: toutes les scènes devront avoir COM10 comme port de communication, et VSPE a été paramétré dans ce sens.


    _______________________(<>)_______________________

    La difficulté est de trouver un numéro de portCOM qui satisfasse et  mBlock, et Windows7 et VSPE! Il n'y a aucune difficulté quant à v-rep.
    _______________________(<>)_______________________

    ATTENTION ICI UNE EXPLICATION PAS TRES CLAIRE
     + Sur un sujet que je ne maîtrise pas totalement (3 logiciels+ les variantes de versions windows) et qui demande votre retour d'expérience.
     + La difficulté de trouver un numéro de portCOM dispo peut être réelle.... si comme moi, vous connecter beaucoup d'équipements 'série' sur le PC (CNC, clavier piano, pieuvre USB,..)
    Windows va créer une liste afin de réserver ses ports pour assurer leur usage initial, et s"en souvenir.

    Avec mBlock v3.4.11, V4 et V5 et  windows 7, il peut y avoir ( mais une seule fois à l'installation), un PROBLEME D ASSOCIATION DU PORT VIRTUEL de la liste des PORTS UTILISABLES.
  • Je n'ai pas eu de pb sous W8 ni sous une tablette lenovo en W10, mais ces machines étaient relativement peu connectées/déconnectées et reconnectées.

    Formulation du pb qui survient qq fois à la 1ere installation !! QUEL numéro de port choisir?

    En perdant le comPort (je rappelle qu'il n'y a aucun équipement 'physique' relié (donc pas de 'vrai' mBot par exemple) et que VSPE simule cette présence), j'ai dû reconnecter un vrai mBot sur le PC.
    Ce mécanisme de connexion physique met à jour une liste des portCom de Windows comme 'nouveau port' --> par exemple un nouveau COM3 s'il n'est pas déjà attribué.


    _______ATTENTION_______ Ce portCom n'est pas forcément reconnu par mBlock V4! mBlock V3.4.11 est 'plus tolérant' et je ne l'abandonne pas pour l'instant). Cela se matérialise en consultant la liste dans l'onglet 'connect' de mBlock et le problème est effectif quand il y a déjà beaucoup de COM 'enregistrés' (>11 dans ma situation).
     (IL FAUDRA PROCEDER A UN NETTOYAGE)
    Il va falloir utiliser l'utilitaire ( Démarrer/Périphérique et imprimante)

        + soit pour pouvoir modifier et attribuer un numéro cohérent au port série --> (par ex mettre COM10 au lieu de COM3)
        + soit désinstaller le/les périphérique(s) (démarrer clic/D sur ordinateur/propriétés/gestionnaires de périphériques/Ports COM et LPT/ on liste et avec un clic/D, on désinstalle les COM surnuméraires)
  • nota: Pour vérifier les ports déjà utilisés : afin de choisir un port libre
     + Démarrer cmd, et
     + exécuter la commande cmd puis
     + "mode" et
     ==> nous obtenons la liste des ports utilisés (donc non disponibles) et nous en déduisons conséquemment ceux que  nous allons pouvoir créer.
  • Une autre façon est d'utiliser le gestionnaire de périphérique de W, mais là nous ne voyons que les ports utilisés à l'instant 't'.

     ++ !! galère galère !! Je ne sais pas d'ou vient le pb, je ne suis pas sûr qu'il y ait un pb car j'utilise peut être une procédure dépréciée.
    Je mets en cause  Mblock ou windows (ici W7)....que les spécialistes de W me pardonnent
                              
        pb identifié mais aléatoirement résolu!!

  •  procédure si nous disposons d'un mBot (c'est + facile!!)
  •  a >déconnecter le mBot de son usb
  •  b> relancer d'il le faut la(procédure de nettoyage)
     ==> on voit apparaitre l'icone..... d'une machine à laver blanche(!!) que microsoft a cru bon de choisir comme l'illustration d'un port série
     ==> (chez moi je vois la machine à laver dans la liste périphérique non spécifiés comme ceci: USB-SERIAL CH340 (COM9))
  • nota: Sur un W7 (je n'ai pas eu à tester sur windows10) nous pouvons alors faire :
  •    ++ un clic D/Propriétés dessus
  •    ++ matériel/propriétés
  •    ++ modifier les paramètres
  •    ++ paramètres du port/paramètres avancés
  •    ++ on a (enfin) la fenêtre et  nous pouvons forcer un nouveau numéro de port COM
  •   ==> En principe, au prochain lancement de mBlock, ce nouveau portCom apparaitra dans la liste des ports connectables.
  •  Nous retenons bien le numéro et nous pouvons débrancher le vrai mBot.... plus tard, nous pourrons émuler virtuelleement avec VSP ce portCom.

  •  Il est possible de devoir arrêter puis relancer mBlock pour pouvoir se reconnecter !!!!.
  •  Enfin il faudra peut-être modifier les paramètres du script des scènes dans le mBotScript mais ça c'est bien maitrisé (cf <modifier le script de scène>)

  • nota/interrogation métaphysique:


  • Ainsi, je suis resté longtemps sur COM51 sans pb (ben 51, je vis en Provence) .... mais j'ai dû repasser en COM10 puis COM9
         ...un coup je te vois, un coup je te vois pas.....on mesure là le peu de maitrise du sujet. Je n'y touche plus et suis maintenant serein,..au moins sur cet aspect

  •     j'ai dû nettoyer la liste des ports com, en suivant l'article sur le sujet
     voir l'article http://www.le-chat-noir-numerique.fr/whitecat/dokuwiki/doku.php?id=clean_ports_com

  • lien vers la note la + récente.

    _________________ fin_______________________