diff --git a/README.md b/README.md index 2afc086..fdb43e9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,21 @@ # Contrôleur de Petite Machine à Bois (PMB™) +## Utilisation Pour lancer le script, d'abord lancer le simulateur dans un terminal, puis, dans un second terminal lancer le programme `main`. Dans `main` on met les instructions gcode, qui peuvent être converties depuis un fichier svg par le programme `svgtroppagcode.py`. Ce dernier utilisant la bibliothèque `toppra`, il faut une version compatible `numpy<=1.21.6`, version de numpy qui n'est installable que pour des versions de python pré 3.6, ce qui rend le code contrôlleur très complexe à utiliser... N'hésitez pas à revenir vers nous si besoin. + +## Fonctionnement +Le programme fonctionne de la manière suivante: +- On crée une socket par laquelle vont transiter les informations. +- On dispose d'un contrôleur "local" et d'un simulateur "distant" qui dispose d'un modèle physique plus réaliste que notre contrôleur. +- En se basant sur le GCode en entrée, le contrôleur calcule les vitesses de commande à envoyer aux deux moteurs de la PMB™ et les envoie à la socket. +- Le simulateur intègre alors les vitesses des moteurs pour obtenir une position "réelle" (en réalité ce sera directement des capteurs sur la PMB™) et les envoie à la socket. +- Le contrôleur va alors modifier les vitesses de commande pour s'adapter aux positions "mesurées". + +### Contrôle de l'Entrée +Pour l'entrée, on propose deux méthodes: +- Une qui traduit fidèlement un fichier .svg sans prendre en compte aucune contrainte. +- Une qui échantillonne des points sur des fichiers .svg et reparamétrise les courbes en tenant en compte de contraintes de vitesses maximales et d'accélération maximale. Cette seconde méthode à le grand défaut de linéariser les courbes, avec une précision fortement arbitraire.