mirror of
https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques.git
synced 2024-01-27 06:56:18 +01:00
120 lines
8.9 KiB
Markdown
120 lines
8.9 KiB
Markdown
# Jumeaux numériques
|
|
<!-- # Digital Twin -->
|
|
|
|
Un jumeau numérique d'un système technique permet de visualiser son comportement à travers une maquette numérique. Le principal intérêt est de valider un
|
|
modèle comportemental d'abords par la simulation (avant mise en oeuvre du jumeau réel) puis expérimentalement (mesure des écarts entre les deux jumeaux).
|
|
|
|
Ici le jumeau numérique d'un système pluritechnologique va nous servir à programmer le système en simulant (hors ligne) son évolution. Nous pourrons alors
|
|
mettre en lien les deux jumeaux et appliquer les règles programmées sur le jumeau réel.
|
|
|
|
Lors de l'exécution du cycle, tous écarts entre les deux jumeaux seront mesurés afin de corriger le modèle comportemental. Par aileurs, les évènements
|
|
numériques impacteront le jumeau réel et les évènements réels impacteront aussi le jumeau numérique.
|
|
|
|
**Systèmes** :
|
|
|
|
* [Monte-charge](https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques/-/tree/main/monte_charge)
|
|
* [Portail coulissant](https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques/-/tree/main/portail_coulissant)
|
|
* [Volet roulant](https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques/-/tree/main/volet_roulant)
|
|
|
|
Systèmes dont le jumeau numérique est cours de développement :
|
|
* Labyrinthe à bille : [tutoriel à destination des enseignants souhaitant découvrir la plateforme UPBGE](https://forge.apps.education.fr/blender-edutech/blender-edutech-tutoriels/-/tree/main/labyrinthe)
|
|
* Bras robotisé Poppy Ergo Jr ([Poppy](https://www.poppy-project.org/en/robots/poppy-ergo-jr/))
|
|
* Robot haptique ([SET](https://setdidact.com/voie-generale-et-technologique/sciences-de-lingenieur/))
|
|
* Cobot souple ([Dossier personnel](https://nuage03.apps.education.fr/index.php/s/PMFdMPWprEZoWiR?path=%2F2022))
|
|
|
|
[![Jumeaux numériques présentation](img/lien_video.png)](https://tube-sciences-technologies.apps.education.fr/w/7B1BtC92PTW5dmRfJPsKhk)
|
|
|
|
## Jumelage numérique
|
|
|
|
Le jumelage numérique est basé sur la liaison série entre l'ordinateur (port USB) et un micro-contrôleur Arduino (Uno ou Mega). Suivant les jumeaux numériques,
|
|
le protocole de communication peut être le protocole générique Firmata ou un protocole spécifique.
|
|
|
|
[![Vidéo du test de jumelage du portail coulissant](img/lien_video-2.png)](https://tube-sciences-technologies.apps.education.fr/w/sVSgBfGssESLBhHGMg98AR)
|
|
|
|
## Téléchargement
|
|
|
|
Les binaires (Game Engine Runtime) sont hébergés sur [phroy.org](https://www.phroy.org/twin.html).
|
|
|
|
## Ressources pédagogiques
|
|
|
|
Les applications pédagogique se trouvent dans le [dépôt des ressouces pédagogiques du projet Blender-EduTech](https://forge.apps.education.fr/blender-edutech/blender-edutech-ressources-pedagogiques) :
|
|
- [Enseignements de la spécialité Sciences de l'Ingénieur](https://forge.apps.education.fr/blender-edutech/blender-edutech-ressources-pedagogiques/-/tree/main/Lycee/programmation_python/si/jumeau_numerique).
|
|
|
|
## Modèles 3D (CAO)
|
|
|
|
Les modélisation CAO des maquettes numériques sont dans le [dépôt des modèles 3D du projet Blender-EduTech](https://forge.apps.education.fr/blender-edutech/blender-edutech-modeles-3d/).
|
|
|
|
Un autre objectif de ce projet est l'auto-construction des maquettes réelles :
|
|
- [Portail coulissant](https://forge.apps.education.fr/blender-edutech/blender-edutech-modeles-3d/-/tree/main/portail_coulissant).
|
|
|
|
Elle doivent pouvoir être fabriquées dans un FabLab (impression 3D et découpe laser). Les composants sont principalement basés l'éco-système
|
|
[Arduino](https://www.arduino.cc) et les modules [Grove](https://wiki.seeedstudio.com/Grove_System).
|
|
|
|
## Développement
|
|
|
|
<table>
|
|
<tr>
|
|
<td> <div> <a href="https://forge.apps.education.fr"> <img src="img/la_forge-brigit_et_komit-blanc.svg" alt="Brigit et Komit"> </a> </div> </td>
|
|
<td> <div> Les fichiers sources sont dans le projet <b>Blender-Edutech / Jumeaux numériques</b> de La Forge des Communs Numériques Éducatifs :
|
|
https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques . </div> <div> </div> <div> L'environnement de développement est basé sur : la plateforme de
|
|
modélisation et d'animation 3D [Blender](https://blender.org), le moteur de jeu 3D [UPBGE](https://upbge.org), le langage [Python](https://python.org) et
|
|
les micro-contrôleurs [Arduino](https://www.arduino.cc). </div> <div> </div> <div> La version de Blender/UPBGE utilisée pour le développement est la version 0.36.1 (20 août
|
|
2023).</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
|
|
Les bibliothèques suivantes ne sont pas incluses par défaut dans l'environnement UPBGE :
|
|
- [**Pylint**](https://pylint.pycqa.org) : vérificateur de code Python
|
|
- [**pySerial**](https://pyserial.readthedocs.io) : communication sur le port série
|
|
- [**pyFirmata**](https://pyfirmata.readthedocs.io) : protocole Firmata (protocole générique de communication entre un logiciel et un microcontrôleur)
|
|
- [**Matplotlib**](https://matplotlib.org) : grapheur (visualisation de données)
|
|
- [**wxPython**](https://www.wxpython.org/) : interface graphique utilisateur (GUI, utilisé ici pour Windows)
|
|
- [**pyQt6**](https://www.riverbankcomputing.com/software/pyqt/) : interface graphique utilisateur (GUI, utilisé ici pour GNU/Linux)
|
|
|
|
<!-- - [**whell**](https://pyfirmata.readthedocs.io) : format de paquet Python -->
|
|
|
|
Il faut donc les installer localement (dans UPBGE), les étapes sont :
|
|
- **GNU/Linux** : La configuration ici présente est UPBGE installé sur ~ avec Python 3.10 :
|
|
- Aller dans le répertoire local de Python de UPBGE: $ cd ~/upbge-0.36.1-linux-x86_64/3.6/python/bin
|
|
- Télécharger le script ['get-pip.py'](https://bootstrap.pypa.io/get-pip.py) pour installer le gestionnaire de paquet [**Pip**](https://pip.pypa.io)
|
|
- Installer le gestionnaire de paquet Pip : $ ./python3.10 get-pip.py
|
|
- Installer Pylint : $ ./pip install pylint
|
|
- Installer pySerial : $ ./pip install pyserial
|
|
- Installer pyFirmata : $ ./pip install pyfirmata
|
|
- Installer Matplotlib : $ ./pip install matplotlib
|
|
- Installer PyQt6 : $ ./pip install PyQt6
|
|
|
|
<!-- - Installer Pylint : $ ./pip install pylint -t ~/UPBGE-0.30-linux-x86_64/3.0/python/lib/python3.9/site-packages -->
|
|
<!-- - Installer pySerial : $ ./pip install pyserial -t ~/UPBGE-0.30-linux-x86_64/3.0/python/lib/python3.9/site-packages -->
|
|
<!-- - Installer pyFirmata : $ ./pip install pyfirmata -t ~/UPBGE-0.30-linux-x86_64/3.0/python/lib/python3.9/site-packages -->
|
|
<!-- - Installer Matplotlib : $ ./pip install matplotlib -t ~/UPBGE-0.30-linux-x86_64/3.0/python/lib/python3.9/site-packages -->
|
|
<!-- - Installer PyQt6 : $ ./pip install PyQt6 -t ~/UPBGE-0.30-linux-x86_64/3.0/python/lib/python3.9/site-packages -->
|
|
|
|
- **Windows** : La configuration ici présente est UPBGE installé sur le bureau utilisateur (prenom.nom) :
|
|
- Ouvrir un terminal Powershell (éventuellement en passant par Anaconda Navigator)
|
|
- Aller dans le répertoire local de Python de UPBGE: cd C:\Users\prenom.nom\Desktop\upbge-0.36.1-windows-x86_64\3.6\python\bin
|
|
- Télécharger le script ['get-pip.py'](https://bootstrap.pypa.io/get-pip.py) pour installer le gestionnaire de paquet [**Pip**](https://pip.pypa.io)
|
|
- Installer le gestionnaire de paquet Pip : python.exe get-pip.py
|
|
- Aller dans le répertoire 'Scripts' : cd C:\Users\prenom.nom\Desktop\upbge-0.36.1-windows-x86_64\3.6\python\Scripts
|
|
- Installer Pylint : pip.exe install pylint
|
|
- Installer pySerial : pip.exe install pyserial
|
|
- Installer pyFirmata : pip.exe install pyfirmata
|
|
- Installer Matplotlib : pip.exe install matplotlib
|
|
- Installer wxPython : pip.exe install wxpython
|
|
|
|
- Si l'installation des paquets Python ne se fait pas dans le bon répertoire ('site-packages' des bibliothèques du Python embarqué par UPBGE), il faut allors spécifier le répertoire cible avec
|
|
l'option '-t target' lors de la commande 'pip install'. Par exemple pour Pylint :
|
|
- **GNU/Linux** : $ ./pip install pylint -t ~/upbge-0.36.1-linux-x86_64/3.6/python/lib/python3.10/site-packages
|
|
- **Windows** : $ pip.exe install pylint -t C:\Users\prenom.nom\Desktop\upbge-0.36.1-windows-x86_64\3.6\python\lib\site-packages
|
|
|
|
<!-- - **Windows** : La configuration ici présente est UPBGE installé sur le bureau utilisateur (prenom.nom) avec la distribution Anaconda installée : -->
|
|
<!-- - Avec Anaconda Navigator ouvrir un terminal Powershell -->
|
|
<!-- - Installer Pylint : pip install pylint -t C:\Users\prenom.nom\Desktop\UPBGE-0.30-windows-x86_64\3.0\python\lib\site-packages -->
|
|
<!-- - Installer pySerial : pip install pyserial -t C:\Users\prenom.nom\Desktop\UPBGE-0.30-windows-x86_64\3.0\python\lib\site-packages -->
|
|
<!-- - Installer pyFirmata : pip install pyfirmata -t C:\Users\prenom.nom\Desktop\UPBGE-0.30-windows-x86_64\3.0\python\lib\site-packages -->
|
|
<!-- - Installer Matplotlib : pip install matplotlib -t C:\Users\prenom.nom\Desktop\UPBGE-0.30-windows-x86_64\3.0\python\lib\site-packages -->
|
|
<!-- - Installer wxPython : pip install wxpython -t C:\Users\prenom.nom\Desktop\UPBGE-0.30-windows-x86_64\3.0\python\lib\site-packages -->
|
|
|