ropy/README.md

104 lines
7.1 KiB
Markdown
Raw Normal View History

2022-02-24 11:43:59 +01:00
# Ropy
2022-02-24 12:48:30 +01:00
**Découvre le Python avec Ropy (code ton aventure)**
2023-02-08 18:15:15 +01:00
<!-- **Discover Python with Ropy (coding adventure)**<br/> -->
2022-02-24 11:43:59 +01:00
2022-10-19 23:41:15 +02:00
Ropy est un rover martien qui se programme en Python. Les aventures de Ropy permettent la découverte de la programmation procédurale et du language Python. A
2022-11-12 17:00:51 +01:00
travers les différents missions, donc de manière graduée, les élèves vont apprendre à manipuler les structures algorithmiques et à les coder en Python.
2023-03-12 14:14:05 +01:00
[![Ropy présentation](img/lien_video.png)](https://tube-sciences-technologies.apps.education.fr/w/b11be555-bd05-462b-8ff6-177ec18c1830)
2022-11-12 17:00:51 +01:00
![Poster](img/poster.png)
2022-02-24 11:43:59 +01:00
2022-02-24 12:01:56 +01:00
Ropy a fortement été inpiré par [RobotProg](http://www.physicsbox.com/indexrobotprogfr.html) et [Light Bot](https://lightbot.com/).
2022-02-24 11:43:59 +01:00
2022-11-02 19:21:27 +01:00
## Téléchargement
2022-04-21 14:10:28 +02:00
2023-11-06 08:01:14 +01:00
Les binaires (Game Engine Runtime) sont hébergés sur [phroy.org](https://www.phroy.org/ropy.html).
2022-02-24 11:43:59 +01:00
2022-11-02 19:21:27 +01:00
## Instructions et missions
2022-02-24 11:43:59 +01:00
2023-11-06 08:01:14 +01:00
Le script Python qui permet la commande du robot est le fichier **'rp_cmd.py'**. Il est éditable avec tout éditeur (Spyder, Emacs, Pulsar, ...).
2022-02-24 11:43:59 +01:00
2022-02-24 12:01:56 +01:00
Les instructions de base sont :
2022-04-21 14:06:16 +02:00
- Avancer : **rp_avancer()**
2022-10-21 18:11:19 +02:00
- Reculer : **rp_reculer()**
2022-04-21 14:06:16 +02:00
- Tourner à gauche : **rp_gauche()**
- Tourner à droite : **rp_droite()**
- Marquer la case : **rp_marquer()**
2022-10-22 01:11:38 +02:00
- Détecter la présence d'un mur devant à un pas : **rp_detect()** -> retourne True en présence d'un mur et False en absence de mur
2022-02-24 11:43:59 +01:00
2022-11-02 19:21:27 +01:00
Il y a 6 missions :
- Mission 1 : Les premiers pas de Ropy
- Mission 2 : Ma première fonction
- Mission 3 : Sécuriser Ropy
- Mission 4 : Partir au bout du monde
- Mission 5 : Faire face à l'inconnu
- Mission 6 : Se rendre utile
2022-02-24 11:43:59 +01:00
2022-10-21 22:29:38 +02:00
Du niveau 1 au niveau 5, chaque niveau donne lieu à la découverte d'une nouvelle structure algorithmique. Le niveau 6 correspond à la mission principale,
2022-10-21 22:32:33 +02:00
il faudra mobiliser l'ensemble de structures vues précédement.
2022-10-21 22:29:38 +02:00
2022-11-13 15:59:29 +01:00
Par son interface sur le port série, Ropy peut devenir le jumeau numérique d'un robot réel. Trois missions sont proposées sur son **jumelage avec le robot
2022-11-14 04:26:05 +01:00
Maqueen** (carte micro:bit) présentes dans les documents pédagogiques.
2022-10-21 22:29:38 +02:00
2022-11-14 07:56:46 +01:00
Deux vidéos :
2022-11-27 10:22:25 +01:00
- [Mise en place et présentation (version longue) de Ropy](https://tube-sciences-technologies.apps.education.fr/w/aGrLM2tkG356hMQWzsvqtd),
- [Jumelage de Ropy avec Maqueen](https://tube-sciences-technologies.apps.education.fr/w/2cekcqLFWgLHWidYPS4ZFb).
2022-11-14 07:56:46 +01:00
2023-02-08 18:15:15 +01:00
## Ressources pédagogiques
2022-11-02 19:21:27 +01:00
Les applications pédagogique se trouvent dans le [dépôt des ressources pédagogiques du projet Blender-EduTech](https://forge.apps.education.fr/blender-edutech/blender-edutech-ressources-pedagogiques) :
- [Enseignements de la matière Sciences numériques et technologie (SNT)](https://forge.apps.education.fr/blender-edutech/blender-edutech-ressources-pedagogiques/-/tree/main/Lycee/Programmation%20Python/Ropy%20-%20SNT),
- [Enseignements de la spécialité Sciences de l'Ingénieur en application](https://forge.apps.education.fr/blender-edutech/blender-edutech-ressources-pedagogiques/-/tree/main/Lycee/Programmation%20Python/Ropy),
- [Enseignements technologiques I2D/2I2D en STI2D en activation](https://forge.apps.education.fr/blender-edutech/blender-edutech-ressources-pedagogiques/-/tree/main/Lycee/Programmation%20Python/Ropy%20-%20Activation),
- [Enseignements technologiques I2D/2I2D en STI2D en application](https://forge.apps.education.fr/blender-edutech/blender-edutech-ressources-pedagogiques/-/tree/main/Lycee/Programmation%20Python/Ropy).
2022-11-02 19:21:27 +01:00
2022-11-12 17:00:51 +01:00
Ropy est une plateforme pédagogique où d'autres missions pouvent être dévelopées pour mettre en oeuvre des concepts comme la programmation objet, le
multithreading ou encore le machine learning.
2022-11-02 19:21:27 +01:00
## 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>
2023-11-28 18:21:08 +01:00
<td> <div> Les fichiers sources sont dans le projet <b>Blender-Edutech / Ropy</b> de La Forge des Communs Numériques Éducatifs :
https://forge.apps.education.fr/blender-edutech/ropy . </div> <div> &nbsp; </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) et le langage [Python](https://python.org).
</div> <div> &nbsp; </div> <div> La version de Blender/UPBGE utilisée pour le développement est la version 0.36.1 (20 août
2024-01-02 11:55:38 +01:00
2023). Etant trop lente sous Windows, la version utilisée pour le déploiement (mise en production) est la version 0.30 (3 décembre 2021).</td>
</tr>
</table>
Les bibliothèques suivantes ne sont pas incluses par défaut dans l'environnement UPBGE :
2022-12-21 05:54:42 +01:00
- [**Pylint**](https://pylint.pycqa.org) : vérificateur du code Python
- [**pySerial**](https://pyserial.readthedocs.io) : communication sur le port série
2023-02-05 18:17:16 +01:00
- [**pyFirmata**](https://pyfirmata.readthedocs.io) : protocole Firmata (protocole générique de communication entre un logiciel et un microcontrôleur)
- [**wxPython**](https://www.wxpython.org/) : interface graphique utilisateur (GUI, utilisé ici pour Windows)
2024-01-02 08:18:25 +01:00
- [**pyQt6**](https://www.riverbankcomputing.com/software/pyqt/) : interface graphique utilisateur (GUI, utilisé ici pour GNU/Linux)
2022-11-02 19:29:31 +01:00
Il faut donc les installer localement (dans UPBGE), les étapes sont :
2023-12-31 01:20:36 +01:00
- **GNU/Linux** : La configuration ici présente est UPBGE installé sur ~ avec Python 3.10 :
2023-12-31 01:26:22 +01:00
- Aller dans le répertoire local de Python de UPBGE: $ cd ~/upbge-0.36.1-linux-x86_64/3.6/python/bin
2023-02-05 18:17:16 +01:00
- 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)
2023-12-31 01:20:36 +01:00
- Installer le gestionnaire de paquet Pip : $ ./python3.10 get-pip.py
2023-02-05 18:17:16 +01:00
- Installer Pylint : $ ./pip install pylint
- Installer pySerial : $ ./pip install pyserial
- Installer pyFirmata : $ ./pip install pyfirmata
2024-01-02 08:18:25 +01:00
- Installer PyQt6 : $ ./pip install PyQt6
2023-02-05 18:17:16 +01:00
- **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)
2023-12-31 01:26:22 +01:00
- 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
2023-02-05 18:17:16 +01:00
- 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
2024-01-02 09:06:31 +01:00
- Aller dans le répertoire 'Scripts' : cd C:\Users\prenom.nom\Desktop\upbge-0.36.1-windows-x86_64\3.6\python\Scripts
2023-02-05 18:17:16 +01:00
- Installer Pylint : pip.exe install pylint
- Installer pySerial : pip.exe install pyserial
- Installer pyFirmata : pip.exe install pyfirmata
- Installer wxPython : pip.exe install wxpython
2024-01-09 12:16:03 +01:00
- 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