- Notifications
You must be signed in to change notification settings - Fork1
Code bas niveau du robot INTech 2019
License
NotificationsYou must be signed in to change notification settings
Association-INTech/TechTheTachyon-LowLevel
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
NB: Plusieurs aspects de configuration du projet sont pensés pour utiliser platformio avec CLion et ne sont ni testés ni prévus pour d'autres IDE.
Pour configurer le projet, deux possibilités:
- Utiliser le script
setup.sh. Se charge d'installer platformio avec apt ou pacman et d'initialiser le projet. - À la main, en suivant les étapes suivantes
- Installer Platformioversion > 4.1 (Guide d'installation)
- Initialisez le sous-module DynamixelCom avec la commande:
git submodule update --init - 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
./setup.shUniquement pour CLion pour le moment. (Peut se charger de l'installation de platformio avec apt et pacman)
Une fois que le projet est configuré, vous pouvez l'ouvrir avec l'IDE de votre choix.
Afin de fusionner les branches des deux robots et d'éviter les divergences, un système à base de define et de#if defined
a été mit en place.
Pour choisir un robot en particulier:
- Choisir le nom du robot dans la liste au dessus des cibles (
PLATFORMIO_BUILDetc) - Vous devriez avoir
PLATFORMIO_** | mainouPLATFORMIO_** | slave - Exécuter la cible désirée (
PLATFORMIO_BUILDpour build,PLATFORMIO_UPLOADpour upload...)
La configurationAll permet d'exécuter la commande pour les deux robots
- Compléter le nouveau MCS
- Asservissement
- Vérifier l'état de la communication LL/HL
- Implémenter les nouveaux ordres
- Ordre propre pour la récupération de données d'asservissement + scripts en conséquence
- Mise en place de cas d'erreur explicites et plus nombreux pour le HL
- Meilleure façon de séparer les robots dans le code
- Gagner la Coupe
| Ordres | Actions |
|---|---|
| ping | 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 |
| 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 |
| 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 |
| maxtr | Vitesse maximale de translation |
| maxro | Vitesse maximale de rotation |
| nh | Créé un nouveau hook (id,x,y,r,α,tolerance,action) |
| eh | Active le hook |
| dh | Désactive le hook |
| Ordres | Actions | Arguments |
|---|---|---|
| lectureSICK | Renvoie les 6 distances lues par les SICK (dans le sens trigo) | N/A |
| testSICK | Renvoie la valeur d'un seul capteur SICK | indice du capteur |
| rangeSICK | Configure la fenêtre de détection d'un SICK (pour que le LL connaisse les valeurs) | indice, min, max |
| Ordres | Actions | Arguments |
|---|---|---|
| XLm | Envoie le XL-430 à un α en ° | id XL / α |
| XLs | Modifie la vitesse d'un XL-430 | id XL / speed |
| posBras | Récupère les angles (en °) d'un bras | side(left/right) |
| brasToutDroit | Envoie le bras à la position "tout droit" | side(left/right) |
| dist | Envoie le bras à la position "distributeur" | side(left/right) |
| grnd | Envoie le bras à la position "sol" | side(left/right) |
| stock | Envoie le bras à la position "ascenceur" | side(left/right) |
| acc | Envoie le bras à la position "accélérateur" | side(left/right) |
| posinter | Envoie le bras à la position "intermediaire" | side(left/right) |
| up | Monte l'ascenceur de la hauteur d'un palet | side(left/right) |
| down | Descend l'ascenseur de la hauteur d'un palet | side(left/right) |
| suck | Active la pompe | side(left/right) |
| unsuck | Désactive la pompe | side(left/right) |
| valveon | Active l'électrovanne | side(left/right) |
| valveoff | Désactive l'électrovanne | side(left/right) |
| gold | Envoie le bras à la position "goldonium" | / |
| bal | Envoie le bras à la position "balance" | side(left/right) |
| elec | Démarre l'électron | / |
| torqueBras | Donne la couleur du palet pris (selon le couple) | side(left/right) / position |
| torqueXL | Donne le couple d'un XL | id XL |
| Ordres | Actions |
|---|---|
| reseteth | Redémarre le module ethernet |
| toggle | Change le mode de réglage d'asserv |
| displayAsserv | 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 |
About
Code bas niveau du robot INTech 2019
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Contributors13
Uh oh!
There was an error while loading.Please reload this page.