2022-02-24 11:43:59 +01:00
# Ropy
2022-02-24 12:48:30 +01:00
**Discover Python with Ropy (coding adventure)**< br / >
**Découvre le Python avec Ropy (code ton aventure)**
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.
[![Ropy présentation ](img/ropy-v2-presentation.png )](http://www.phroy.org/cloud/index.php/s/Axx4cQdbkaX6mPP)
![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-10-21 18:05:44 +02:00
Ce jeu sérieux fait partie du projet open source [Blender-EduTech (Blender/UPBGE pour l'Enseignement Technologique) ](https://gitlab.com/blender-edutech ).
2022-11-02 19:21:27 +01:00
## Téléchargement
2022-04-21 14:10:28 +02:00
2022-11-07 10:41:29 +01:00
Les binaires (Game Engine Runtime) sont hébergés sur [phroy.org ](http://www.phroy.org/cloud/index.php/s/6K2g6sPLAoK8rj5 ).
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
2022-11-02 19:29:31 +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, Atoms, ...).
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-12 17:00:51 +01:00
## Jumeau numérique
2022-11-12 17:13:29 +01:00
Ropy par son interface sur le port série peut devenir le jumeau numérique d'un robot réel. Ci-dessous vous trouverez le pilotage du robot Maqueen (carte micro:bit) par Ropy.
2022-11-12 17:00:51 +01:00
[![Ropy et Maqueen ](img/ropy-jumeau_numerique.png )](http://www.phroy.org/cloud/index.php/s/6zrXAPqWwxNpXHy)
2022-10-21 22:29:38 +02:00
2022-11-02 19:21:27 +01:00
## Documents pédagogiques
2022-10-21 22:29:38 +02:00
Les applications pédagogique se trouvent dans le [dépôt des documents pédagogiques du projet Blender-EduTech ](https://gitlab.com/blender-edutech/blender-edutech-oer-french ) .
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
L'environnement de développement est basé sur : la plateforme de modélisation et d'animation 3D Blender ( https://blender.org ), le langage Python
(https://python.org ) et le moteur de jeu 3D UPBGE ( https://upbge.org ).
Le code source, les fichiers blender et les assets sont hébergés sur le dépôt [gitlab ](https://gitlab.com/blender-edutech/ropy ).
2022-11-12 17:13:29 +01:00
La bibliothèque **serial** utilisée pour la communication sur le port série (jumeau numérique) n'est pas incluse par défaut dans l'environnement UPGE.
2022-11-02 19:29:31 +01:00
2022-11-12 17:07:55 +01:00
Il faut donc l'installer localement, les étapes sont :
2022-11-02 19:29:31 +01:00
- La configuration ici présente est UPBGE installé sous GNU-Linux sur ~ avec Python 3.9
- Aller dans le répertoire local de Python de UPBGE: $ cd ~/UPBGE-0.30-linux-x86_64/3.0/python/bin
2022-11-02 19:34:22 +01:00
- Installer localement (UPBGE) le gestionnaire de paquet pip : $ ./python3.9 -m ensurepip --default-pip
- Installer localement (UPBGE) la bibliothèque serial : $ ./pip install serial -t ~/UPBGE-0.30-linux-x86_64/3.0/python/lib/python3.9/site-packages