Aperçu du didacticiel de trajectoire

Note

Avant de suivre ce tutoriel, il est utile (mais pas strictement nécessaire) d’avoir une familiarité de base avec les fonctionnalités de la WPILib PID control, feedforward, et trajectory.

Note

Le code robot de ce didacticiel utilise l’environnement de développement orienté Commandes command-based. Cet environnement de développement est fortement recommandé pour les équipes de recrues et intermédiaires.

L’objectif de ce didacticiel est de fournir des instructions de bout en bout sur la mise en œuvre d’une routine autonome de suivi de trajectoire pour un robot à entraînement différentiel. En suivant ce didacticiel, les lecteurs apprendront à :

  1. Caractériser avec précision la base pilotable de leur robot pour obtenir des calculs précis pour la commande prédictive et des gains approximatifs pour les boucles de rétroaction .

  2. Configurer un sous-système de déplacement de manière à suivre la pose du robot à l’aide de la librairie odometry de WPILib.

  3. Générer une trajectoire simple à travers un ensemble de points de passage à l’aide de la classe TrajectoryGenerator de WPILib.

  4. Suivez la trajectoire générée dans une routine autonome à l’aide de la classe RamseteCommand de WPILib avec les gains de commande prédictive/rétroaction calculés et la pose.

Ce didacticiel est destiné à être accessible aux équipes n’ayant pas beaucoup d’expertise en programmation. Bien que la logithèque WPILib offre une flexibilité significative dans la manière dont ses fonctionnalités de suivi de trajectoire sont implémentées, suivre de près l’implémentation décrite dans ce didacticiel devrait fournir aux équipes une solution relativement simple, propre et reproductible pour les mouvements autonomes.

Le code robot complet pour ce tutoriel peut être trouvé dans le Projet d’exemple RamseteCommand (Java, C++).

Pourquoi le suvi de trajectoire?

Les jeux FRC® comportent souvent des tâches autonomes qui exigent qu’un robot se déplace efficacement et avec précision d’un emplacement de départ connu à une position de tir connue. Historiquement, la solution la plus courante pour ce genre de tâche dans FRC a été une approche « avance-tourne-avance » - c’est-à-dire, avancer d’une distance connue, tourner d’un angle connu, et avancer d’un autre distance connue.

Bien que l’approche « avance-tourne-avance » soit certainement fonctionnelle, ces dernières années, les équipes ont commencé à suivre les trajectoires lisses qui exigent que le robot avance et tourne en même temps. Bien qu’il s’agisse, sur le plan technique, d’une tâche fondamentalement plus compliquée, elle offre néamoins des avantages significatifs : en particulier, puisque le robot n’a plus à s’arrêter pour changer de direction, les tronçons peuvent être conduits beaucoup plus rapidement, permettant ainsi à un robot de marquer plus de pièces de jeu pendant la période autonome.

À partir de 2020, WPILib fournit désormais aux équipes des solutions sous forme de codes fonctionnels et avancés pour la génération et le suivi des trajectoires, abaissant considérablement le « barrière à l’entrée » pour ce type de déplacement autonome à la fois avancé et efficace.

Équipement requis

Pour suivre ce didacticiel, vous aurez besoin d’un accès facile aux documents suivants:

  1. A differential-drive robot (such as the AndyMark AM14U5), equipped with:

  • Encodeurs en quadrature pour mesurer la rotation des roues de chaque côté de l’entraînement.

  • Gyroscope pour mesurer l’orientation du robot.

  1. Un ordinateur de pilotage dans lequel sont installés outils logiciels suivants: