mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-19 00:41:41 +00:00
### What does this do? - Deprecates previous sim classes - Has a `CameraProperties` class for describing a camera's basic/calibration info, and performance values for simulation. Calibration values can be loaded from the `config.json` in the settings exported by photonvision. - `OpenCVHelp` provides convenience functions for using opencv methods with wpilib/photonvision classes, mainly to project 3d points to a camera's 2d image and perform solvePnP with the above camera calibration info. - `TargetModel`s describe the 3d shape of a target, both for projecting into the camera's 2d image and use in solvePnP. - `PhotonCameraSim` uses camera properties to simulate how 3d targets would appear in its view, and has simulated noise, latency, and FPS. For apriltags, the best/alternate camera-to-target transform is also estimated with solvePnP. - `VideoSimUtil` has helper functions for drawing apriltags to a simulated raw and processed MJPEG stream for each camera using the projected tag corners. - `VisionSystemSim` stores `VisionTargetSim`s and `PhotonCameraSim`s, and is periodically updated with the robot's simulated pose. When updating, camera sims are automatically processed and published with their visible targets from their respective poses with proper latency. ### What's still not working? - Mac Arm builds are broken - More examples - Update website/docs
105 lines
1.6 KiB
JSON
105 lines
1.6 KiB
JSON
{
|
|
"Keyboard 0 Settings": {
|
|
"window": {
|
|
"visible": true
|
|
}
|
|
},
|
|
"keyboardJoysticks": [
|
|
{
|
|
"axisConfig": [
|
|
{},
|
|
{
|
|
"decKey": 87,
|
|
"incKey": 83
|
|
},
|
|
{
|
|
"decKey": 69,
|
|
"decayRate": 0.0,
|
|
"incKey": 82,
|
|
"keyRate": 0.009999999776482582
|
|
},
|
|
{},
|
|
{
|
|
"decKey": 65,
|
|
"incKey": 68
|
|
}
|
|
],
|
|
"axisCount": 5,
|
|
"buttonCount": 4,
|
|
"buttonKeys": [
|
|
90,
|
|
88,
|
|
67,
|
|
86
|
|
],
|
|
"povConfig": [
|
|
{
|
|
"key0": 328,
|
|
"key135": 323,
|
|
"key180": 322,
|
|
"key225": 321,
|
|
"key270": 324,
|
|
"key315": 327,
|
|
"key45": 329,
|
|
"key90": 326
|
|
}
|
|
],
|
|
"povCount": 1
|
|
},
|
|
{
|
|
"axisConfig": [
|
|
{
|
|
"decKey": 74,
|
|
"incKey": 76
|
|
},
|
|
{
|
|
"decKey": 73,
|
|
"incKey": 75
|
|
}
|
|
],
|
|
"axisCount": 2,
|
|
"buttonCount": 4,
|
|
"buttonKeys": [
|
|
77,
|
|
44,
|
|
46,
|
|
47
|
|
],
|
|
"povCount": 0
|
|
},
|
|
{
|
|
"axisConfig": [
|
|
{
|
|
"decKey": 263,
|
|
"incKey": 262
|
|
},
|
|
{
|
|
"decKey": 265,
|
|
"incKey": 264
|
|
}
|
|
],
|
|
"axisCount": 2,
|
|
"buttonCount": 6,
|
|
"buttonKeys": [
|
|
260,
|
|
268,
|
|
266,
|
|
261,
|
|
269,
|
|
267
|
|
],
|
|
"povCount": 0
|
|
},
|
|
{
|
|
"axisCount": 0,
|
|
"buttonCount": 0,
|
|
"povCount": 0
|
|
}
|
|
],
|
|
"robotJoysticks": [
|
|
{
|
|
"guid": "Keyboard0"
|
|
}
|
|
]
|
|
}
|