Introduction au simulateur de Robot

Le simulateur «Robot Simulation» rend possible la programmation d’un robot virtuel dans le cas où une équipe ne dispose d’un véritable robot. WPILib offre aux équipes la possibilité de simuler diverses fonctionnalités du robot virtuellement à l’aide de simples commandes Gradle.

Activation de l’option Desktop Support

L’utilisation du simulateur nécessite l’activation de Desktop Support. Cela peut se faire en cochant la case à cocher « Enable Desktop Support Checkbox » lors de la création de votre projet de robot ou en exécutant « WPILib: Change Desktop Support Enabled Setting » à partir de la palette de commandes Visual Studio Code.

Activation de la prise en charge du bureau via VS CodeActivation manuelle de la prise en charge du bureau via la palette de commandes VS Code

La prise en charge du bureau peut également être activée en modifiant manuellement votre fichier build.gradle situé à la racine de votre projet de robot. Il suffit de changer includeDesktopSupport = false pour includeDesktopSupport = true

def includeDesktopSupport = true

Important

Il est important de noter que l’activation de la prise en charge de bureau/simulation peut avoir des conséquences imprévues. Tous les fournisseurs ne prennent pas en charge cette option, et le code qui utilise leurs bibliothèques peut même se planter lors de la tentative d’exécution de la simulation!

Si, à un moment donné, vous souhaitez désactiver la prise en charge du Bureau, exécutez simplement de nouveau la commande « WPILib: Change Desktop Support Enabled Setting » de la palette de commandes.

Dépendance C++ supplémentaire

La simulation de robot C++ nécessite l’installation d’un compilateur natif. Pour Windows, ce serait Visual Studio 2022 ou 2019 (pas VS Code), macOS requiert Xcode, et Linux (Ubuntu) nécessitent le package build-essential.

Assurez-vous que l’option Desktop Development with C++ est cochée dans le programme d’installation de Visual Studio pour la prise en charge de la simulation.

Capture d’écran de l’option outils de compilation de Visual Studio

Exécution d’une simulation de robot

La simulation sommaire du robot de base peut être réalisée à l’aide du code VS. Cela peut se faire sans utiliser de commandes autres que celles de la palette de commandes de VS Code.

Exécution de la simulation de robot via VS Code

La sortie de votre console dans Visual Studio Code doit ressembler à ce qui apparaît ci-dessus. Cependant, les équipes voudront probablement réellement tester leur code au lieu de simplement éxécuter la simulation. Cela peut être fait à l’aide de WPILib’s Simulation GUI.

********** Robot program starting **********
Default disabledInit() method... Override me!
Default disabledPeriodic() method... Override me!
Default robotPeriodic() method... Override me!

Important

La simulation peut également être exécutée en dehors de VS Code en utilisant ./gradlew simulateJava pour Java ou ./gradlew simulateNative pour C++.

Exécution des tableaux de bord du robot

Le Shuffleboard et le SmartDashboard peuvent être utilisés avec la simulation WPILib.

Shuffleboard

Shuffleboard est automatiquement configuré pour rechercher une instance NetworkTables à partir du robotRIO mais pas à partir d’autres sources. Pour vous connecter à Shuffleboard, ouvrez les préférences Shuffleboard dans le menu File et sélectionnez NetworkTables sous Plugins dans la barre de navigation de gauche. Dans le champ Server, saisissez l’adresse IP ou le nom d’hôte de l’hôte NetworkTables. Pour une configuration de simulation standard, utilisez localhost.

Paramètres de connexion du Shuffleboard définis sur localhost.

SmartDashboard

SmartDashboard est automatiquement configuré pour rechercher une instance NetworkTables à partir du roboRIO, mais ** pas à partir d’autres sources **. Pour vous connecter à SmartDashboard, ouvrez les préférences de SmartDashboard dans le menu File et dans le champ Team Number, saisissez l’adresse IP ou le nom d’hôte de l’hôte NetworkTables. Pour une configuration de simulation standard, utilisez localhost.

Le numéro d’équipe du SmartDashboard est défini sur localhost.