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 assez détaillée, ciblée 'profs' (anglais) comment installer v-rep? mise en oeuvre de v-rep, principes généraux.
         ou voir la note (i) très détaillée, rédigée en français.
  2. (i) voir note d'installation par JC Holstein
  3. vidéos  pour les 6-5-4-3e vidéos 'comment colorier son robot?' + un  exemple de simulation du code mBlock animant un robot 3D mBot
  4. vidéo mBlock-->VSPE-> modif portCOM et lancement simulation v-rep (youTube)
  5. les moteurs de simulations physiques de v-rep
  6. ancienne note d'installation (JC Holstein)
  7. bientôt une suite...

_______ATTENTION _______

 Cette note, qui est un second 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 v-rep+VSPE+(mBlock) --> paramétrage v-rep + VSPE --> run VSPE-> mBlock -> v-rep

   

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
          le symbole '==>' signifiera 'le résultat de votre action'
           => 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 (Cliquez 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 est 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 recommencer 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" 

  • 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-cliquez 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.

  •   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' (très instructif)
     ==> 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 valeur de portCom  libre, dans le champ 'Parameter proporties'

    _______ATTENTION _______>  Certains ports ne sont pas sélectionnables par VSPE, ou ne figurent pas dans la liste des ports disponibles de mBlock (car 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:
      1ère affectation: Il faudra choisir un portCOM en adéquation ABSENT de la liste de mBlock (cette liste apparaît en choisissant 'connecter' dans mBlock).
      réutilisation après 1ère affectation: Il faudra choisir un portCOM PRESENT dans la liste de mBlock, mais non connecté par mBlock, sinon VSPE refusera l'affectation  (n/a).
      réutilisation après 1ère affectation: pensez ainsi à bien déconnecter mBlock, (onglet 'connect' et décochez)  ou mieux, à démarrer mBlock après VSPE.
         Cliquez (ici pb) s'il y a pb!

  • 3.3. Dérouler l'ascenseur 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 dans la barre des  messages "Intialisation... OK" apparait en vert et l'état est mis à OK lorsque VSPE a accroché un portCOM.
         L'état 'prêt', différent de 'OK" indique que l"émulation est possible et que VSPE est dans l'attente du start. 
         Si l'état est à 'n/a' (non accessible) voire'error', c'est qu'il  faut changer de port et/ou relancer les applications car l'ordre des 'start' est important.

    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éroulez la branche "mBot" de l'arborescence (cliquez +) "Demo room 1 (scene 1)"
         => La branche apparait 
  • 3.8. Double-cliquez sur la troisème icône de la branche "mBotScript".
         => Une fenêtre "Script parameters" s'ouvre 
  • 3.9. Choisissez "Com port name" et précisez 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. Fermez 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 toujours la même trame $FF $55 $0D $0A

    4.2. Démarrer la simulation sur V-REP  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 (faire 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 le même portCOM (COM10 ds notre ex) 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 Windows et VSPE! Il n'y a aucune difficulté quant à v-rep.

    Avec mBlock v3.4.11, mais surtout  v4 et v5 sous windows 7, en mode de base 'carte mBot',  il peut y avoir ( mais une seule fois à l'installation), un PROBLEME d' ASSOCIATION du PORT VIRTUEL avec la listte des PORTS UTILISABLES de mBlock.
    mBlock v3.4.11 est à préférer, car la liste apparaissant dans 'connect' est mieux mise à jour. (constat à  mai 2018, v4 et v5 semblent poser problème).

    Il n'y a plus de problème lorsqu'on utilise le mode Arduino, qui lui, verra bien le port nouvellement virtualisé (il n'est pas réellement créé) par VSPE grâce à sa console: il semble bien que ce soit un bug de mBlock dans le mode natif  'mBot'.
    Les lycées, qui utilisent le mode Arduino, ne devraient pas être impactés par ce pb.

    Je n'ai pas eu de pb sous W8 ni sous W10 même avec la tablette lenovo, mais ces machines étaient relativement peu connectées/déconnectées et reconnectées.

     (il faudra peut-être PROCEDER A UN NETTOYAGE)     .....  pour voir la procédure, allez voir l'ancienne note d'installation  
  •  

    _________________ fin_______________________