@Mike118
Quels sont les effets de la rampe et du frein dans les commandes d'un servo-moteur, et quelles sont les unités (relatives ou absolues) ?
Posté 16 juillet 2020 - 10:06
Dans la configuration hardware il y a un système de mixages permettant d'associer vos différentes commandes à des actions sur vos différents moteurs avec plus ou moins de gains.
Lors de la mise à jour récente de cette table de mixages en faisant la séparation des Mixages16 pour les commandes16 et des Mixages8 pour les Commandes8 on a implémenté une fonctionnalité de rampe et de frein s'appliquant sur ces commandes avant de passer par les mixages pour être appliqué aux moteurs.
Le rôle de ces deux valeurs ( rampe et frein ) est de lisser les consignes envoyées au robots en permettant de jouer sur la "vitesse d'incrément " de la consigne courante pour atteindre une consigne demandée. La fréquence de calcul d'incrément de ce lissage est hard codé à 50hz ( c'est la fréquence d'un servomoteur ) on fait donc le calcul d'incrémentation toutes les 20ms.
Ces valeurs sont exprimés dans l'unités de votre consigne (sur la période de temps de 20ms qui est hard codé) , par défaut les commandes16 sont exprimés en degré entre -180° et 180° ( car les commandes16 sont généralement utilisés pour piloter les servomoteurs ) et les commandes8 sont en % car généralement utilisés pour piloter un "pwm entre -100 % et 100%" ( en réalité un pwm de 0 à 100% et le signe gérant le changement de sens des moteurs ...) mais vous pouvez choisir de changer vos unités d'affichages si vous le souhaitez ...
Dans l'idée que cela soit pour la rampe ou le frein, le calcul du lissage est assez simple.
Exemple concret :
Si votre consigne courante est à 0 et que vous souhaitez avoir une consigne de 100.
Avec une valeur de incrément à 1 il vous faudra 2s pour que votre consigne augmente progresseivement de 1 en 1 pour atteindre la consigne de 100 démandé ( car incrément de 1 toute les 20 ms ... )
Note : mettre une valeur à 0 désactive la fonctionnalité, et la commande passe directement à 100.
Incrément de rampe ? Ou incrément de Frein ?
En fonction de la consigne demandée, l'incrément utilisé pour le calcul décrit ci dessus sera :
=> soit celui de la rampe dans le cas où la consigne est éloignée de la valeur d'initialisation,
=> soit celui du frein dans le cas où la consigne est presque égale à la valeur d'initialisation.
Vous pouvez donc avoir les cas suivant :
Ces valeurs sont réglables pour chacune des commandes 6 et des commandes 8 dans les tableaux mixages16 et les mixages8 ( l'indice dans le tableau des mixages correspondant à l'indice de la commande, il est important que la taille de ce tableau match avec le nombre de commande correspondante configuré dans votre configuration de la télécommande ! Notez que l'indice dans les tableaux de gains dans chacun des objets mixages correspond lui à l'indice des moteurs , il est donc important que la taille des tableaux gains match avec le nombre de moteurs configuré dans votre configuration hardware.)
Pour rappel les commandes16 ce sont les croix sur le retour vidéo. ( le nombre de croix est configurable )
Les commandes8 c'est je joystick bouton ( dont le nombre est hardcodé à 3 pour le moment )
16 pour 16 bits et donc résolution plus importante que 8 pour 8 bits ...
Si mon commentaire vous a plus laissez nous un avis !
Nouveau sur Robot Maker ?
Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope aux articles, à la boutique et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être !
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!
0 members, 0 guests, 0 anonymous users