Le widget Field2d

Glass prend en charge l’affichage de la position de votre robot sur le terrain à l’aide du widget Field2d. Une instance de la classe Field2d doit être créée, envoyée via NetworkTables et mise à jour périodiquement avec la dernière pose de robot dans votre code.

Envoi de la pose du robot à partir du code utilisateur

Pour envoyer la position de votre robot (généralement obtenue par odométrie ou un estimateur de pose), une instance Field2d doit être créée dans le code du robot et envoyée via NetworkTables. L’instance doit ensuite être mise à jour périodiquement avec la dernière pose du robot.

private final Field2d m_field = new Field2d();

public Drivetrain() {
  ...
  SmartDashboard.putData("Field", m_field);
}

...

public void periodic() {
  ...
  m_field.setRobotPose(m_odometry.getPoseMeters());
}

Note

L’instance Field2d peut également être envoyée en utilisant une API NetworkTables de niveau inférieur ou en utilisant Shuffleboard API. Dans ce cas, l’API SmartDashboard a été utilisée, ce qui signifie que le widget Field2d apparaîtra sous le nom de la table SmartDashboard.

Affichage de la pose du robot dans Glass

Après avoir envoyé l’instance Field2d sur NetworkTables, le widget Field2d peut être ajouté à Glass en sélectionnant NetworkTables dans la barre de menu, en choisissant le nom de la table sur laquelle l’instance a été envoyée, et puis en cliquant sur le bouton Field.

../../../../_images/select-field2d.png

Une fois que le widget apparaît, vous pouvez le redimensionner et le placer sur l’espace de travail Glass comme vous le souhaitez. Un clic droit en haut du widget vous permettra de personnaliser le nom du widget, de sélectionner une image de champ personnalisée, de sélectionner une image de robot personnalisée et de choisir les dimensions du champ et du robot.

Lors de la sélection Choose image… vous pouvez choisir soit de sélectionner un fichier de type image, soit un fichier PathWeaver JSON tant que le fichier de type image est dans le même répertoire. Le choix du fichier JSON importera automatiquement l’emplacement adéquate de l’image du terrain de jeu et la taille exacte dudit terrain.

Note

Vous pouvez récupérer les dernières images du terrain de jeu et les fichiers JSON à partir ici. Il s’agit de la même image et du fichier JSON qui sont utilisés pendant la génération de trajectoires en utilisant PathWeaver.

../../../../_images/field2d-options.png