Pour pouvoir utiliser le projet:
- Installez python2, puis platformio
- Clonez ce dépot
- Ouvrez un terminal dans le dossier du dépot, et effectuez la commande
pio init --ide IDE board teensy35
avec IDE=clion si vous utilisez CLion, ou vscode si vous utilisez Visual Studio Code - Ajoutez
include_directories(src)avant la commandeadd_executable(...)dans le fichier CMakeLists.txt - Ouvrez le dossier du dépot avec CLion ou VSCode.
- Gagnez la coupe
- Communication Ethernet de base
- Ordres Des Actionneurs
- Asservissement
- Asservissement encore meilleur
- Capteurs
- Hooks
- Canal de Position (établir la fréquence d'envoie et le header associé avec le HL) & détection de fin de mouvement
- Détection des blocages physiques et transmission sur le canal Event
- Mise en place de la basic Detection (Envoi d'event si obstacle trop proche)
- Fusion de la gestion Série/Ethernet
- Gérer les ordres grâce à une classe pour que ce soit propre
- Mise en place de cas d'erreur explicites et plus nombreux pour le HL
- MotionControl point à point(avec réorientation progressive)
- Ordre propre pour la récupération de données d'asservissement + scripts en conséquence
| Ordres | Actions |
|---|---|
| ? | Ping le LL |
| j | Active l'attente de l'activation du jumper |
| sus | Switch les US ou choisit leur état (on/off) |
| f | Check le mouvement |
| ?xyo | Position + Orientation |
| d | Translate de x mm |
| t | Tourne de α rad, dans le sens demandé ou librement |
| stop | Stop |
| cx | Set x d'origine |
| cy | Set y d'origine |
| co | Set α d'origine |
| cxyo | Set x,y,α d'origine |
| ctv | Set translation speed |
| crv | Set rotation speed |
| ctrv | Set translation+rotation speed |
| efm | Enable forced movment |
| dfm | Disable forced movment |
| ct0 | Désactive l'asserv en translation |
| ct1 | Active l'asserv en translation |
| cr0 | Désactive l'asserv en rotation |
| cr1 | Active l'asserv en rotation |
| cv0 | Désactive l'asserv en vitesse |
| cv1 | Active l'asserv en vitesse |
| seti2c | Set les capteurs I2C |
| cod | Retourne les ticks de codeuse |
| pfdebug | Info de debug sur la position |
| rawpwm | Demande un PWM brut aux deux moteurs |
| getpwn | Retourne le PWM des deux moteurs |
| errors | Retourne les erreurs d'incertitude |
| rawdistance | Retourne la distance brute en ticks |
| rawspeed | Vitesse brute des roues |
| rawposdata | Pos x,y,α; vL,vR, targetvL,targetvR |
| montlhery | Mode de présentation |
| av | Avance |
| rc | Recule |
| td | Tourne à droite |
| tg | Tourne à gauche |
| sstop | Arrêt |
| nh | Créé un nouveau hook (id,x,y,r,α,tolerance,action) |
| eh | Active le hook |
| dh | Désactive le hook |
| emergencyStop | Arrète brutalement le robot et DESACTIVE l'asserv |
| resumeEmergencyStop | Redemarre l'asserv après un emergencyStop |
| Ordres | Actions |
|---|---|
| AXm | Envoie l'AX12 à un α en ° |
| AXGm | Envoi un groupe à un α en ° |
| AXs | Modifie la vitesse d'un AX12 |
| AXGs | Modifie la vitesse d'un groupe |
| alp | Active la pompe |
| dlp | Désactive la pompe |
| blbAvbei | Baisse le bras avant pour abeille |
| blbAv | Baisse le bras avant |
| rlbAv | Relève le bras avant |
| flpAv | Ferme la porte avant |
| olpAv | Ouvre la porte avant |
| olpAvp | Ouvre légèrement la porte avant |
| aeAv | Active l'électrovanne avant |
| deAv | Désactive l'électrovanne avant |
| blbArbei | Baisse le bras arrière pour abeille |
| blbAr | Baisse le bras arrière |
| rlbAr | Relève le bras arrière |
| flpAr | Ferme la porte arrière |
| olpAr | Ouvre la porte arrière |
| olpArp | Ouvre légèrement la porte arrière |
| aeAr | Active l'électrovanne arrière |
| deAr | Désactive l'électrovanne arrière |
| ccAv | Check cube Avant |
| ccAr | Check cube Arriere |
| bde | Active la basic detection |
| bdd | Désactive la basic detection |
| Ordres | Actions |
|---|---|
| toggle | Change le mode de réglage d'asserv |
| display | Retourne les constantes d'asserv |
| kpt | Set le kp de translation |
| kdt | Set le kd de translation |
| kit | Set le ki de translation |
| kpr | Set le kp de rotation |
| kdt | Set le kd de rotation |
| kit | Set le ki de rotation |
| kpg | Set le kp de vitesse à gauche |
| kdg | Set le kd de vitesse à gauche |
| kig | Set le ki de vitesse à gauche |
| kpd | Set le kd de vitesse à droite |
| kdg | Set le kd de vitesse à droite |
| kig | Set le ki de vitesse à droite |