The repo ships pre-configured WPILib Simulation GUI layouts inDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/robototes/REBUILT2026/llms.txt
Use this file to discover all available pages before exploring further.
Simgui_layouts/. Each subfolder is a self-contained template: copy its simgui.json (and any image assets) to the project root before launching the simulator, and the GUI will load the layout automatically on startup.
Available layouts
| Folder | Description |
|---|---|
Simgui_layouts/VisionSim/ | Visualizes ground-truth pose vs. vision-estimated pose and shows per-camera AprilTag detection wireframes on the Field2d widget |
How to use a layout
Pick a layout subfolder
Browse the
Simgui_layouts/ directory and choose the layout that matches what you want to test. For vision debugging, use Simgui_layouts/VisionSim/.Copy files to the project root
Copy The VisionSim layout ships with three image assets used as icons on the Field2d widget:
simgui.json and all image files from the chosen subfolder into the repository root (the same directory that contains build.gradle):| File | Purpose |
|---|---|
swerve_module.png | Icon for each of the four simulated swerve modules |
tag-blue.png | Marker for AprilTags visible to the simulated cameras |
tag-green.png | Marker for other AprilTag field positions |
The root-level
simgui.json is listed in .gitignore. Your local working copy will never be committed. The canonical, checked-in copies always live inside the Simgui_layouts/ subfolders — those are the templates you copy from. This means each developer can freely modify their local layout without affecting teammates.VisionSim layout
TheVisionSim layout is designed to let you verify the full PhotonVision → Limelight conversion pipeline at a glance. The Field2d widget is pre-wired to display:
| Field2d object | What it shows |
|---|---|
EstimatedRobot | Where the robot thinks it is (odometry + vision correction) |
EstimatedRobotModules | The four swerve modules at their computed positions and steering angles |
GroundTruthRobot | Where the robot actually is in the physics simulation |
Vision_limelight-a_MT1 | MegaTag1 pose estimate from camera A |
Vision_limelight-a_MT2 | MegaTag2 pose estimate from camera A |
Vision_limelight-b_MT1 | MegaTag1 pose estimate from camera B |
Vision_limelight-b_MT2 | MegaTag2 pose estimate from camera B |
Vision_limelight-c_MT1 | MegaTag1 pose estimate from camera C |
Vision_limelight-c_MT2 | MegaTag2 pose estimate from camera C |
- POV-right — injects 0.5 m translation drift and ±15° heading drift into the pose estimator. The ground-truth pose does not change; watch the estimated pose jump away from the ground truth and then converge back as vision corrections arrive.
- POV-left — cycles through four preset reset positions (auto start on correct alliance side, auto start on wrong alliance side, field origin on correct side, field origin on wrong side).