Machines à Etats Finis
Les dernières versions de T-Quad (et prochainement celles de X-Bot et Geeros) sont programmables par machines à états finis. Toutes les informations permettant de mettre à jour votre robot et d'utiliser ces nouvelles possibilités sont décrites ci-dessous.
Procédure de mise à jour pour les robots T-Quad livrés avant le 5 juin 2017
-
Télécharger le fichier de mise à jour:
-
Pour Raspberry Pi:
https://www.3sigma.fr/telechargements/maj_API_MEF_RaspberryPi.zip -
Pour pcDuino:
https://www.3sigma.fr/telechargements/maj_API_MEF_pcDuino.zip
-
Pour Raspberry Pi:
-
Décompresser cette archive sur votre ordinateur. Vous obtenez alors 3 fichiers:
- API_MEF.zip
- maj.sh
-
pyscxml.zip
-
Envoyer ces 3 fichiers sur le robot en utilisant FileZilla (https://filezilla-project.org, multi-plateforme, choisir le protocole SFTP dans Fichier --> Gestionnaire de sites) ou WinSCP (https://winscp.net/eng/docs/lang:fr sur Windows). Les paramètres de connexion sont définis dans la documentation générale du robot
-
Ouvrir une connexion SSH avec le robot (cette commande est native sur Linux et macOS. Sur Windows, utiliser PuTTY (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html))
-
Dans le répertoire /root, exécuter les commandes suivantes:
- chmod 755 maj.sh
- /root/maj.sh
FSM-Editor, logiciel pour la création de machines à états finis
FSM-Editor ne nécessite pas à proprement dit d’installation. Il se télécharge à l’adresse suivante :
https://www.3sigma.fr/telechargements/FSM-editor.jar
Pour l’exécuter, vous devez avoir Java 8 ou supérieur installé sur votre ordinateur. Si ce n’est pas le cas, vous pouvez télécharger la dernière version de Java ici :
https://www.java.com/fr/
Le lancement de FSM-Editor peut se faire de deux manières différentes :
-
soit en double-cliquant sur le fichier fsm-editor.jar que vous avez téléchargé
-
soit en l’exécutant depuis un terminal ouvert dans le répertoire contenant le fichier, avec la commande suivante :
-
java -jar fsm-editor.jar
ou, si la commande « java » n’est pas directement reconnue - /chemin/vers/votre/binaire/java -jar fsm-editor.jar
-
java -jar fsm-editor.jar
Ce mode de programmation faisant largement appel à l'API Python pour le T-Quad, nous vous conseillons de lire au préalable la documentation correspondante (https://github.com/3sigma/T-Quad-API-Python/raw/master/T-Quad_API_Python.pdf).
La documentation dédiée à l'activité "Machines à états finis" du robot T-Quad se trouve quant à elle ici:
https://github.com/3sigma/T-Quad-MachineEtatsFinis/raw/master/T-Quad_MachinesEtatsFinis.pdf
Des exemples de machines sont téléchargeables à l'adresse suivante:
https://github.com/3sigma/T-Quad-MachineEtatsFinis/tree/master/MachinesEtatsFinis
Ils sont également contenus dans l'archive complète de l'activité (https://github.com/3sigma/T-Quad-MachineEtatsFinis/archive/master.zip)
Enfin, le tutoriel vidéo ci-dessous est sans doute une des façons les plus efficaces d'apprendre à utiliser FSM-Editor
Tutoriel sur l'utilisation de FSM-Editor
Ce tutoriel décrit une machine simple permettant de réaliser un évitement d'obstacle avec le T-Quad.
Exemple d'utilisation
La vidéo suivante montre le robot T-Quad programmés par machine à états finis: il suit deux lignes parallèles et passe d'une ligne à l'autre en réalisant une figure de retournement: