Étape 1 : Caractérisation de l’entraînement de votre robot

Note

Pour des instructions détaillées sur l’utilisation de l’outil d’identification du système, consultez sa documentation dédiée.

Note

Le processus d’identification du lecteur nécessite suffisamment d’espace pour que le robot puisse conduire. Assurez-vous d’avoir au moins un espace de 10” (idéalement plus proche de 20”) dans lequel le robot peut conduire pendant la routine d’identification.

Note

Les données d’identification de ce didacticiel ont été généreusement fournies par l’équipe 5190, qui les a générées dans le cadre d’une démonstration de cette fonctionnalité lors de l’atelier P2P 2019 de la North Carolina State University.

Avant de suivre avec précision une trajectoire avec un robot, il est important d’avoir un modèle précis de la façon dont le robot se déplace en réponse à ses entrées de commande. La détermination d’un tel modèle est un processus appelé « identification du système ». L’outil d’identification du système de WPILib peut déterminer avec précision un tel modèle.

Collecte des données

Nous commençons par rassembler nos données d’identification de disque.

  1. Configurer et déployer un projet de robot.

  2. Exécutez la routine d’identification.

Analyse des données

Une fois la routine d’identification exécutée et le fichier de données enregistré, il est temps de l’ouvrir dans le volet d’analyse.

Vérification des diagnostics

Selon le guide d’identification du système, nous examinons d’abord les diagnostics pour nous assurer que nos données semblent raisonnables :

Panneau de diagnostic SysId.

Comme nos données semblent raisonnablement linéaires et que les mesures d’ajustement se situent dans des paramètres acceptables, nous passons à l’étape suivante.

Enregistrer les gains de commande Feedforward

Note

Les gains de commande prédictive ou Feedforward ne se transfèrent pas, en général, entre les robots. Aussi, n’utilisez pas les gains de ce tutoriel pour votre propre robot.

Nous enregistrons maintenant les gains de commande prédictive calculés par l’outil :

Met en surbrillance l’emplacement à partir duquel on peut obtenir les résultats kS, kV, kA et r au carré au centre de la fenêtre.

Puisque notre diamètre de roue a été spécifié en mètres, nos gains de prédiction sont dans les unités suivantes:

  • kS: Volts

  • kV: Volts * Seconds / Meters

  • kA: Volts * Seconds^2 / Meters

Si vous avez correctement spécifié vos unités, vos gains de commande prédictive seront probablement dans un ordre de grandeur de ceux du présent tutoriel (une exception possible existe pour kA, qui peut être beaucoup plus petite si votre robot est léger). Si ce n’est pas le cas, il est possible que vous ayiez incorrectement spécifié un de vos paramètres du système d’entraînement lors de la génération de votre projet de robot. Pour cela, un bon test est de calculer la valeur « théorique » de kV, qui est de 12 volts divisé par la vitesse libre théorique de votre base pilotable (qui est, à son tour, la vitesse libre du moteur multipliée par la circonférence de la roue divisée par le rapport d’engrenage). Cette valeur devrait être très proche du kV mesuré par l’outil - si ce n’est pas le cas, vous avez probablement fait une erreur quelque part.

Calculer les gains de rétroaction

Note

Les gains de rétroaction ne se transfèrent pas, en général, entre les robots. Aussi, n’utilisez pas les gains de ce tutoriel pour votre propre robot.

Nous allons maintenant calculer les gains de rétroaction pour le contrôle PID que nous utiliserons pour suivre le chemin. Le suivi de trajectoire avec le contrôleur RAMSETE de WPILib utilise le contrôle en boucle fermée de la vitesse, nous sélectionnons donc d’abord le mode Velocity dans l’outil d’identification :

Comment spécifier le mode vitesse dans la liste déroulante  "Loop Type".

Puisque nous utiliserons lePIDController WPILib pour notre boucle de vitesse, nous sélectionnons en outre l’option WPILib (2020-) dans le menu déroulant « presets ». Ceci est très important, car les gains de rétroaction ne seront pas dans les unités concordantes si nous ne sélectionnons pas le bon préréglage:

Met en évidence le choix de "WPILib (2020-)" dans la liste déroulante "Gain Setting Preset".

Enfin, nous calculons et enregistrons les gains de rétroaction pour notre boucle de contrôle. Puisqu’il s’agit d’un contrôleur de vitesse, seul un gain P est requis :

Met en évidence les gains calculés des paramètres kP et kD du contrôleur.

En supposant que nous avons tout fait correctement, notre gain proportionnel sera en unités de Volts * Secondes / Mètres. Ainsi, notre gain calculé signifie que, pour chaque mètre par seconde d’erreur de vitesse, le contrôleur produira 3.38 volts supplémentaires.