Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Code bas niveau du robot INTech 2019

License

NotificationsYou must be signed in to change notification settings

Association-INTech/TechTheTachyon-LowLevel

Repository files navigation

SETUP

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:

  1. Utiliser le scriptsetup.sh. Se charge d'installer platformio avec apt ou pacman et d'initialiser le projet.
  2. À la main, en suivant les étapes suivantes
    1. Installer Platformioversion > 4.1 (Guide d'installation)
    2. Initialisez le sous-module DynamixelCom avec la commande:git submodule update --init
    3. 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.sh Uniquement 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.

UTILISATION

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:

  1. Choisir le nom du robot dans la liste au dessus des cibles (PLATFORMIO_BUILD etc)
  2. Vous devriez avoirPLATFORMIO_** | main ouPLATFORMIO_** | slave
  3. Exécuter la cible désirée (PLATFORMIO_BUILD pour build,PLATFORMIO_UPLOAD pour upload...)

La configurationAll permet d'exécuter la commande pour les deux robots

TODO

  • 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

TABLE DES ORDRES

ORDRES HL ⇒ LL

ORDRES GENERAUX

OrdresActions
pingPing le LL
jActive l'attente de l'activation du jumper
susSwitch les US ou choisit leur état (on/off)
fCheck le mouvement
?xyoPosition + Orientation
dTranslate de x mm
tTourne de α rad, dans le sens demandé ou librement
stopStop
cxSet x d'origine
cySet y d'origine
coSet α d'origine
cxyoSet x,y,α d'origine
ctvSet translation speed
crvSet rotation speed
ctrvSet translation+rotation speed
efmEnable forced movment
dfmDisable forced movment
ct0Désactive l'asserv en translation
ct1Active l'asserv en translation
cr0Désactive l'asserv en rotation
cr1Active l'asserv en rotation
cv0Désactive l'asserv en vitesse
cv1Active l'asserv en vitesse
codRetourne les ticks de codeuse
pfdebugInfo de debug sur la position
rawpwmDemande un PWM brut aux deux moteurs
getpwnRetourne le PWM des deux moteurs
errorsRetourne les erreurs d'incertitude
rawspeedVitesse brute des roues
rawposdataPos x,y,α; vL,vR, targetvL,targetvR
montlheryMode de présentation
avAvance
rcRecule
tdTourne à droite
tgTourne à gauche
sstopArrêt
maxtrVitesse maximale de translation
maxroVitesse maximale de rotation
nhCréé un nouveau hook (id,x,y,r,α,tolerance,action)
ehActive le hook
dhDésactive le hook

Ordres pour les capteurs

OrdresActionsArguments
lectureSICKRenvoie les 6 distances lues par les SICK (dans le sens trigo)N/A
testSICKRenvoie la valeur d'un seul capteur SICKindice du capteur
rangeSICKConfigure la fenêtre de détection d'un SICK (pour que le LL connaisse les valeurs)indice, min, max

ORDRES DE CONTRÔLE D'ACTION

OrdresActionsArguments
XLmEnvoie le XL-430 à un α en °id XL / α
XLsModifie la vitesse d'un XL-430id XL / speed
posBrasRécupère les angles (en °) d'un brasside(left/right)
brasToutDroitEnvoie le bras à la position "tout droit"side(left/right)
distEnvoie le bras à la position "distributeur"side(left/right)
grndEnvoie le bras à la position "sol"side(left/right)
stockEnvoie le bras à la position "ascenceur"side(left/right)
accEnvoie le bras à la position "accélérateur"side(left/right)
posinterEnvoie le bras à la position "intermediaire"side(left/right)
upMonte l'ascenceur de la hauteur d'un paletside(left/right)
downDescend l'ascenseur de la hauteur d'un paletside(left/right)
suckActive la pompeside(left/right)
unsuckDésactive la pompeside(left/right)
valveonActive l'électrovanneside(left/right)
valveoffDésactive l'électrovanneside(left/right)
goldEnvoie le bras à la position "goldonium"/
balEnvoie le bras à la position "balance"side(left/right)
elecDémarre l'électron/
torqueBrasDonne la couleur du palet pris (selon le couple)side(left/right) / position
torqueXLDonne le couple d'un XLid XL

ORDRES SPECIFIQUES LL

OrdresActions
resetethRedémarre le module ethernet
toggleChange le mode de réglage d'asserv
displayAsservRetourne les constantes d'asserv
kptSet le kp de translation
kdtSet le kd de translation
kitSet le ki de translation
kprSet le kp de rotation
kdtSet le kd de rotation
kitSet le ki de rotation
kpgSet le kp de vitesse à gauche
kdgSet le kd de vitesse à gauche
kigSet le ki de vitesse à gauche
kpdSet le kd de vitesse à droite
kdgSet le kd de vitesse à droite
kigSet le ki de vitesse à droite

About

Code bas niveau du robot INTech 2019

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors13


[8]ページ先頭

©2009-2025 Movatter.jp