diff --git a/.vscode/settings.json b/.vscode/settings.json index a4d6fd7..2899fb1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -29,6 +29,14 @@ ], "java.test.defaultConfig": "WPIlibUnitTests", "java.import.gradle.annotationProcessing.enabled": true, + "java.compile.nullAnalysis.nonnull": [ + "javax.annotation.Nonnull", + "org.eclipse.jdt.annotation.NonNull", + "org.springframework.lang.NonNull", + "org.jspecify.annotations.NonNull", + "org.jetbrains.annotations.NotNull" + ], + "java.import.gradle.wrapper.enabled": true, "java.completion.favoriteStaticMembers": [ "org.junit.Assert.*", "org.junit.Assume.*", @@ -39,7 +47,9 @@ "org.mockito.Mockito.*", "org.mockito.ArgumentMatchers.*", "org.mockito.Answers.*", - "edu.wpi.first.units.Units.*" + "edu.wpi.first.units.Units.*", + "com.frc6324.**.*", + null ], "java.completion.filteredTypes": [ "java.awt.*", @@ -58,5 +68,6 @@ "edu.wpi.first.math.proto.*", "edu.wpi.first.math.**.proto.*", "edu.wpi.first.math.**.struct.*" - ] + ], + "java.debug.settings.onBuildFailureProceed": true } diff --git a/annotations/src/main/java/com/frc6324/lib/LazySingleton.java b/annotations/src/main/java/com/frc6324/lib/LazySingleton.java new file mode 100644 index 0000000..424189c --- /dev/null +++ b/annotations/src/main/java/com/frc6324/lib/LazySingleton.java @@ -0,0 +1,11 @@ +package com.frc6324.lib; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** Marks a 'singleton' class that is lazily initialized. */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.SOURCE) +public @interface LazySingleton {} diff --git a/ascope_assets/Robot_TestBot/config.json b/ascope_assets/Robot_TestBot/config.json index 51768c7..1791b9d 100644 --- a/ascope_assets/Robot_TestBot/config.json +++ b/ascope_assets/Robot_TestBot/config.json @@ -19,7 +19,7 @@ "position": [ 0, 0, - 0 + 0.0635 ], "cameras": [], "components": [ @@ -30,6 +30,27 @@ "degrees": 90.0 } ], + "zeroedPosition": [ + 0.17145, + -0.34925, + 0.06975 + ] + }, + { + "zeroedRotations": [ + { + "axis": "x", + "degrees": 90.0 + }, + { + "axis": "y", + "degrees": 180.0 + }, + { + "axis": "z", + "degrees": 180.0 + } + ], "zeroedPosition": [ 0, 0, diff --git a/ascope_assets/Robot_TestBot/model.glb b/ascope_assets/Robot_TestBot/model.glb index 6193999..eb13716 100644 Binary files a/ascope_assets/Robot_TestBot/model.glb and b/ascope_assets/Robot_TestBot/model.glb differ diff --git a/ascope_assets/Robot_TestBot/model_0.glb b/ascope_assets/Robot_TestBot/model_0.glb index ca50c91..1e4c3a5 100644 Binary files a/ascope_assets/Robot_TestBot/model_0.glb and b/ascope_assets/Robot_TestBot/model_0.glb differ diff --git a/ascope_assets/Robot_TestBot/model_1.glb b/ascope_assets/Robot_TestBot/model_1.glb new file mode 100644 index 0000000..02ec332 Binary files /dev/null and b/ascope_assets/Robot_TestBot/model_1.glb differ diff --git a/build.gradle b/build.gradle index ef01777..c648d99 100644 --- a/build.gradle +++ b/build.gradle @@ -41,7 +41,7 @@ deploy { jvmArgs.add("-XX:Tier4InvocationThreshold=2500") jvmArgs.add("-XX:+UnlockExperimentalVMOptions") - jvmArgs.add("-XX:GCTimeRatio=9") + jvmArgs.add("-XX:GCTimeRatio=5") jvmArgs.add("-XX:+UseSerialGC") jvmArgs.add("-XX:MaxGCPauseMillis=50") jvmArgs.add("-XX:+TieredCompilation") @@ -90,6 +90,9 @@ dependencies { compileOnly 'org.jetbrains:annotations:26.0.2-1' annotationProcessor project(":processor") + annotationProcessor project(":annotations") + + compileOnly project(":processor") implementation project(":annotations") annotationProcessor wpi.java.deps.wpilibAnnotations() diff --git a/camera_calibrations/frontcamera_1280x800.json b/camera_calibrations/frontcamera_1280x800.json new file mode 100644 index 0000000..0becf85 --- /dev/null +++ b/camera_calibrations/frontcamera_1280x800.json @@ -0,0 +1,31881 @@ +{ + "resolution": { + "width": 1280.0, + "height": 800.0 + }, + "cameraIntrinsics": { + "rows": 3, + "cols": 3, + "type": 6, + "data": [ + 904.8292279788396, + 0.0, + 669.3303062317467, + 0.0, + 902.6666139414344, + 390.73505181960036, + 0.0, + 0.0, + 1.0 + ] + }, + "distCoeffs": { + "rows": 1, + "cols": 8, + "type": 6, + "data": [ + 0.04258799450332711, + -0.05400358530786853, + -0.001287580935086034, + -7.669597987619998E-4, + -3.3629749919003295E-4, + -0.0015469984999094634, + 0.00412275455592014, + 0.0018078697707579658 + ] + }, + "calobjectWarp": [ + -1.0132025743637628E-4, + -7.737285888210636E-5 + ], + "observations": [ + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 408.7251892089844, + "y": 168.10311889648438 + }, + { + "x": 436.18017578125, + "y": 166.32464599609375 + }, + { + "x": 463.9090576171875, + "y": 164.85244750976562 + }, + { + "x": 491.4903869628906, + "y": 162.4656524658203 + }, + { + "x": 519.9320678710938, + "y": 160.91375732421875 + }, + { + "x": 352.93670654296875, + "y": 198.55905151367188 + }, + { + "x": 380.4472961425781, + "y": 196.8457489013672 + }, + { + "x": 408.1903076171875, + "y": 194.99290466308594 + }, + { + "x": 435.57818603515625, + "y": 193.62322998046875 + }, + { + "x": 463.92138671875, + "y": 191.13040161132812 + }, + { + "x": 492.03924560546875, + "y": 189.72903442382812 + }, + { + "x": 520.1823120117188, + "y": 187.8574981689453 + }, + { + "x": 352.3426208496094, + "y": 225.09498596191406 + }, + { + "x": 380.0942687988281, + "y": 223.32192993164062 + }, + { + "x": 408.0518798828125, + "y": 221.90199279785156 + }, + { + "x": 435.9681701660156, + "y": 219.95037841796875 + }, + { + "x": 463.9386901855469, + "y": 218.1513671875 + }, + { + "x": 491.9971008300781, + "y": 216.28065490722656 + }, + { + "x": 520.7288208007812, + "y": 214.57223510742188 + }, + { + "x": 351.78887939453125, + "y": 252.2100067138672 + }, + { + "x": 379.7938232421875, + "y": 250.65380859375 + }, + { + "x": 408.06304931640625, + "y": 248.9417266845703 + }, + { + "x": 435.88629150390625, + "y": 247.14698791503906 + }, + { + "x": 463.8821716308594, + "y": 245.51889038085938 + }, + { + "x": 492.1849365234375, + "y": 243.9210662841797 + }, + { + "x": 520.9119262695312, + "y": 242.0189971923828 + }, + { + "x": 351.1610107421875, + "y": 279.79132080078125 + }, + { + "x": 379.2841796875, + "y": 278.0277404785156 + }, + { + "x": 407.3504333496094, + "y": 276.2270202636719 + }, + { + "x": 435.6568908691406, + "y": 274.35986328125 + }, + { + "x": 464.04901123046875, + "y": 272.9026184082031 + }, + { + "x": 492.2901611328125, + "y": 271.0998840332031 + }, + { + "x": 521.2504272460938, + "y": 269.5298156738281 + }, + { + "x": 350.51080322265625, + "y": 307.38836669921875 + }, + { + "x": 378.904541015625, + "y": 305.9481506347656 + }, + { + "x": 407.0552673339844, + "y": 304.03692626953125 + }, + { + "x": 435.5317687988281, + "y": 302.3965148925781 + }, + { + "x": 464.00592041015625, + "y": 300.9243469238281 + }, + { + "x": 492.72601318359375, + "y": 299.4964904785156 + }, + { + "x": 521.26025390625, + "y": 297.6932373046875 + }, + { + "x": 349.93023681640625, + "y": 335.314208984375 + }, + { + "x": 377.9554138183594, + "y": 333.7541198730469 + }, + { + "x": 407.0016784667969, + "y": 331.97772216796875 + }, + { + "x": 435.5905456542969, + "y": 330.2679748535156 + }, + { + "x": 463.9672546386719, + "y": 329.0948791503906 + }, + { + "x": 492.655029296875, + "y": 326.9294738769531 + }, + { + "x": 521.9761352539062, + "y": 325.6777038574219 + } + ], + "reprojectionErrors": [ + { + "x": -0.001373291015625, + "y": -0.22430419921875 + }, + { + "x": 0.27392578125, + "y": 0.3229827880859375 + }, + { + "x": -0.2093505859375, + "y": 0.0367279052734375 + }, + { + "x": -0.013946533203125, + "y": -0.1015472412109375 + }, + { + "x": 0.064605712890625, + "y": -0.193878173828125 + }, + { + "x": 0.01800537109375, + "y": -0.1461639404296875 + }, + { + "x": 0.432708740234375, + "y": -0.581024169921875 + }, + { + "x": -0.002777099609375, + "y": 0.1079864501953125 + }, + { + "x": -0.1090087890625, + "y": -0.2936248779296875 + }, + { + "x": -0.1375732421875, + "y": -0.22412109375 + }, + { + "x": -0.018524169921875, + "y": 0.1211090087890625 + }, + { + "x": -0.029327392578125, + "y": 0.12762451171875 + }, + { + "x": -0.13763427734375, + "y": -0.2188873291015625 + }, + { + "x": -0.097320556640625, + "y": -0.0334930419921875 + }, + { + "x": -0.004974365234375, + "y": -3.96728515625E-4 + }, + { + "x": 0.104583740234375, + "y": 0.104827880859375 + }, + { + "x": -0.355224609375, + "y": 0.0482940673828125 + }, + { + "x": -0.064300537109375, + "y": 0.0667877197265625 + }, + { + "x": -0.1754150390625, + "y": -0.1034393310546875 + }, + { + "x": -0.441192626953125, + "y": -0.1180877685546875 + }, + { + "x": -0.152496337890625, + "y": -0.0502777099609375 + }, + { + "x": 0.070953369140625, + "y": -0.149200439453125 + }, + { + "x": 0.093780517578125, + "y": -0.27838134765625 + }, + { + "x": -0.20257568359375, + "y": -0.1031951904296875 + }, + { + "x": -0.036773681640625, + "y": -0.147918701171875 + }, + { + "x": -0.11187744140625, + "y": -0.069610595703125 + }, + { + "x": -0.01922607421875, + "y": 0.045135498046875 + }, + { + "x": -0.05712890625, + "y": 0.225677490234375 + }, + { + "x": -0.072113037109375, + "y": -0.004180908203125 + }, + { + "x": 0.1712646484375, + "y": 0.111053466796875 + }, + { + "x": -0.1982421875, + "y": -0.006683349609375 + }, + { + "x": 0.01226806640625, + "y": -0.068572998046875 + }, + { + "x": -0.1778564453125, + "y": -0.27142333984375 + }, + { + "x": -0.012969970703125, + "y": -0.00439453125 + }, + { + "x": -0.062957763671875, + "y": -0.009185791015625 + }, + { + "x": -8.23974609375E-4, + "y": -0.18316650390625 + }, + { + "x": -0.076080322265625, + "y": -0.40228271484375 + }, + { + "x": 0.14190673828125, + "y": -0.246734619140625 + }, + { + "x": -0.0091552734375, + "y": -0.00439453125 + }, + { + "x": 0.32611083984375, + "y": -0.0440673828125 + }, + { + "x": -0.2464599609375, + "y": 0.13104248046875 + }, + { + "x": -0.249542236328125, + "y": 0.238037109375 + }, + { + "x": 0.07049560546875, + "y": -0.1929931640625 + }, + { + "x": 0.189239501953125, + "y": 0.367034912109375 + }, + { + "x": -0.21673583984375, + "y": 0.012237548828125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.2860118305558412, + "y": -0.198573587493506, + "z": 0.8194550117403306 + }, + "rotation": { + "quaternion": { + "W": 0.9954396048070038, + "X": -0.08741863090040448, + "Y": 0.030413710275894228, + "Z": -0.023086411163907833 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img0.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img0.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 513.5746459960938, + "y": 201.1875762939453 + }, + { + "x": 539.1517333984375, + "y": 198.88726806640625 + }, + { + "x": 565.6624145507812, + "y": 196.9392547607422 + }, + { + "x": 591.9424438476562, + "y": 195.01063537597656 + }, + { + "x": 618.6148071289062, + "y": 192.99066162109375 + }, + { + "x": 645.4010620117188, + "y": 190.95199584960938 + }, + { + "x": 672.6753540039062, + "y": 189.08108520507812 + }, + { + "x": 512.8738403320312, + "y": 226.00096130371094 + }, + { + "x": 539.1176147460938, + "y": 223.9463348388672 + }, + { + "x": 565.383056640625, + "y": 222.2960662841797 + }, + { + "x": 592.1646118164062, + "y": 220.25762939453125 + }, + { + "x": 619.0394287109375, + "y": 218.5036163330078 + }, + { + "x": 645.920654296875, + "y": 216.64234924316406 + }, + { + "x": 673.0135498046875, + "y": 214.72413635253906 + }, + { + "x": 512.1126708984375, + "y": 251.2238006591797 + }, + { + "x": 538.4956665039062, + "y": 249.501708984375 + }, + { + "x": 565.0337524414062, + "y": 247.79925537109375 + }, + { + "x": 591.8699340820312, + "y": 245.77732849121094 + }, + { + "x": 618.9750366210938, + "y": 243.9539794921875 + }, + { + "x": 646.1026000976562, + "y": 242.09320068359375 + }, + { + "x": 673.6771240234375, + "y": 240.5454864501953 + }, + { + "x": 511.9509582519531, + "y": 277.0925598144531 + }, + { + "x": 538.3115844726562, + "y": 275.67889404296875 + }, + { + "x": 564.9630737304688, + "y": 273.9097900390625 + }, + { + "x": 592.010986328125, + "y": 271.9924011230469 + }, + { + "x": 619.0169677734375, + "y": 270.027587890625 + }, + { + "x": 646.76708984375, + "y": 268.3641052246094 + }, + { + "x": 673.8831787109375, + "y": 266.93951416015625 + }, + { + "x": 510.9407958984375, + "y": 302.95159912109375 + }, + { + "x": 538.1140747070312, + "y": 301.0630187988281 + }, + { + "x": 564.9102172851562, + "y": 299.7615051269531 + }, + { + "x": 592.1033325195312, + "y": 298.0775451660156 + }, + { + "x": 619.1301879882812, + "y": 296.4569396972656 + }, + { + "x": 646.5332641601562, + "y": 294.8009033203125 + }, + { + "x": 674.3302612304688, + "y": 293.1700439453125 + }, + { + "x": 510.6948547363281, + "y": 329.45550537109375 + }, + { + "x": 537.6966552734375, + "y": 327.7467956542969 + }, + { + "x": 564.5940551757812, + "y": 326.0818786621094 + }, + { + "x": 592.0601806640625, + "y": 324.9729309082031 + }, + { + "x": 619.2650756835938, + "y": 323.2453308105469 + }, + { + "x": 647.1339721679688, + "y": 321.81298828125 + }, + { + "x": 674.931396484375, + "y": 319.9985046386719 + }, + { + "x": 510.16326904296875, + "y": 355.8871154785156 + }, + { + "x": 537.0317993164062, + "y": 354.6959228515625 + }, + { + "x": 564.7355346679688, + "y": 353.10791015625 + }, + { + "x": 591.2130737304688, + "y": 351.2955322265625 + }, + { + "x": 619.5478515625, + "y": 350.2362060546875 + }, + { + "x": 647.3527221679688, + "y": 348.67840576171875 + }, + { + "x": 675.69384765625, + "y": 347.0831298828125 + } + ], + "reprojectionErrors": [ + { + "x": -0.15570068359375, + "y": -0.216064453125 + }, + { + "x": 0.26177978515625, + "y": 0.11572265625 + }, + { + "x": -0.04864501953125, + "y": 0.0872955322265625 + }, + { + "x": 0.078125, + "y": 0.031585693359375 + }, + { + "x": 0.02008056640625, + "y": 0.0593719482421875 + }, + { + "x": 0.0565185546875, + "y": 0.0980072021484375 + }, + { + "x": -0.18585205078125, + "y": -0.0389404296875 + }, + { + "x": -0.00396728515625, + "y": -0.0407867431640625 + }, + { + "x": -0.08685302734375, + "y": 0.1295928955078125 + }, + { + "x": 0.0169677734375, + "y": -0.1121673583984375 + }, + { + "x": -0.18609619140625, + "y": 0.0264892578125 + }, + { + "x": -0.272216796875, + "y": -0.1270294189453125 + }, + { + "x": -0.1536865234375, + "y": -0.1810150146484375 + }, + { + "x": -0.03485107421875, + "y": -0.1857757568359375 + }, + { + "x": 0.20501708984375, + "y": 0.0547027587890625 + }, + { + "x": 0.151123046875, + "y": -0.0207672119140625 + }, + { + "x": 0.153076171875, + "y": -0.123504638671875 + }, + { + "x": 0.0689697265625, + "y": 0.0856170654296875 + }, + { + "x": -0.0711669921875, + "y": 0.0885467529296875 + }, + { + "x": -0.01995849609375, + "y": 0.1213226318359375 + }, + { + "x": -0.20086669921875, + "y": -0.166534423828125 + }, + { + "x": -0.188507080078125, + "y": -0.160736083984375 + }, + { + "x": -0.05010986328125, + "y": -0.4554443359375 + }, + { + "x": 0.01116943359375, + "y": -0.402191162109375 + }, + { + "x": -0.1092529296875, + "y": -0.2081298828125 + }, + { + "x": 0.0279541015625, + "y": 0.025909423828125 + }, + { + "x": -0.3623046875, + "y": -0.048828125 + }, + { + "x": 0.09912109375, + "y": -0.369903564453125 + }, + { + "x": 0.2633056640625, + "y": -0.025970458984375 + }, + { + "x": -0.23919677734375, + "y": 0.245941162109375 + }, + { + "x": -0.14801025390625, + "y": -0.076507568359375 + }, + { + "x": -0.23626708984375, + "y": -0.0238037109375 + }, + { + "x": 0.060302734375, + "y": -0.041748046875 + }, + { + "x": 0.20013427734375, + "y": -0.031524658203125 + }, + { + "x": 0.1666259765625, + "y": -0.053741455078125 + }, + { + "x": -0.052276611328125, + "y": -0.190032958984375 + }, + { + "x": -0.20965576171875, + "y": -0.003662109375 + }, + { + "x": -0.04327392578125, + "y": 0.131805419921875 + }, + { + "x": -0.2252197265625, + "y": -0.2957763671875 + }, + { + "x": 0.0755615234375, + "y": -0.11181640625 + }, + { + "x": -0.0653076171875, + "y": -0.230224609375 + }, + { + "x": 0.0888671875, + "y": 0.02642822265625 + }, + { + "x": -0.085418701171875, + "y": 0.0699462890625 + }, + { + "x": 0.0660400390625, + "y": -0.1641845703125 + }, + { + "x": -0.3955078125, + "y": -0.008392333984375 + }, + { + "x": 0.59246826171875, + "y": 0.3648681640625 + }, + { + "x": -0.05242919921875, + "y": -0.021820068359375 + }, + { + "x": 0.0579833984375, + "y": 0.08306884765625 + }, + { + "x": -0.14129638671875, + "y": 0.21856689453125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.14804513037708364, + "y": -0.1806210603654198, + "z": 0.8591776779985623 + }, + "rotation": { + "quaternion": { + "W": 0.9918529059909793, + "X": -0.10760919036210638, + "Y": 0.06630540982405377, + "Z": -0.015864036526873276 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img1.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img1.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 592.4342651367188, + "y": 203.71621704101562 + }, + { + "x": 617.9841918945312, + "y": 200.30946350097656 + }, + { + "x": 643.5549926757812, + "y": 197.23765563964844 + }, + { + "x": 669.7373657226562, + "y": 194.0283966064453 + }, + { + "x": 696.0106201171875, + "y": 190.78390502929688 + }, + { + "x": 722.935546875, + "y": 187.43817138671875 + }, + { + "x": 750.0302124023438, + "y": 183.9987335205078 + }, + { + "x": 592.0984497070312, + "y": 228.11227416992188 + }, + { + "x": 617.9226684570312, + "y": 225.43504333496094 + }, + { + "x": 643.597412109375, + "y": 222.20877075195312 + }, + { + "x": 669.8045043945312, + "y": 219.3719482421875 + }, + { + "x": 696.4400024414062, + "y": 216.1385040283203 + }, + { + "x": 723.5833129882812, + "y": 212.8719024658203 + }, + { + "x": 751.061279296875, + "y": 209.84629821777344 + }, + { + "x": 592.154541015625, + "y": 253.24012756347656 + }, + { + "x": 617.9078369140625, + "y": 250.10060119628906 + }, + { + "x": 644.1786499023438, + "y": 247.3274688720703 + }, + { + "x": 670.4724731445312, + "y": 244.55221557617188 + }, + { + "x": 697.1842651367188, + "y": 241.8361053466797 + }, + { + "x": 723.9306030273438, + "y": 238.38645935058594 + }, + { + "x": 752.0120849609375, + "y": 235.51377868652344 + }, + { + "x": 592.0391235351562, + "y": 278.93206787109375 + }, + { + "x": 618.0809936523438, + "y": 276.0168762207031 + }, + { + "x": 643.935791015625, + "y": 273.4789733886719 + }, + { + "x": 670.33642578125, + "y": 270.3776550292969 + }, + { + "x": 697.7908325195312, + "y": 267.9162902832031 + }, + { + "x": 724.7042846679688, + "y": 265.16802978515625 + }, + { + "x": 752.9993286132812, + "y": 262.1450500488281 + }, + { + "x": 592.137939453125, + "y": 304.16180419921875 + }, + { + "x": 617.9912719726562, + "y": 301.9951171875 + }, + { + "x": 644.585693359375, + "y": 298.8745422363281 + }, + { + "x": 670.9019165039062, + "y": 296.9585266113281 + }, + { + "x": 698.281982421875, + "y": 293.8888854980469 + }, + { + "x": 725.9360961914062, + "y": 291.4974365234375 + }, + { + "x": 754.0012817382812, + "y": 288.5677185058594 + }, + { + "x": 591.7574462890625, + "y": 330.43310546875 + }, + { + "x": 618.069091796875, + "y": 327.9635314941406 + }, + { + "x": 644.2060546875, + "y": 325.8642272949219 + }, + { + "x": 671.588134765625, + "y": 323.1019592285156 + }, + { + "x": 698.5750732421875, + "y": 320.71484375 + }, + { + "x": 726.5113525390625, + "y": 318.3244934082031 + }, + { + "x": 754.9205932617188, + "y": 315.90496826171875 + }, + { + "x": 591.8496704101562, + "y": 357.0178527832031 + }, + { + "x": 618.0921630859375, + "y": 354.763916015625 + }, + { + "x": 644.8048095703125, + "y": 352.42193603515625 + }, + { + "x": 671.8443603515625, + "y": 349.9250183105469 + }, + { + "x": 699.7304077148438, + "y": 347.6694030761719 + }, + { + "x": 727.3233642578125, + "y": 345.3730773925781 + }, + { + "x": 756.1240844726562, + "y": 342.8658447265625 + } + ], + "reprojectionErrors": [ + { + "x": 0.07501220703125, + "y": -0.068450927734375 + }, + { + "x": -0.16680908203125, + "y": 0.16351318359375 + }, + { + "x": -0.06561279296875, + "y": 0.022796630859375 + }, + { + "x": -0.20562744140625, + "y": -0.0188446044921875 + }, + { + "x": -0.0596923828125, + "y": -0.064239501953125 + }, + { + "x": -0.18194580078125, + "y": -0.048065185546875 + }, + { + "x": -0.08367919921875, + "y": 0.021484375 + }, + { + "x": 0.2574462890625, + "y": 0.1826324462890625 + }, + { + "x": -0.087890625, + "y": -0.1616363525390625 + }, + { + "x": 0.08514404296875, + "y": 0.0068511962890625 + }, + { + "x": 0.1011962890625, + "y": -0.2509613037109375 + }, + { + "x": 0.0709228515625, + "y": -0.149658203125 + }, + { + "x": -0.078369140625, + "y": -0.0533294677734375 + }, + { + "x": -0.16644287109375, + "y": -0.236785888671875 + }, + { + "x": 0.05023193359375, + "y": 0.041473388671875 + }, + { + "x": -0.05133056640625, + "y": 0.31732177734375 + }, + { + "x": -0.29656982421875, + "y": 0.19207763671875 + }, + { + "x": -0.18426513671875, + "y": 0.033660888671875 + }, + { + "x": -0.1025390625, + "y": -0.219818115234375 + }, + { + "x": 0.33892822265625, + "y": 0.2237396240234375 + }, + { + "x": -0.1533203125, + "y": 0.0531768798828125 + }, + { + "x": 0.01690673828125, + "y": -0.318359375 + }, + { + "x": -0.19842529296875, + "y": -0.10430908203125 + }, + { + "x": 0.15228271484375, + "y": -0.300628662109375 + }, + { + "x": 0.343017578125, + "y": 0.032867431640625 + }, + { + "x": -0.12725830078125, + "y": -0.307861328125 + }, + { + "x": 0.34326171875, + "y": -0.396484375 + }, + { + "x": -0.16064453125, + "y": -0.24578857421875 + }, + { + "x": -0.228271484375, + "y": 0.135498046875 + }, + { + "x": -0.07818603515625, + "y": -0.231597900390625 + }, + { + "x": -0.28497314453125, + "y": 0.323822021484375 + }, + { + "x": 0.1776123046875, + "y": -0.357177734375 + }, + { + "x": -0.025390625, + "y": 0.0830078125 + }, + { + "x": -0.09686279296875, + "y": -0.18804931640625 + }, + { + "x": -0.1663818359375, + "y": 0.04559326171875 + }, + { + "x": 0.00823974609375, + "y": -0.0946044921875 + }, + { + "x": -0.1209716796875, + "y": 0.01348876953125 + }, + { + "x": 0.31402587890625, + "y": -0.2781982421875 + }, + { + "x": -0.0994873046875, + "y": 0.063018798828125 + }, + { + "x": 0.2860107421875, + "y": -0.001495361328125 + }, + { + "x": 0.133544921875, + "y": -0.093902587890625 + }, + { + "x": -0.07293701171875, + "y": -0.18878173828125 + }, + { + "x": -0.22540283203125, + "y": -0.27423095703125 + }, + { + "x": -0.1043701171875, + "y": -0.204345703125 + }, + { + "x": -0.05853271484375, + "y": -0.074005126953125 + }, + { + "x": 0.06256103515625, + "y": 0.183135986328125 + }, + { + "x": -0.253173828125, + "y": 0.17034912109375 + }, + { + "x": 0.14141845703125, + "y": 0.169158935546875 + }, + { + "x": -0.2467041015625, + "y": 0.349212646484375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.07362629241782634, + "y": -0.17973658865549091, + "z": 0.8672006503798317 + }, + "rotation": { + "quaternion": { + "W": 0.9858090064391318, + "X": -0.11266615252259074, + "Y": 0.12263853170406522, + "Z": -0.021136022348568023 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img2.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img2.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 690.8192749023438, + "y": 194.27964782714844 + }, + { + "x": 718.0899658203125, + "y": 191.9903564453125 + }, + { + "x": 745.5293579101562, + "y": 189.46339416503906 + }, + { + "x": 829.2017211914062, + "y": 182.03305053710938 + }, + { + "x": 857.8572387695312, + "y": 179.7371368408203 + }, + { + "x": 691.7088012695312, + "y": 220.28579711914062 + }, + { + "x": 719.15966796875, + "y": 217.8118896484375 + }, + { + "x": 746.5358276367188, + "y": 215.71180725097656 + }, + { + "x": 830.7247314453125, + "y": 208.4086151123047 + }, + { + "x": 859.84130859375, + "y": 206.06002807617188 + }, + { + "x": 692.2520751953125, + "y": 246.09559631347656 + }, + { + "x": 719.7861938476562, + "y": 243.91358947753906 + }, + { + "x": 747.3858032226562, + "y": 241.79733276367188 + }, + { + "x": 775.6533813476562, + "y": 239.6256103515625 + }, + { + "x": 804.0177001953125, + "y": 236.993896484375 + }, + { + "x": 832.2228393554688, + "y": 234.96678161621094 + }, + { + "x": 861.0040283203125, + "y": 232.78627014160156 + }, + { + "x": 693.3411865234375, + "y": 272.51434326171875 + }, + { + "x": 721.0581665039062, + "y": 270.1856384277344 + }, + { + "x": 748.302001953125, + "y": 268.1328430175781 + }, + { + "x": 776.94482421875, + "y": 266.0732727050781 + }, + { + "x": 804.8863525390625, + "y": 263.8096923828125 + }, + { + "x": 834.0403442382812, + "y": 261.94573974609375 + }, + { + "x": 863.0138549804688, + "y": 259.8865051269531 + }, + { + "x": 694.116943359375, + "y": 298.9033203125 + }, + { + "x": 722.0093994140625, + "y": 297.12347412109375 + }, + { + "x": 749.4600830078125, + "y": 295.372314453125 + }, + { + "x": 778.0980224609375, + "y": 293.3216247558594 + }, + { + "x": 806.5435791015625, + "y": 291.1074523925781 + }, + { + "x": 835.7124633789062, + "y": 289.16387939453125 + }, + { + "x": 864.95068359375, + "y": 286.8360290527344 + }, + { + "x": 694.7274780273438, + "y": 325.9880676269531 + }, + { + "x": 722.833984375, + "y": 324.2217712402344 + }, + { + "x": 750.29736328125, + "y": 322.0653381347656 + }, + { + "x": 779.3856201171875, + "y": 320.39385986328125 + }, + { + "x": 807.967529296875, + "y": 318.50140380859375 + }, + { + "x": 837.4420776367188, + "y": 316.83319091796875 + }, + { + "x": 866.4846801757812, + "y": 314.6439208984375 + }, + { + "x": 695.2828369140625, + "y": 353.2939147949219 + }, + { + "x": 723.5046997070312, + "y": 351.42779541015625 + }, + { + "x": 752.1182861328125, + "y": 349.78955078125 + }, + { + "x": 780.6883544921875, + "y": 348.3022766113281 + }, + { + "x": 809.771240234375, + "y": 346.14019775390625 + }, + { + "x": 838.7159423828125, + "y": 344.5102844238281 + }, + { + "x": 868.3206787109375, + "y": 342.6904602050781 + } + ], + "reprojectionErrors": [ + { + "x": 0.2010498046875, + "y": 0.143829345703125 + }, + { + "x": 0.02740478515625, + "y": 0.00164794921875 + }, + { + "x": -0.04437255859375, + "y": 0.0801849365234375 + }, + { + "x": 0.018798828125, + "y": -0.1851043701171875 + }, + { + "x": -0.17144775390625, + "y": -0.02947998046875 + }, + { + "x": -0.01318359375, + "y": -0.2640838623046875 + }, + { + "x": 0.06878662109375, + "y": -0.0645599365234375 + }, + { + "x": -0.39312744140625, + "y": -0.117431640625 + }, + { + "x": 0.18804931640625, + "y": -0.13128662109375 + }, + { + "x": -0.09716796875, + "y": -0.19354248046875 + }, + { + "x": -0.1968994140625, + "y": 0.1881256103515625 + }, + { + "x": 0.1473388671875, + "y": -0.050994873046875 + }, + { + "x": 0.202880859375, + "y": -0.1529998779296875 + }, + { + "x": -0.1678466796875, + "y": -0.130035400390625 + }, + { + "x": -0.29229736328125, + "y": 0.115631103515625 + }, + { + "x": 0.3367919921875, + "y": 0.07012939453125 + }, + { + "x": -0.150146484375, + "y": 0.016021728515625 + }, + { + "x": 0.34979248046875, + "y": 0.15045166015625 + }, + { + "x": -0.074462890625, + "y": -0.130340576171875 + }, + { + "x": -0.02728271484375, + "y": -0.2315673828125 + }, + { + "x": -0.204833984375, + "y": 0.096160888671875 + }, + { + "x": -0.33636474609375, + "y": -0.084869384765625 + }, + { + "x": 0.25762939453125, + "y": -0.3092041015625 + }, + { + "x": -0.04925537109375, + "y": -0.248779296875 + }, + { + "x": 0.12542724609375, + "y": -0.03973388671875 + }, + { + "x": -0.13153076171875, + "y": -0.116241455078125 + }, + { + "x": -0.1632080078125, + "y": 0.17645263671875 + }, + { + "x": -0.06585693359375, + "y": -0.051910400390625 + }, + { + "x": -0.2413330078125, + "y": -0.121185302734375 + }, + { + "x": 0.513427734375, + "y": 0.185699462890625 + }, + { + "x": -0.0667724609375, + "y": -0.0064697265625 + }, + { + "x": 0.15203857421875, + "y": 0.008148193359375 + }, + { + "x": -0.2264404296875, + "y": -0.215789794921875 + }, + { + "x": 0.125244140625, + "y": 0.066925048828125 + }, + { + "x": 0.1392822265625, + "y": -0.094970703125 + }, + { + "x": 0.02020263671875, + "y": 0.0640869140625 + }, + { + "x": -0.20001220703125, + "y": -0.018035888671875 + }, + { + "x": -0.083251953125, + "y": -0.2645263671875 + }, + { + "x": -0.18310546875, + "y": 0.150299072265625 + }, + { + "x": 0.15435791015625, + "y": 0.01934814453125 + }, + { + "x": 0.1336669921875, + "y": 0.064605712890625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.020208659480305455, + "y": -0.1833422159097297, + "z": 0.8430317916975256 + }, + "rotation": { + "quaternion": { + "W": 0.9917806380292716, + "X": -0.09546908101932791, + "Y": 0.08309013698404086, + "Z": -0.01878429491754192 + } + } + }, + "cornersUsed": [ + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img3.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img3.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 890.002685546875, + "y": 203.74609375 + }, + { + "x": 916.8440551757812, + "y": 203.15301513671875 + }, + { + "x": 943.717529296875, + "y": 203.1981201171875 + }, + { + "x": 970.6118774414062, + "y": 202.32386779785156 + }, + { + "x": 997.6293334960938, + "y": 201.98974609375 + }, + { + "x": 891.0591430664062, + "y": 227.0872039794922 + }, + { + "x": 918.286865234375, + "y": 226.8861083984375 + }, + { + "x": 945.26953125, + "y": 226.6538543701172 + }, + { + "x": 972.7574462890625, + "y": 226.05609130859375 + }, + { + "x": 999.7429809570312, + "y": 225.91812133789062 + }, + { + "x": 892.6110229492188, + "y": 251.00099182128906 + }, + { + "x": 919.806396484375, + "y": 250.9529266357422 + }, + { + "x": 946.9931640625, + "y": 250.52755737304688 + }, + { + "x": 974.0283203125, + "y": 249.94346618652344 + }, + { + "x": 1002.017333984375, + "y": 249.90338134765625 + }, + { + "x": 1029.2796630859375, + "y": 249.2882537841797 + }, + { + "x": 1057.3465576171875, + "y": 249.4058837890625 + }, + { + "x": 893.8926391601562, + "y": 275.6961669921875 + }, + { + "x": 921.0407104492188, + "y": 275.4557800292969 + }, + { + "x": 948.6928100585938, + "y": 275.01837158203125 + }, + { + "x": 976.3030395507812, + "y": 274.6841125488281 + }, + { + "x": 1004.0791015625, + "y": 274.3754577636719 + }, + { + "x": 1031.91064453125, + "y": 274.34698486328125 + }, + { + "x": 1060.244873046875, + "y": 274.1581726074219 + }, + { + "x": 894.9801025390625, + "y": 300.09222412109375 + }, + { + "x": 922.8442993164062, + "y": 299.92645263671875 + }, + { + "x": 950.3753051757812, + "y": 300.0006103515625 + }, + { + "x": 978.0717163085938, + "y": 299.5674133300781 + }, + { + "x": 1006.2244873046875, + "y": 299.5328369140625 + }, + { + "x": 1034.4481201171875, + "y": 299.1524658203125 + }, + { + "x": 1063.0875244140625, + "y": 298.8996887207031 + }, + { + "x": 896.0263671875, + "y": 325.2315979003906 + }, + { + "x": 923.9219970703125, + "y": 325.40557861328125 + }, + { + "x": 952.1647338867188, + "y": 325.14337158203125 + }, + { + "x": 980.5670166015625, + "y": 324.7627258300781 + }, + { + "x": 1008.8635864257812, + "y": 325.1918029785156 + }, + { + "x": 1037.326416015625, + "y": 324.8812561035156 + }, + { + "x": 1065.9002685546875, + "y": 324.9144287109375 + }, + { + "x": 897.9322509765625, + "y": 350.9335632324219 + }, + { + "x": 925.17626953125, + "y": 350.3655090332031 + }, + { + "x": 954.1917114257812, + "y": 350.77301025390625 + }, + { + "x": 982.3951416015625, + "y": 350.8932189941406 + }, + { + "x": 1011.07958984375, + "y": 350.6899108886719 + }, + { + "x": 1039.4390869140625, + "y": 350.6776123046875 + }, + { + "x": 1068.976318359375, + "y": 350.6080322265625 + } + ], + "reprojectionErrors": [ + { + "x": 0.13592529296875, + "y": 0.0143890380859375 + }, + { + "x": -0.03289794921875, + "y": 0.173980712890625 + }, + { + "x": -0.10015869140625, + "y": -0.2983245849609375 + }, + { + "x": -0.05511474609375, + "y": 0.1550750732421875 + }, + { + "x": -3.0517578125E-4, + "y": 0.0747528076171875 + }, + { + "x": 0.009765625, + "y": -0.197113037109375 + }, + { + "x": -0.29669189453125, + "y": 0.0364837646484375 + }, + { + "x": 0.034423828125, + "y": -0.183380126953125 + }, + { + "x": -0.08343505859375, + "y": 0.0662994384765625 + }, + { + "x": -0.12786865234375, + "y": -0.20330810546875 + }, + { + "x": -0.0567626953125, + "y": -0.06976318359375 + }, + { + "x": 0.3831787109375, + "y": 0.2525787353515625 + }, + { + "x": 0.1551513671875, + "y": -0.1514434814453125 + }, + { + "x": -0.14178466796875, + "y": -0.3349609375 + }, + { + "x": 0.10626220703125, + "y": -0.351104736328125 + }, + { + "x": -0.00872802734375, + "y": -0.164154052734375 + }, + { + "x": 0.05865478515625, + "y": -0.074249267578125 + }, + { + "x": 0.100341796875, + "y": -0.0037841796875 + }, + { + "x": 0.2261962890625, + "y": -0.207275390625 + }, + { + "x": -0.011474609375, + "y": -0.244110107421875 + }, + { + "x": 0.013916015625, + "y": 0.003814697265625 + }, + { + "x": -0.2049560546875, + "y": -0.02349853515625 + }, + { + "x": 0.0528564453125, + "y": -0.2847900390625 + }, + { + "x": 0.28839111328125, + "y": -0.03265380859375 + }, + { + "x": 0.21026611328125, + "y": -0.173065185546875 + }, + { + "x": 0.2034912109375, + "y": 0.038482666015625 + }, + { + "x": -0.077392578125, + "y": 0.128631591796875 + }, + { + "x": 0.231201171875, + "y": 0.0511474609375 + }, + { + "x": 0.23419189453125, + "y": -0.250152587890625 + }, + { + "x": 0.03631591796875, + "y": -0.109344482421875 + }, + { + "x": -0.1754150390625, + "y": 0.155853271484375 + }, + { + "x": -0.1361083984375, + "y": -0.38262939453125 + }, + { + "x": -0.1181640625, + "y": -0.1754150390625 + }, + { + "x": -0.06689453125, + "y": -0.3057861328125 + }, + { + "x": -0.390380859375, + "y": -0.001068115234375 + }, + { + "x": 0.52191162109375, + "y": 0.507904052734375 + }, + { + "x": -0.1883544921875, + "y": 0.04718017578125 + }, + { + "x": 0.061767578125, + "y": -0.120330810546875 + }, + { + "x": -0.02105712890625, + "y": 0.041595458984375 + }, + { + "x": 0.36865234375, + "y": 0.01849365234375 + }, + { + "x": -0.2723388671875, + "y": 0.058746337890625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.21454023395452132, + "y": -0.1821021737590881, + "z": 0.8791438873378242 + }, + "rotation": { + "quaternion": { + "W": 0.9874605519131288, + "X": -0.15178228302626406, + "Y": 0.04270450281528147, + "Z": 0.007753864459348216 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img4.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img4.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 1011.6617431640625, + "y": 211.78286743164062 + }, + { + "x": 1038.688720703125, + "y": 210.83819580078125 + }, + { + "x": 1066.2142333984375, + "y": 209.9698944091797 + }, + { + "x": 1093.4571533203125, + "y": 209.23190307617188 + }, + { + "x": 1121.322021484375, + "y": 208.16590881347656 + }, + { + "x": 1148.834716796875, + "y": 207.478515625 + }, + { + "x": 1014.3330078125, + "y": 235.564453125 + }, + { + "x": 1041.5596923828125, + "y": 235.00778198242188 + }, + { + "x": 1068.9886474609375, + "y": 234.2030029296875 + }, + { + "x": 1096.2822265625, + "y": 232.86395263671875 + }, + { + "x": 1124.416015625, + "y": 232.44775390625 + }, + { + "x": 1152.07568359375, + "y": 231.7647705078125 + }, + { + "x": 989.0623168945312, + "y": 260.82147216796875 + }, + { + "x": 1016.5859375, + "y": 260.0756530761719 + }, + { + "x": 1044.3203125, + "y": 258.7834167480469 + }, + { + "x": 1071.705322265625, + "y": 258.177001953125 + }, + { + "x": 1099.926025390625, + "y": 258.0657958984375 + }, + { + "x": 1127.4014892578125, + "y": 256.6813659667969 + }, + { + "x": 1155.8961181640625, + "y": 256.0819091796875 + }, + { + "x": 991.1232299804688, + "y": 285.23419189453125 + }, + { + "x": 1019.2315673828125, + "y": 284.8432922363281 + }, + { + "x": 1046.951904296875, + "y": 284.02960205078125 + }, + { + "x": 1075.0565185546875, + "y": 283.00299072265625 + }, + { + "x": 1103.0068359375, + "y": 282.77587890625 + }, + { + "x": 1131.1656494140625, + "y": 281.96063232421875 + }, + { + "x": 1159.5150146484375, + "y": 281.2692565917969 + }, + { + "x": 993.6993408203125, + "y": 310.6990661621094 + }, + { + "x": 1021.7849731445312, + "y": 310.0146179199219 + }, + { + "x": 1049.6768798828125, + "y": 309.186279296875 + }, + { + "x": 1077.7340087890625, + "y": 308.2812194824219 + }, + { + "x": 1106.143798828125, + "y": 307.8045654296875 + }, + { + "x": 1134.068603515625, + "y": 306.7378234863281 + }, + { + "x": 1163.1990966796875, + "y": 306.76007080078125 + }, + { + "x": 995.8565063476562, + "y": 335.8950500488281 + }, + { + "x": 1024.2081298828125, + "y": 335.2604064941406 + }, + { + "x": 1052.1319580078125, + "y": 334.7477722167969 + }, + { + "x": 1080.8529052734375, + "y": 334.29449462890625 + }, + { + "x": 1109.283935546875, + "y": 333.9447326660156 + }, + { + "x": 1138.32275390625, + "y": 332.9615173339844 + }, + { + "x": 1166.4471435546875, + "y": 332.4056701660156 + }, + { + "x": 1026.70654296875, + "y": 361.0948486328125 + }, + { + "x": 1054.887451171875, + "y": 360.9523620605469 + }, + { + "x": 1083.9649658203125, + "y": 360.2569580078125 + }, + { + "x": 1112.9605712890625, + "y": 359.7352294921875 + }, + { + "x": 1141.6207275390625, + "y": 359.20684814453125 + }, + { + "x": 1170.7850341796875, + "y": 358.9708557128906 + } + ], + "reprojectionErrors": [ + { + "x": 0.20654296875, + "y": -0.019561767578125 + }, + { + "x": -0.070556640625, + "y": -0.040679931640625 + }, + { + "x": 0.0816650390625, + "y": -0.1891326904296875 + }, + { + "x": -0.2415771484375, + "y": -0.006561279296875 + }, + { + "x": -0.06640625, + "y": -0.199462890625 + }, + { + "x": -0.1370849609375, + "y": 0.06427001953125 + }, + { + "x": 0.0047607421875, + "y": -0.23492431640625 + }, + { + "x": 0.3338623046875, + "y": 0.2780914306640625 + }, + { + "x": -0.0283203125, + "y": -0.1287689208984375 + }, + { + "x": 0.232177734375, + "y": -0.2658233642578125 + }, + { + "x": 0.17242431640625, + "y": -0.11468505859375 + }, + { + "x": 0.0467529296875, + "y": -0.140625 + }, + { + "x": -0.1375732421875, + "y": 0.382537841796875 + }, + { + "x": 0.179443359375, + "y": 0.222625732421875 + }, + { + "x": -0.187744140625, + "y": -0.429656982421875 + }, + { + "x": 0.3416748046875, + "y": 0.19415283203125 + }, + { + "x": 0.003173828125, + "y": 0.035919189453125 + }, + { + "x": 0.3570556640625, + "y": 0.110870361328125 + }, + { + "x": -0.12640380859375, + "y": -0.205108642578125 + }, + { + "x": -0.0672607421875, + "y": -0.09564208984375 + }, + { + "x": -0.2381591796875, + "y": 0.229400634765625 + }, + { + "x": -0.1004638671875, + "y": -0.2423095703125 + }, + { + "x": -0.0174560546875, + "y": -0.123046875 + }, + { + "x": 0.028564453125, + "y": -0.12481689453125 + }, + { + "x": 0.0594482421875, + "y": -0.3125 + }, + { + "x": -0.1710205078125, + "y": -0.267791748046875 + }, + { + "x": -0.0506591796875, + "y": -0.076629638671875 + }, + { + "x": 0.0614013671875, + "y": 0.193878173828125 + }, + { + "x": -0.0224609375, + "y": 0.038665771484375 + }, + { + "x": 0.5350341796875, + "y": 0.476287841796875 + }, + { + "x": 0.04296875, + "y": -0.172271728515625 + }, + { + "x": 0.21453857421875, + "y": -0.054962158203125 + }, + { + "x": -0.0482177734375, + "y": 0.009368896484375 + }, + { + "x": 0.2764892578125, + "y": -0.0457763671875 + }, + { + "x": -0.0362548828125, + "y": -0.15771484375 + }, + { + "x": 0.10009765625, + "y": -0.37054443359375 + }, + { + "x": -0.212158203125, + "y": 0.052734375 + }, + { + "x": 0.548828125, + "y": 0.0513916015625 + }, + { + "x": 0.0372314453125, + "y": 0.121307373046875 + }, + { + "x": 0.3448486328125, + "y": -0.232208251953125 + }, + { + "x": -0.2647705078125, + "y": 5.18798828125E-4 + }, + { + "x": 0.049560546875, + "y": 0.04058837890625 + }, + { + "x": 0.021240234375, + "y": -0.20904541015625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.30682698492721716, + "y": -0.17364200428100973, + "z": 0.8799288901503086 + }, + "rotation": { + "quaternion": { + "W": 0.9894110140557976, + "X": -0.13685487678233357, + "Y": 0.048333866943040114, + "Z": -6.521290541580863E-4 + } + } + }, + "cornersUsed": [ + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img5.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img5.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 995.136962890625, + "y": 41.439361572265625 + }, + { + "x": 1020.7960815429688, + "y": 40.66181945800781 + }, + { + "x": 1046.724365234375, + "y": 38.9775390625 + }, + { + "x": 1125.2401123046875, + "y": 36.95241165161133 + }, + { + "x": 1152.1885986328125, + "y": 35.89031219482422 + }, + { + "x": 995.0551147460938, + "y": 64.1468734741211 + }, + { + "x": 1021.0734252929688, + "y": 63.0302734375 + }, + { + "x": 1046.6688232421875, + "y": 62.08291244506836 + }, + { + "x": 1126.2080078125, + "y": 59.75385665893555 + }, + { + "x": 1153.690673828125, + "y": 59.303009033203125 + }, + { + "x": 1021.0735473632812, + "y": 85.86868286132812 + }, + { + "x": 1047.0894775390625, + "y": 85.0278549194336 + }, + { + "x": 1073.8359375, + "y": 84.79753875732422 + }, + { + "x": 1100.023681640625, + "y": 83.80241394042969 + }, + { + "x": 1126.986328125, + "y": 82.98037719726562 + }, + { + "x": 1153.87060546875, + "y": 82.10185241699219 + }, + { + "x": 1021.010986328125, + "y": 109.31605529785156 + }, + { + "x": 1047.598388671875, + "y": 108.4611587524414 + }, + { + "x": 1074.223388671875, + "y": 107.83840942382812 + }, + { + "x": 1100.5814208984375, + "y": 106.91259765625 + }, + { + "x": 1127.66943359375, + "y": 106.49278259277344 + }, + { + "x": 1155.034912109375, + "y": 105.8958740234375 + }, + { + "x": 995.3919067382812, + "y": 132.6287384033203 + }, + { + "x": 1021.1605834960938, + "y": 132.3660888671875 + }, + { + "x": 1047.6856689453125, + "y": 131.82009887695312 + }, + { + "x": 1074.674072265625, + "y": 131.31996154785156 + }, + { + "x": 1101.16650390625, + "y": 130.59974670410156 + }, + { + "x": 1128.3399658203125, + "y": 130.0556640625 + }, + { + "x": 1155.6561279296875, + "y": 129.42974853515625 + }, + { + "x": 995.0924072265625, + "y": 156.50987243652344 + }, + { + "x": 1021.6466064453125, + "y": 155.63442993164062 + }, + { + "x": 1047.978515625, + "y": 155.45640563964844 + }, + { + "x": 1074.8660888671875, + "y": 155.0890350341797 + }, + { + "x": 1102.2044677734375, + "y": 154.70065307617188 + }, + { + "x": 1128.91796875, + "y": 154.41700744628906 + }, + { + "x": 1156.53662109375, + "y": 153.96157836914062 + }, + { + "x": 995.23779296875, + "y": 180.07859802246094 + }, + { + "x": 1021.8619995117188, + "y": 179.64581298828125 + }, + { + "x": 1048.2908935546875, + "y": 179.02078247070312 + }, + { + "x": 1075.0572509765625, + "y": 178.95530700683594 + }, + { + "x": 1102.263916015625, + "y": 178.56466674804688 + }, + { + "x": 1130.062744140625, + "y": 178.66256713867188 + }, + { + "x": 1157.4915771484375, + "y": 177.93673706054688 + } + ], + "reprojectionErrors": [ + { + "x": -0.1710205078125, + "y": -0.08535003662109375 + }, + { + "x": -0.15850830078125, + "y": -0.24603271484375 + }, + { + "x": -0.181640625, + "y": 0.5001258850097656 + }, + { + "x": -0.0050048828125, + "y": -0.24279403686523438 + }, + { + "x": -0.23651123046875, + "y": 0.035655975341796875 + }, + { + "x": 0.1905517578125, + "y": 0.14550018310546875 + }, + { + "x": 0.15185546875, + "y": -0.033649444580078125 + }, + { + "x": -0.3465576171875, + "y": -0.4172401428222656 + }, + { + "x": -0.2799072265625, + "y": -0.34066009521484375 + }, + { + "x": 0.1541748046875, + "y": -0.0780029296875 + }, + { + "x": 0.2840576171875, + "y": 0.16175079345703125 + }, + { + "x": 0.22198486328125, + "y": -0.3191375732421875 + }, + { + "x": -0.106201171875, + "y": -0.0948333740234375 + }, + { + "x": -0.2301025390625, + "y": -0.100860595703125 + }, + { + "x": 0.1568603515625, + "y": 0.19805908203125 + }, + { + "x": 0.0596923828125, + "y": -0.007080078125 + }, + { + "x": -0.0987548828125, + "y": 0.1794586181640625 + }, + { + "x": 0.26904296875, + "y": -0.0844573974609375 + }, + { + "x": 0.12255859375, + "y": -0.0626983642578125 + }, + { + "x": -0.2430419921875, + "y": -0.0843505859375 + }, + { + "x": 0.1334228515625, + "y": 0.1165313720703125 + }, + { + "x": 0.0770263671875, + "y": 0.1438446044921875 + }, + { + "x": 0.1282958984375, + "y": 0.255584716796875 + }, + { + "x": 0.27850341796875, + "y": -0.309326171875 + }, + { + "x": -0.021240234375, + "y": 0.1472930908203125 + }, + { + "x": 0.1456298828125, + "y": -0.0905303955078125 + }, + { + "x": 0.003173828125, + "y": -0.135986328125 + }, + { + "x": -0.3416748046875, + "y": -0.1573333740234375 + }, + { + "x": 0.18896484375, + "y": -0.280242919921875 + }, + { + "x": 0.0670166015625, + "y": -0.2281494140625 + }, + { + "x": 0.20916748046875, + "y": -0.2703094482421875 + }, + { + "x": -0.04193115234375, + "y": -0.1466064453125 + }, + { + "x": 0.1488037109375, + "y": 0.172943115234375 + }, + { + "x": 0.250732421875, + "y": -0.0634002685546875 + }, + { + "x": 0.1630859375, + "y": 0.0291748046875 + }, + { + "x": -0.2637939453125, + "y": -0.3629913330078125 + }, + { + "x": -0.0657958984375, + "y": 0.0724639892578125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.33862617584815174, + "y": -0.3641892849883588, + "z": 0.9409254345326482 + }, + "rotation": { + "quaternion": { + "W": 0.9928287546641615, + "X": -0.08368638701993833, + "Y": 0.08276276807993865, + "Z": 0.020927894287423317 + } + } + }, + "cornersUsed": [ + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img6.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img6.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 830.7171630859375, + "y": 70.26667785644531 + }, + { + "x": 903.4317016601562, + "y": 68.24237060546875 + }, + { + "x": 928.7599487304688, + "y": 68.21065521240234 + }, + { + "x": 953.5435180664062, + "y": 66.99961853027344 + }, + { + "x": 978.8082885742188, + "y": 66.80878448486328 + }, + { + "x": 829.6112670898438, + "y": 91.91130065917969 + }, + { + "x": 903.04443359375, + "y": 90.25189208984375 + }, + { + "x": 927.9833984375, + "y": 90.09139251708984 + }, + { + "x": 953.3021850585938, + "y": 89.70217895507812 + }, + { + "x": 978.8175048828125, + "y": 88.98731231689453 + }, + { + "x": 828.6997680664062, + "y": 113.97232818603516 + }, + { + "x": 852.8594360351562, + "y": 113.22382354736328 + }, + { + "x": 877.8086547851562, + "y": 113.0366439819336 + }, + { + "x": 902.5798950195312, + "y": 112.7760238647461 + }, + { + "x": 927.509033203125, + "y": 112.11286926269531 + }, + { + "x": 952.9880981445312, + "y": 111.69055938720703 + }, + { + "x": 978.6207275390625, + "y": 110.96026611328125 + }, + { + "x": 827.9324340820312, + "y": 135.871826171875 + }, + { + "x": 852.3192749023438, + "y": 135.71817016601562 + }, + { + "x": 876.9918823242188, + "y": 134.98089599609375 + }, + { + "x": 901.8275146484375, + "y": 134.88609313964844 + }, + { + "x": 927.0337524414062, + "y": 134.65853881835938 + }, + { + "x": 952.7605590820312, + "y": 134.1670684814453 + }, + { + "x": 978.3836059570312, + "y": 134.1078338623047 + }, + { + "x": 826.957275390625, + "y": 158.04449462890625 + }, + { + "x": 851.2417602539062, + "y": 157.76673889160156 + }, + { + "x": 876.3109741210938, + "y": 157.4227752685547 + }, + { + "x": 901.093994140625, + "y": 157.19264221191406 + }, + { + "x": 926.7371826171875, + "y": 156.71121215820312 + }, + { + "x": 952.0960083007812, + "y": 156.9071502685547 + }, + { + "x": 978.264404296875, + "y": 156.5708770751953 + }, + { + "x": 825.7546997070312, + "y": 180.52935791015625 + }, + { + "x": 850.7747192382812, + "y": 180.23765563964844 + }, + { + "x": 875.3748779296875, + "y": 180.52748107910156 + }, + { + "x": 900.5309448242188, + "y": 180.56004333496094 + }, + { + "x": 926.019775390625, + "y": 179.98973083496094 + }, + { + "x": 951.9993286132812, + "y": 180.0696258544922 + }, + { + "x": 978.0862426757812, + "y": 180.1150665283203 + }, + { + "x": 824.76416015625, + "y": 203.25729370117188 + }, + { + "x": 849.3702392578125, + "y": 202.97454833984375 + }, + { + "x": 874.93310546875, + "y": 202.74769592285156 + }, + { + "x": 900.1064453125, + "y": 202.93096923828125 + }, + { + "x": 925.6891479492188, + "y": 203.14361572265625 + }, + { + "x": 951.4654541015625, + "y": 203.25540161132812 + }, + { + "x": 977.7960205078125, + "y": 203.38937377929688 + } + ], + "reprojectionErrors": [ + { + "x": -0.08599853515625, + "y": 0.18630218505859375 + }, + { + "x": 0.06939697265625, + "y": 0.29544830322265625 + }, + { + "x": 0.11962890625, + "y": -0.13773345947265625 + }, + { + "x": 0.06622314453125, + "y": 0.0631561279296875 + }, + { + "x": 0.0810546875, + "y": 0.1262969970703125 + }, + { + "x": 0.10284423828125, + "y": -0.2391357421875 + }, + { + "x": 0.01409912109375, + "y": -0.24582672119140625 + }, + { + "x": 0.222412109375, + "y": 0.07108306884765625 + }, + { + "x": -0.120361328125, + "y": -0.1696929931640625 + }, + { + "x": -0.0443115234375, + "y": -0.3332977294921875 + }, + { + "x": 0.116943359375, + "y": -0.09056854248046875 + }, + { + "x": -0.02630615234375, + "y": -0.084808349609375 + }, + { + "x": -0.0753173828125, + "y": 0.2328948974609375 + }, + { + "x": -0.19219970703125, + "y": -0.1599273681640625 + }, + { + "x": -0.08807373046875, + "y": -0.3321380615234375 + }, + { + "x": -0.0286865234375, + "y": 0.0836181640625 + }, + { + "x": 0.11102294921875, + "y": -0.1386871337890625 + }, + { + "x": 0.1258544921875, + "y": -0.2237396240234375 + }, + { + "x": -0.1319580078125, + "y": -0.040283203125 + }, + { + "x": -0.0355224609375, + "y": -0.2844085693359375 + }, + { + "x": -0.200927734375, + "y": -0.11102294921875 + }, + { + "x": 0.12957763671875, + "y": -0.0511016845703125 + }, + { + "x": -0.08111572265625, + "y": 0.080078125 + }, + { + "x": 0.240234375, + "y": 0.1025543212890625 + }, + { + "x": -0.05029296875, + "y": 0.3815765380859375 + }, + { + "x": 0.1942138671875, + "y": -0.011474609375 + }, + { + "x": -0.11767578125, + "y": 0.1331024169921875 + }, + { + "x": 0.00750732421875, + "y": -0.1352691650390625 + }, + { + "x": -0.27264404296875, + "y": 0.0489501953125 + }, + { + "x": 0.1131591796875, + "y": -0.342559814453125 + }, + { + "x": 0.1915283203125, + "y": -0.4709320068359375 + }, + { + "x": 0.1881103515625, + "y": 0.0095672607421875 + }, + { + "x": -0.052734375, + "y": -0.154083251953125 + }, + { + "x": -0.14508056640625, + "y": -0.277099609375 + }, + { + "x": -0.00653076171875, + "y": -0.160614013671875 + }, + { + "x": 0.25311279296875, + "y": 0.12738037109375 + }, + { + "x": -0.1953125, + "y": 0.3660430908203125 + }, + { + "x": -0.003173828125, + "y": 0.20123291015625 + }, + { + "x": 0.03326416015625, + "y": 0.013824462890625 + }, + { + "x": 0.13214111328125, + "y": -0.06585693359375 + }, + { + "x": -0.0645751953125, + "y": -0.1607666015625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.17320484477187856, + "y": -0.34474287162615036, + "z": 0.9716056778714968 + }, + "rotation": { + "quaternion": { + "W": 0.9904159418806573, + "X": -0.10158967011238326, + "Y": 0.08904142136331532, + "Z": 0.0287650182810334 + } + } + }, + "cornersUsed": [ + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img7.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img7.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 1155.7957763671875, + "y": 94.8557357788086 + }, + { + "x": 1180.47021484375, + "y": 94.68933868408203 + }, + { + "x": 1205.9034423828125, + "y": 95.80208587646484 + }, + { + "x": 1056.2176513671875, + "y": 115.6290054321289 + }, + { + "x": 1081.671630859375, + "y": 115.82835388183594 + }, + { + "x": 1106.3314208984375, + "y": 116.29006958007812 + }, + { + "x": 1131.46728515625, + "y": 116.62608337402344 + }, + { + "x": 1156.4390869140625, + "y": 116.9554443359375 + }, + { + "x": 1181.9708251953125, + "y": 117.42147827148438 + }, + { + "x": 1206.987548828125, + "y": 117.36229705810547 + }, + { + "x": 1056.6771240234375, + "y": 137.98976135253906 + }, + { + "x": 1081.5159912109375, + "y": 138.0379180908203 + }, + { + "x": 1106.9793701171875, + "y": 138.5205078125 + }, + { + "x": 1132.0538330078125, + "y": 138.921142578125 + }, + { + "x": 1157.336669921875, + "y": 139.45614624023438 + }, + { + "x": 1182.975341796875, + "y": 139.8406219482422 + }, + { + "x": 1208.4844970703125, + "y": 140.45285034179688 + }, + { + "x": 1057.32421875, + "y": 160.4611053466797 + }, + { + "x": 1081.84130859375, + "y": 161.23724365234375 + }, + { + "x": 1107.6063232421875, + "y": 161.32398986816406 + }, + { + "x": 1132.763916015625, + "y": 161.9544677734375 + }, + { + "x": 1158.331298828125, + "y": 162.19583129882812 + }, + { + "x": 1184.0560302734375, + "y": 162.61871337890625 + }, + { + "x": 1082.4564208984375, + "y": 183.55897521972656 + }, + { + "x": 1108.00537109375, + "y": 184.0908660888672 + }, + { + "x": 1133.591064453125, + "y": 184.29380798339844 + }, + { + "x": 1159.045654296875, + "y": 185.2899169921875 + }, + { + "x": 1083.38720703125, + "y": 206.20033264160156 + }, + { + "x": 1108.5189208984375, + "y": 206.8379669189453 + }, + { + "x": 1134.838134765625, + "y": 207.3865509033203 + }, + { + "x": 1159.7940673828125, + "y": 207.9732208251953 + }, + { + "x": 1058.004150390625, + "y": 228.89842224121094 + }, + { + "x": 1134.705078125, + "y": 230.52862548828125 + }, + { + "x": 1160.56640625, + "y": 231.62464904785156 + }, + { + "x": 1187.0574951171875, + "y": 232.37612915039062 + }, + { + "x": 1212.8804931640625, + "y": 232.7222137451172 + } + ], + "reprojectionErrors": [ + { + "x": -0.4080810546875, + "y": 0.116546630859375 + }, + { + "x": -0.1002197265625, + "y": -0.0182342529296875 + }, + { + "x": -0.14306640625, + "y": -0.0180511474609375 + }, + { + "x": 0.103271484375, + "y": -0.0019073486328125 + }, + { + "x": -0.08544921875, + "y": -0.113067626953125 + }, + { + "x": 0.365234375, + "y": 0.3104095458984375 + }, + { + "x": 0.1217041015625, + "y": -0.1571197509765625 + }, + { + "x": 0.2447509765625, + "y": 0.1729583740234375 + }, + { + "x": -0.1298828125, + "y": 0.077789306640625 + }, + { + "x": 0.0111083984375, + "y": 0.073822021484375 + }, + { + "x": 0.0699462890625, + "y": -0.05523681640625 + }, + { + "x": -0.1009521484375, + "y": -0.0244140625 + }, + { + "x": -0.0166015625, + "y": -0.211944580078125 + }, + { + "x": -0.1484375, + "y": -0.204803466796875 + }, + { + "x": 0.4169921875, + "y": -0.541046142578125 + }, + { + "x": -0.13720703125, + "y": -0.1787261962890625 + }, + { + "x": 0.0438232421875, + "y": -0.3509063720703125 + }, + { + "x": -0.057373046875, + "y": -0.1247100830078125 + }, + { + "x": -0.1885986328125, + "y": -0.0706939697265625 + }, + { + "x": 0.300048828125, + "y": -0.1558074951171875 + }, + { + "x": 0.084716796875, + "y": -0.175811767578125 + }, + { + "x": -0.038330078125, + "y": 0.1423492431640625 + }, + { + "x": 0.0986328125, + "y": -0.323394775390625 + }, + { + "x": -0.5382080078125, + "y": 0.1085662841796875 + }, + { + "x": 0.2236328125, + "y": 0.11627197265625 + }, + { + "x": 0.300048828125, + "y": -0.0391693115234375 + }, + { + "x": 0.3441162109375, + "y": 0.2541961669921875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.4129719120818737, + "y": -0.3180308104768038, + "z": 0.9662682325505154 + }, + "rotation": { + "quaternion": { + "W": 0.9943809075899115, + "X": -0.09119393406645873, + "Y": 0.046802847432928535, + "Z": 0.02645317527852255 + } + } + }, + "cornersUsed": [ + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + true, + false, + false, + true, + true, + true, + true + ], + "snapshotName": "img8.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img8.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 650.3525390625, + "y": 72.10406494140625 + }, + { + "x": 671.9254150390625, + "y": 71.29959869384766 + }, + { + "x": 692.8248901367188, + "y": 70.02080535888672 + }, + { + "x": 714.1687622070312, + "y": 69.1556396484375 + }, + { + "x": 779.106201171875, + "y": 66.26084899902344 + }, + { + "x": 693.2623291015625, + "y": 90.93841552734375 + }, + { + "x": 714.2462768554688, + "y": 89.89456939697266 + }, + { + "x": 735.8932495117188, + "y": 89.5561294555664 + }, + { + "x": 757.302490234375, + "y": 88.7320785522461 + }, + { + "x": 692.6700439453125, + "y": 112.23841094970703 + }, + { + "x": 714.0192260742188, + "y": 111.35773468017578 + }, + { + "x": 735.1250610351562, + "y": 111.01243591308594 + }, + { + "x": 757.2720947265625, + "y": 109.72062683105469 + }, + { + "x": 650.2464599609375, + "y": 135.08534240722656 + }, + { + "x": 671.138916015625, + "y": 134.31346130371094 + }, + { + "x": 692.7243041992188, + "y": 133.08494567871094 + }, + { + "x": 714.100341796875, + "y": 132.6539306640625 + }, + { + "x": 735.3726806640625, + "y": 131.7770233154297 + }, + { + "x": 757.248046875, + "y": 131.0760040283203 + }, + { + "x": 778.8174438476562, + "y": 130.42694091796875 + }, + { + "x": 650.0513916015625, + "y": 155.97996520996094 + }, + { + "x": 671.00732421875, + "y": 155.08175659179688 + }, + { + "x": 692.380615234375, + "y": 154.7963104248047 + }, + { + "x": 713.6055297851562, + "y": 153.58482360839844 + }, + { + "x": 735.8929443359375, + "y": 152.91546630859375 + }, + { + "x": 757.1698608398438, + "y": 152.44284057617188 + }, + { + "x": 778.923095703125, + "y": 151.9119415283203 + }, + { + "x": 650.040283203125, + "y": 177.03245544433594 + }, + { + "x": 671.3851928710938, + "y": 176.20663452148438 + }, + { + "x": 691.9329833984375, + "y": 175.80844116210938 + }, + { + "x": 714.108154296875, + "y": 175.13819885253906 + }, + { + "x": 734.9385375976562, + "y": 174.57969665527344 + }, + { + "x": 756.9033203125, + "y": 173.9193115234375 + }, + { + "x": 778.875244140625, + "y": 173.0536651611328 + }, + { + "x": 650.0335083007812, + "y": 197.95928955078125 + }, + { + "x": 670.9812622070312, + "y": 197.41806030273438 + }, + { + "x": 692.5447387695312, + "y": 196.8651580810547 + }, + { + "x": 713.8267822265625, + "y": 196.37466430664062 + }, + { + "x": 735.0637817382812, + "y": 195.9396514892578 + }, + { + "x": 757.1541137695312, + "y": 195.07630920410156 + }, + { + "x": 778.8154296875, + "y": 194.57862854003906 + } + ], + "reprojectionErrors": [ + { + "x": 0.3114013671875, + "y": -0.088897705078125 + }, + { + "x": -0.19781494140625, + "y": -0.23503875732421875 + }, + { + "x": 0.096923828125, + "y": 0.09271240234375 + }, + { + "x": 0.07794189453125, + "y": 0.00644683837890625 + }, + { + "x": -0.0888671875, + "y": 0.362518310546875 + }, + { + "x": 0.0364990234375, + "y": -0.02007293701171875 + }, + { + "x": 0.049560546875, + "y": 0.03583526611328125 + }, + { + "x": 0.43743896484375, + "y": -0.44385528564453125 + }, + { + "x": -0.08428955078125, + "y": 0.02277374267578125 + }, + { + "x": -0.11944580078125, + "y": -0.0830230712890625 + }, + { + "x": 0.12042236328125, + "y": 0.03265380859375 + }, + { + "x": -0.11083984375, + "y": -0.027679443359375 + }, + { + "x": 0.095947265625, + "y": -0.1400604248046875 + }, + { + "x": 0.22052001953125, + "y": 0.1008148193359375 + }, + { + "x": 0.11431884765625, + "y": -0.31072998046875 + }, + { + "x": 0.28814697265625, + "y": 0.2036285400390625 + }, + { + "x": -0.46868896484375, + "y": 0.17578125 + }, + { + "x": -0.08294677734375, + "y": -0.04888916015625 + }, + { + "x": -0.04119873046875, + "y": -0.215301513671875 + }, + { + "x": -0.08770751953125, + "y": -0.088287353515625 + }, + { + "x": -0.27947998046875, + "y": 0.1047515869140625 + }, + { + "x": 0.45751953125, + "y": -0.1299285888671875 + }, + { + "x": -0.301025390625, + "y": -0.092620849609375 + }, + { + "x": 0.41729736328125, + "y": -0.167083740234375 + }, + { + "x": 0.133544921875, + "y": -0.139678955078125 + }, + { + "x": -0.0247802734375, + "y": 0.093017578125 + }, + { + "x": -0.21917724609375, + "y": 0.087890625 + }, + { + "x": 0.00341796875, + "y": 0.06060791015625 + }, + { + "x": -0.2578125, + "y": 0.04498291015625 + }, + { + "x": -0.10552978515625, + "y": -0.0330352783203125 + }, + { + "x": 0.22412109375, + "y": -0.1665191650390625 + }, + { + "x": -0.1669921875, + "y": 0.1284027099609375 + }, + { + "x": 0.00360107421875, + "y": 0.0577392578125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.02232659469460706, + "y": -0.3821299215906528, + "z": 1.0822541661627292 + }, + "rotation": { + "quaternion": { + "W": 0.9977785190466444, + "X": -0.018306545418434152, + "Y": 0.06402979813305743, + "Z": 0.001755640899456772 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + false, + false, + true, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img9.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img9.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 682.4734497070312, + "y": 68.53338623046875 + }, + { + "x": 745.876708984375, + "y": 65.1263427734375 + }, + { + "x": 767.3446044921875, + "y": 64.43949890136719 + }, + { + "x": 640.7740478515625, + "y": 90.85321044921875 + }, + { + "x": 661.2410888671875, + "y": 90.31085968017578 + }, + { + "x": 682.6210327148438, + "y": 89.001953125 + }, + { + "x": 746.0109252929688, + "y": 86.41437530517578 + }, + { + "x": 767.107177734375, + "y": 85.7301254272461 + }, + { + "x": 640.7349243164062, + "y": 111.90009307861328 + }, + { + "x": 661.392578125, + "y": 110.70249938964844 + }, + { + "x": 682.5546875, + "y": 110.16664123535156 + }, + { + "x": 703.8011474609375, + "y": 109.04061126708984 + }, + { + "x": 724.9586791992188, + "y": 108.44989013671875 + }, + { + "x": 746.1102905273438, + "y": 107.86803436279297 + }, + { + "x": 767.3927001953125, + "y": 106.9285659790039 + }, + { + "x": 640.943359375, + "y": 132.40292358398438 + }, + { + "x": 661.4880981445312, + "y": 132.16734313964844 + }, + { + "x": 682.5575561523438, + "y": 131.17202758789062 + }, + { + "x": 703.6563720703125, + "y": 130.66310119628906 + }, + { + "x": 767.3609619140625, + "y": 128.06484985351562 + }, + { + "x": 641.2568359375, + "y": 153.590576171875 + }, + { + "x": 661.4556274414062, + "y": 152.57508850097656 + }, + { + "x": 682.7308349609375, + "y": 151.85780334472656 + }, + { + "x": 703.8069458007812, + "y": 151.3929901123047 + }, + { + "x": 640.778076171875, + "y": 174.50474548339844 + }, + { + "x": 662.099609375, + "y": 173.9009246826172 + }, + { + "x": 682.8406372070312, + "y": 172.9973602294922 + }, + { + "x": 703.9833984375, + "y": 172.7296600341797 + }, + { + "x": 641.3026123046875, + "y": 195.29513549804688 + }, + { + "x": 662.053466796875, + "y": 194.87442016601562 + }, + { + "x": 682.931396484375, + "y": 194.06988525390625 + }, + { + "x": 704.2935180664062, + "y": 193.78033447265625 + }, + { + "x": 768.0521240234375, + "y": 191.97084045410156 + } + ], + "reprojectionErrors": [ + { + "x": -0.13330078125, + "y": 0.01810455322265625 + }, + { + "x": -0.17120361328125, + "y": 0.1055908203125 + }, + { + "x": -0.0570068359375, + "y": 0.09731292724609375 + }, + { + "x": 0.2247314453125, + "y": -0.08283233642578125 + }, + { + "x": 0.0010986328125, + "y": -0.1696319580078125 + }, + { + "x": 0.19940185546875, + "y": 0.21358489990234375 + }, + { + "x": -0.165771484375, + "y": 0.02474212646484375 + }, + { + "x": -0.0400390625, + "y": -0.20654296875 + }, + { + "x": 0.059814453125, + "y": -0.07979583740234375 + }, + { + "x": -0.11029052734375, + "y": 0.228759765625 + }, + { + "x": 0.20477294921875, + "y": -0.298004150390625 + }, + { + "x": 0.10076904296875, + "y": -0.0648345947265625 + }, + { + "x": 0.0728759765625, + "y": -0.3178253173828125 + }, + { + "x": 0.21221923828125, + "y": -0.0035858154296875 + }, + { + "x": -0.32525634765625, + "y": -0.04766845703125 + }, + { + "x": 0.33935546875, + "y": 0.2575531005859375 + }, + { + "x": 0.033203125, + "y": 0.2647247314453125 + }, + { + "x": 0.03173828125, + "y": 0.0195770263671875 + }, + { + "x": 0.25341796875, + "y": -0.041351318359375 + }, + { + "x": -0.03460693359375, + "y": -0.2403717041015625 + }, + { + "x": -0.16973876953125, + "y": 0.097320556640625 + }, + { + "x": -0.0506591796875, + "y": -0.087921142578125 + }, + { + "x": 0.04705810546875, + "y": 0.110687255859375 + }, + { + "x": -0.23382568359375, + "y": -0.2056427001953125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.034833495618553756, + "y": -0.38912220519993324, + "z": 1.0949995814613809 + }, + "rotation": { + "quaternion": { + "W": 0.9985986086554879, + "X": -0.003330571643941248, + "Y": 0.0527521948313059, + "Z": -0.0026328737775144803 + } + } + }, + "cornersUsed": [ + false, + false, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + true + ], + "snapshotName": "img10.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img10.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + } + ], + "locationInImageSpace": [ + { + "x": 611.8617553710938, + "y": 91.25859832763672 + }, + { + "x": 631.9867553710938, + "y": 91.80415344238281 + }, + { + "x": 652.0162963867188, + "y": 91.96410369873047 + }, + { + "x": 672.060546875, + "y": 91.97074890136719 + }, + { + "x": 610.7190551757812, + "y": 111.32632446289062 + }, + { + "x": 630.7816772460938, + "y": 111.66957092285156 + }, + { + "x": 651.127197265625, + "y": 111.89044952392578 + }, + { + "x": 671.3157348632812, + "y": 111.97277069091797 + }, + { + "x": 570.0802001953125, + "y": 130.5340576171875 + }, + { + "x": 589.7957763671875, + "y": 130.8214874267578 + }, + { + "x": 609.838134765625, + "y": 131.01004028320312 + }, + { + "x": 629.842041015625, + "y": 131.38409423828125 + }, + { + "x": 650.8109130859375, + "y": 131.84559631347656 + }, + { + "x": 671.0159912109375, + "y": 132.06576538085938 + }, + { + "x": 589.107421875, + "y": 151.06048583984375 + }, + { + "x": 609.7005004882812, + "y": 150.7620391845703 + }, + { + "x": 629.1166381835938, + "y": 151.5911865234375 + }, + { + "x": 649.7085571289062, + "y": 152.01380920410156 + }, + { + "x": 669.933837890625, + "y": 151.9589080810547 + }, + { + "x": 546.553466796875, + "y": 209.91598510742188 + }, + { + "x": 566.4470825195312, + "y": 210.00897216796875 + }, + { + "x": 626.91455078125, + "y": 211.2486572265625 + } + ], + "reprojectionErrors": [ + { + "x": 0.12066650390625, + "y": 0.1756134033203125 + }, + { + "x": 0.15069580078125, + "y": -0.0854034423828125 + }, + { + "x": 0.2110595703125, + "y": -0.16487884521484375 + }, + { + "x": 0.05059814453125, + "y": -0.11644744873046875 + }, + { + "x": 0.209228515625, + "y": 0.09149169921875 + }, + { + "x": 0.349609375, + "y": 0.011566162109375 + }, + { + "x": -0.4127197265625, + "y": -0.15045166015625 + }, + { + "x": -0.34967041015625, + "y": -0.0657958984375 + }, + { + "x": -0.47601318359375, + "y": 0.2478179931640625 + }, + { + "x": 0.2733154296875, + "y": -0.2567138671875 + }, + { + "x": -0.0908203125, + "y": -0.3495635986328125 + }, + { + "x": -0.02655029296875, + "y": 0.040283203125 + }, + { + "x": -0.10113525390625, + "y": -0.1233978271484375 + }, + { + "x": 0.0411376953125, + "y": 0.18682861328125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.14839525167906645, + "y": -0.37954273752817536, + "z": 1.1421047514652023 + }, + "rotation": { + "quaternion": { + "W": 0.9989694026824227, + "X": -0.025123564414330245, + "Y": 0.03333360592615734, + "Z": 0.017827218835321082 + } + } + }, + "cornersUsed": [ + false, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + false, + false, + true, + false, + false + ], + "snapshotName": "img11.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img11.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 374.2944641113281, + "y": 76.04405212402344 + }, + { + "x": 401.208740234375, + "y": 77.33233642578125 + }, + { + "x": 427.80206298828125, + "y": 79.87789154052734 + }, + { + "x": 454.00506591796875, + "y": 81.7400894165039 + }, + { + "x": 480.46807861328125, + "y": 83.69096374511719 + }, + { + "x": 506.43414306640625, + "y": 85.34805297851562 + }, + { + "x": 532.7820434570312, + "y": 87.85997009277344 + }, + { + "x": 372.5200500488281, + "y": 100.35064697265625 + }, + { + "x": 399.1434326171875, + "y": 102.24701690673828 + }, + { + "x": 425.720947265625, + "y": 104.1015396118164 + }, + { + "x": 452.2082214355469, + "y": 106.24591064453125 + }, + { + "x": 478.5387878417969, + "y": 108.1628189086914 + }, + { + "x": 505.046630859375, + "y": 109.92790985107422 + }, + { + "x": 531.2410888671875, + "y": 112.19596862792969 + }, + { + "x": 369.8942565917969, + "y": 125.19786834716797 + }, + { + "x": 396.68585205078125, + "y": 126.9898452758789 + }, + { + "x": 423.70574951171875, + "y": 129.1393585205078 + }, + { + "x": 450.355224609375, + "y": 130.7431182861328 + }, + { + "x": 476.76593017578125, + "y": 132.70440673828125 + }, + { + "x": 503.54541015625, + "y": 134.64634704589844 + }, + { + "x": 529.8019409179688, + "y": 136.2044677734375 + }, + { + "x": 367.8419494628906, + "y": 150.1498260498047 + }, + { + "x": 394.8121337890625, + "y": 152.0328369140625 + }, + { + "x": 421.5929260253906, + "y": 153.57498168945312 + }, + { + "x": 448.2615661621094, + "y": 156.00038146972656 + }, + { + "x": 475.1468200683594, + "y": 157.72674560546875 + }, + { + "x": 501.3140869140625, + "y": 159.63827514648438 + }, + { + "x": 528.0973510742188, + "y": 161.12132263183594 + }, + { + "x": 365.0957336425781, + "y": 175.5122833251953 + }, + { + "x": 392.7439270019531, + "y": 177.4906005859375 + }, + { + "x": 419.70855712890625, + "y": 179.0540008544922 + }, + { + "x": 446.2834167480469, + "y": 180.82260131835938 + }, + { + "x": 473.2685241699219, + "y": 182.54600524902344 + }, + { + "x": 500.0250244140625, + "y": 184.35459899902344 + }, + { + "x": 526.4933471679688, + "y": 186.1923828125 + }, + { + "x": 362.98870849609375, + "y": 200.9725799560547 + }, + { + "x": 390.3856506347656, + "y": 202.7880096435547 + }, + { + "x": 471.43701171875, + "y": 208.02943420410156 + }, + { + "x": 498.0037536621094, + "y": 209.93019104003906 + }, + { + "x": 524.8558349609375, + "y": 211.09259033203125 + }, + { + "x": 360.8218078613281, + "y": 226.79151916503906 + }, + { + "x": 388.49169921875, + "y": 228.35919189453125 + }, + { + "x": 469.6723327636719, + "y": 233.42794799804688 + }, + { + "x": 496.2421569824219, + "y": 234.88539123535156 + }, + { + "x": 523.2408447265625, + "y": 236.79112243652344 + } + ], + "reprojectionErrors": [ + { + "x": 0.171295166015625, + "y": -0.3091888427734375 + }, + { + "x": -0.083221435546875, + "y": 0.37203216552734375 + }, + { + "x": -0.129119873046875, + "y": -0.2044219970703125 + }, + { + "x": 0.102203369140625, + "y": -0.0980377197265625 + }, + { + "x": -0.040283203125, + "y": -0.0809326171875 + }, + { + "x": 0.19970703125, + "y": 0.22922515869140625 + }, + { + "x": -0.057373046875, + "y": -0.31626129150390625 + }, + { + "x": -0.29425048828125, + "y": -0.00379180908203125 + }, + { + "x": -0.141265869140625, + "y": 0.02397918701171875 + }, + { + "x": -0.055694580078125, + "y": 0.0929412841796875 + }, + { + "x": 0.006103515625, + "y": -0.12871551513671875 + }, + { + "x": 0.10986328125, + "y": -0.12377166748046875 + }, + { + "x": -0.0791015625, + "y": 0.032012939453125 + }, + { + "x": -0.07080078125, + "y": -0.31623077392578125 + }, + { + "x": 0.07586669921875, + "y": -0.02576446533203125 + }, + { + "x": 0.177886962890625, + "y": 0.06017303466796875 + }, + { + "x": -0.0626220703125, + "y": -0.21234130859375 + }, + { + "x": -0.04766845703125, + "y": 0.0598602294921875 + }, + { + "x": 0.09033203125, + "y": -0.0265960693359375 + }, + { + "x": -0.2568359375, + "y": -0.09490966796875 + }, + { + "x": -0.19818115234375, + "y": 0.2192840576171875 + }, + { + "x": -0.143310546875, + "y": 0.0624237060546875 + }, + { + "x": -0.10198974609375, + "y": 0.0102081298828125 + }, + { + "x": 0.013519287109375, + "y": 0.29766845703125 + }, + { + "x": 0.125274658203125, + "y": -0.299407958984375 + }, + { + "x": -0.09625244140625, + "y": -0.1988372802734375 + }, + { + "x": 0.282806396484375, + "y": -0.2848968505859375 + }, + { + "x": -0.0721435546875, + "y": 0.0559539794921875 + }, + { + "x": 0.31549072265625, + "y": -0.043365478515625 + }, + { + "x": -0.202667236328125, + "y": -0.2389068603515625 + }, + { + "x": -0.153411865234375, + "y": -0.0209808349609375 + }, + { + "x": 0.168701171875, + "y": -0.0098114013671875 + }, + { + "x": -0.037078857421875, + "y": 0.044921875 + }, + { + "x": -0.132598876953125, + "y": 0.0127410888671875 + }, + { + "x": -0.0589599609375, + "y": -0.0504608154296875 + }, + { + "x": 0.119140625, + "y": -0.02880859375 + }, + { + "x": -0.02862548828125, + "y": -0.1103973388671875 + }, + { + "x": -0.02459716796875, + "y": 0.22662353515625 + }, + { + "x": -0.033477783203125, + "y": -0.1530609130859375 + }, + { + "x": -0.334381103515625, + "y": -0.0367431640625 + }, + { + "x": -0.11968994140625, + "y": -0.06585693359375 + }, + { + "x": 0.202545166015625, + "y": 0.152191162109375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.2860503405549386, + "y": -0.3063161944290655, + "z": 0.8777817136468333 + }, + "rotation": { + "quaternion": { + "W": 0.9964276397203802, + "X": -0.07090628321856057, + "Y": -0.04023195685156219, + "Z": 0.022037410222064704 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true + ], + "snapshotName": "img12.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img12.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 242.85464477539062, + "y": 103.3584213256836 + }, + { + "x": 267.8893737792969, + "y": 103.30972290039062 + }, + { + "x": 292.8849792480469, + "y": 103.72900390625 + }, + { + "x": 317.3981018066406, + "y": 103.59156799316406 + }, + { + "x": 342.8866882324219, + "y": 104.05248260498047 + }, + { + "x": 238.6241455078125, + "y": 126.0465316772461 + }, + { + "x": 264.2380676269531, + "y": 125.94194793701172 + }, + { + "x": 289.48016357421875, + "y": 125.94751739501953 + }, + { + "x": 314.9487609863281, + "y": 126.30049896240234 + }, + { + "x": 340.2195129394531, + "y": 126.2300796508789 + }, + { + "x": 235.87757873535156, + "y": 148.15554809570312 + }, + { + "x": 261.0487365722656, + "y": 148.61392211914062 + }, + { + "x": 286.34344482421875, + "y": 148.49166870117188 + }, + { + "x": 312.0955810546875, + "y": 148.87669372558594 + }, + { + "x": 337.4565124511719, + "y": 149.150146484375 + }, + { + "x": 363.1693420410156, + "y": 149.13092041015625 + }, + { + "x": 231.89988708496094, + "y": 171.09068298339844 + }, + { + "x": 257.8058776855469, + "y": 171.61314392089844 + }, + { + "x": 283.1462707519531, + "y": 171.95924377441406 + }, + { + "x": 308.54766845703125, + "y": 172.20704650878906 + }, + { + "x": 334.3757019042969, + "y": 172.22634887695312 + }, + { + "x": 360.16961669921875, + "y": 172.37643432617188 + }, + { + "x": 385.9587707519531, + "y": 172.82574462890625 + }, + { + "x": 228.3476104736328, + "y": 194.72402954101562 + }, + { + "x": 253.8109130859375, + "y": 194.9053955078125 + }, + { + "x": 279.77728271484375, + "y": 195.17587280273438 + }, + { + "x": 305.7394104003906, + "y": 195.27035522460938 + }, + { + "x": 331.6860046386719, + "y": 195.5032196044922 + }, + { + "x": 357.18463134765625, + "y": 195.52017211914062 + }, + { + "x": 383.5072021484375, + "y": 196.2486114501953 + }, + { + "x": 224.37791442871094, + "y": 218.5101776123047 + }, + { + "x": 250.4558868408203, + "y": 218.92742919921875 + }, + { + "x": 328.5611267089844, + "y": 219.28631591796875 + }, + { + "x": 355.037841796875, + "y": 219.6586456298828 + }, + { + "x": 379.0660705566406, + "y": 218.63336181640625 + }, + { + "x": 220.6884765625, + "y": 242.59080505371094 + }, + { + "x": 246.88604736328125, + "y": 242.77525329589844 + }, + { + "x": 325.880615234375, + "y": 243.32925415039062 + }, + { + "x": 351.88262939453125, + "y": 243.53131103515625 + }, + { + "x": 378.2087707519531, + "y": 244.13583374023438 + } + ], + "reprojectionErrors": [ + { + "x": -0.1566619873046875, + "y": 0.02054595947265625 + }, + { + "x": -0.191314697265625, + "y": 0.18573760986328125 + }, + { + "x": -0.15362548828125, + "y": -0.1075897216796875 + }, + { + "x": 0.3984375, + "y": 0.1652679443359375 + }, + { + "x": 0.005706787109375, + "y": -0.15074920654296875 + }, + { + "x": 0.073211669921875, + "y": 0.016204833984375 + }, + { + "x": -0.145965576171875, + "y": -0.18927001953125 + }, + { + "x": -0.13616943359375, + "y": 0.03781890869140625 + }, + { + "x": -0.3163299560546875, + "y": 0.1972503662109375 + }, + { + "x": -0.1185302734375, + "y": -0.11883544921875 + }, + { + "x": -0.21954345703125, + "y": -0.17523193359375 + }, + { + "x": -0.43450927734375, + "y": 0.0216217041015625 + }, + { + "x": 0.0218658447265625, + "y": 0.264892578125 + }, + { + "x": -0.3271484375, + "y": -0.1018218994140625 + }, + { + "x": -0.07586669921875, + "y": -0.28369140625 + }, + { + "x": 0.147796630859375, + "y": -0.3587646484375 + }, + { + "x": -0.129180908203125, + "y": -0.15716552734375 + }, + { + "x": -0.20111083984375, + "y": -0.4082183837890625 + }, + { + "x": -0.1139678955078125, + "y": -0.012664794921875 + }, + { + "x": 0.170166015625, + "y": -0.0244293212890625 + }, + { + "x": -0.013519287109375, + "y": -0.1171722412109375 + }, + { + "x": -0.1590576171875, + "y": -0.0257415771484375 + }, + { + "x": -0.25653076171875, + "y": -0.064544677734375 + }, + { + "x": 0.125152587890625, + "y": 0.1207122802734375 + }, + { + "x": -0.287261962890625, + "y": -0.3973541259765625 + }, + { + "x": 0.118011474609375, + "y": -0.08294677734375 + }, + { + "x": -0.01953125, + "y": -0.31634521484375 + }, + { + "x": -0.094268798828125, + "y": -0.0768890380859375 + }, + { + "x": -0.49566650390625, + "y": -0.2341766357421875 + }, + { + "x": 1.58172607421875, + "y": 1.0139617919921875 + }, + { + "x": 0.0191497802734375, + "y": -0.08038330078125 + }, + { + "x": -0.042449951171875, + "y": -0.0662994384765625 + }, + { + "x": -0.168212890625, + "y": -0.3227996826171875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.4297197890856696, + "y": -0.29012905998652855, + "z": 0.9113773154321968 + }, + "rotation": { + "quaternion": { + "W": 0.9911565675747831, + "X": -0.13230712661745855, + "Y": 0.00769365223335861, + "Z": 0.0066551119388413744 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + false, + true, + true, + false, + false, + true, + true, + true + ], + "snapshotName": "img13.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img13.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + } + ], + "locationInImageSpace": [ + { + "x": 273.16015625, + "y": 51.94171905517578 + }, + { + "x": 298.1893615722656, + "y": 52.722225189208984 + }, + { + "x": 323.1309509277344, + "y": 53.41313934326172 + }, + { + "x": 348.04345703125, + "y": 54.218814849853516 + }, + { + "x": 373.2246398925781, + "y": 55.492576599121094 + }, + { + "x": 220.2432403564453, + "y": 73.65106964111328 + }, + { + "x": 244.7864532470703, + "y": 74.11033630371094 + }, + { + "x": 270.2032165527344, + "y": 74.9344482421875 + }, + { + "x": 295.31170654296875, + "y": 75.73973083496094 + }, + { + "x": 320.5445251464844, + "y": 76.8197250366211 + }, + { + "x": 345.61279296875, + "y": 77.82511901855469 + }, + { + "x": 370.8828430175781, + "y": 78.09602355957031 + }, + { + "x": 216.51373291015625, + "y": 96.26770782470703 + }, + { + "x": 241.99012756347656, + "y": 97.38008117675781 + }, + { + "x": 267.1898193359375, + "y": 98.01980590820312 + }, + { + "x": 292.507568359375, + "y": 98.97447204589844 + }, + { + "x": 318.0997619628906, + "y": 99.52938079833984 + }, + { + "x": 342.78021240234375, + "y": 100.557373046875 + }, + { + "x": 368.8390808105469, + "y": 101.46308898925781 + }, + { + "x": 213.14840698242188, + "y": 119.69524383544922 + }, + { + "x": 238.22010803222656, + "y": 120.41710662841797 + }, + { + "x": 264.076171875, + "y": 121.4282455444336 + }, + { + "x": 289.1838684082031, + "y": 122.68441009521484 + }, + { + "x": 314.8281555175781, + "y": 123.09555053710938 + }, + { + "x": 340.5162048339844, + "y": 124.0972900390625 + }, + { + "x": 365.77032470703125, + "y": 125.10610961914062 + }, + { + "x": 209.9219512939453, + "y": 143.0662384033203 + }, + { + "x": 235.15933227539062, + "y": 144.07009887695312 + }, + { + "x": 260.8881530761719, + "y": 145.20191955566406 + }, + { + "x": 286.1869201660156, + "y": 145.9972686767578 + }, + { + "x": 312.1524658203125, + "y": 146.94100952148438 + }, + { + "x": 337.9203796386719, + "y": 147.97193908691406 + }, + { + "x": 363.4419250488281, + "y": 149.0098419189453 + }, + { + "x": 206.21328735351562, + "y": 167.0274200439453 + }, + { + "x": 232.2627410888672, + "y": 167.92086791992188 + }, + { + "x": 257.7734069824219, + "y": 169.1862030029297 + }, + { + "x": 283.3955383300781, + "y": 170.04324340820312 + }, + { + "x": 309.3809509277344, + "y": 171.30735778808594 + }, + { + "x": 335.1640930175781, + "y": 172.0380859375 + }, + { + "x": 228.56785583496094, + "y": 192.2163543701172 + }, + { + "x": 254.2562255859375, + "y": 193.1663360595703 + }, + { + "x": 280.3304748535156, + "y": 194.01702880859375 + }, + { + "x": 306.4113464355469, + "y": 195.02528381347656 + }, + { + "x": 332.4166564941406, + "y": 196.2786407470703 + } + ], + "reprojectionErrors": [ + { + "x": 0.1124267578125, + "y": 0.20286178588867188 + }, + { + "x": 0.277587890625, + "y": 0.2795600891113281 + }, + { + "x": 0.184814453125, + "y": -0.10259246826171875 + }, + { + "x": -0.4738616943359375, + "y": -0.5692520141601562 + }, + { + "x": 0.1365814208984375, + "y": -0.17486572265625 + }, + { + "x": -0.11029052734375, + "y": -0.1362762451171875 + }, + { + "x": -0.033966064453125, + "y": -0.0698394775390625 + }, + { + "x": -0.068389892578125, + "y": -0.26915740966796875 + }, + { + "x": 0.07391357421875, + "y": -0.38494873046875 + }, + { + "x": 0.025360107421875, + "y": 0.24262237548828125 + }, + { + "x": -0.070770263671875, + "y": -0.03292083740234375 + }, + { + "x": -0.26019287109375, + "y": -0.2828521728515625 + }, + { + "x": -0.156463623046875, + "y": -0.05145263671875 + }, + { + "x": -0.15570068359375, + "y": -0.12635040283203125 + }, + { + "x": -0.415679931640625, + "y": 0.2071075439453125 + }, + { + "x": 0.24847412109375, + "y": 0.0760345458984375 + }, + { + "x": -0.45477294921875, + "y": 0.07575225830078125 + }, + { + "x": -0.06121826171875, + "y": -0.05352020263671875 + }, + { + "x": 0.2884521484375, + "y": 0.09597015380859375 + }, + { + "x": -0.129608154296875, + "y": -0.0355072021484375 + }, + { + "x": 0.215972900390625, + "y": -0.4037322998046875 + }, + { + "x": 0.038848876953125, + "y": 0.0812835693359375 + }, + { + "x": -0.16949462890625, + "y": -0.01612091064453125 + }, + { + "x": 0.06719970703125, + "y": -0.11246490478515625 + }, + { + "x": -0.2202301025390625, + "y": 0.2395172119140625 + }, + { + "x": 0.0992431640625, + "y": 0.1160430908203125 + }, + { + "x": -0.055877685546875, + "y": -0.12744140625 + }, + { + "x": 0.2344970703125, + "y": -0.026580810546875 + }, + { + "x": -0.12786865234375, + "y": -0.0662689208984375 + }, + { + "x": -0.2799072265625, + "y": -0.1853485107421875 + }, + { + "x": -0.17431640625, + "y": -0.30364990234375 + }, + { + "x": 0.0729522705078125, + "y": 0.2025909423828125 + }, + { + "x": -0.2830657958984375, + "y": 0.1987152099609375 + }, + { + "x": -0.083282470703125, + "y": -0.1695098876953125 + }, + { + "x": 0.02069091796875, + "y": -0.1219329833984375 + }, + { + "x": -0.224395751953125, + "y": -0.4739990234375 + }, + { + "x": -0.25439453125, + "y": -0.2852630615234375 + }, + { + "x": 0.1036376953125, + "y": 0.1002655029296875 + }, + { + "x": 0.2636260986328125, + "y": 0.056304931640625 + }, + { + "x": -0.26251220703125, + "y": -0.2955322265625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.4513348208294448, + "y": -0.34525052803887757, + "z": 0.9151116182874738 + }, + "rotation": { + "quaternion": { + "W": 0.9953204765794342, + "X": -0.09485641746613149, + "Y": 5.589055597955614E-4, + "Z": 0.01841457552467911 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false + ], + "snapshotName": "img14.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img14.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 110.12242889404297, + "y": 77.89949035644531 + }, + { + "x": 137.10536193847656, + "y": 81.04216766357422 + }, + { + "x": 163.49356079101562, + "y": 84.92355346679688 + }, + { + "x": 190.52215576171875, + "y": 88.40648651123047 + }, + { + "x": 217.0452117919922, + "y": 91.7381591796875 + }, + { + "x": 50.72340774536133, + "y": 93.70198059082031 + }, + { + "x": 78.36595916748047, + "y": 97.23208618164062 + }, + { + "x": 105.34634399414062, + "y": 100.17744445800781 + }, + { + "x": 132.8889923095703, + "y": 103.78793334960938 + }, + { + "x": 159.2607879638672, + "y": 107.1962890625 + }, + { + "x": 186.53953552246094, + "y": 110.56916046142578 + }, + { + "x": 213.05699157714844, + "y": 114.05259704589844 + }, + { + "x": 45.838191986083984, + "y": 116.74311828613281 + }, + { + "x": 73.4142074584961, + "y": 119.77047729492188 + }, + { + "x": 100.85572814941406, + "y": 123.09477233886719 + }, + { + "x": 128.38133239746094, + "y": 126.599365234375 + }, + { + "x": 155.74375915527344, + "y": 130.0248565673828 + }, + { + "x": 182.5185546875, + "y": 133.29832458496094 + }, + { + "x": 209.84637451171875, + "y": 136.6924591064453 + }, + { + "x": 40.601680755615234, + "y": 139.92886352539062 + }, + { + "x": 68.87213897705078, + "y": 143.01890563964844 + }, + { + "x": 96.43878173828125, + "y": 146.37619018554688 + }, + { + "x": 123.9304428100586, + "y": 149.72352600097656 + }, + { + "x": 151.43113708496094, + "y": 153.0206756591797 + }, + { + "x": 178.77230834960938, + "y": 155.802001953125 + }, + { + "x": 205.78457641601562, + "y": 159.12037658691406 + }, + { + "x": 35.95549011230469, + "y": 163.4261932373047 + }, + { + "x": 63.91709518432617, + "y": 166.625 + }, + { + "x": 91.81145477294922, + "y": 169.88153076171875 + }, + { + "x": 119.66890716552734, + "y": 173.0242156982422 + }, + { + "x": 147.26023864746094, + "y": 176.0066680908203 + }, + { + "x": 174.53573608398438, + "y": 179.0587158203125 + }, + { + "x": 202.1113739013672, + "y": 182.4991912841797 + }, + { + "x": 30.725566864013672, + "y": 187.2997283935547 + }, + { + "x": 59.243194580078125, + "y": 190.3992462158203 + }, + { + "x": 87.17898559570312, + "y": 193.41468811035156 + }, + { + "x": 115.3242416381836, + "y": 196.68589782714844 + }, + { + "x": 142.98861694335938, + "y": 199.82223510742188 + }, + { + "x": 171.05682373046875, + "y": 202.944580078125 + }, + { + "x": 198.0894775390625, + "y": 205.78277587890625 + }, + { + "x": 54.31071853637695, + "y": 214.89352416992188 + }, + { + "x": 82.27446746826172, + "y": 217.83152770996094 + }, + { + "x": 110.7505874633789, + "y": 220.140869140625 + }, + { + "x": 138.7889862060547, + "y": 223.49375915527344 + }, + { + "x": 166.63299560546875, + "y": 226.15000915527344 + }, + { + "x": 194.62901306152344, + "y": 229.08302307128906 + } + ], + "reprojectionErrors": [ + { + "x": 0.3989105224609375, + "y": -0.14239501953125 + }, + { + "x": -0.0509796142578125, + "y": -0.17307281494140625 + }, + { + "x": -0.24249267578125, + "y": -0.07688140869140625 + }, + { + "x": -0.4660911560058594, + "y": -0.22509765625 + }, + { + "x": -0.32906341552734375, + "y": -0.2916107177734375 + }, + { + "x": 0.2108154296875, + "y": 0.20182037353515625 + }, + { + "x": -0.068603515625, + "y": 0.00551605224609375 + }, + { + "x": 0.568084716796875, + "y": -0.01309967041015625 + }, + { + "x": 0.045318603515625, + "y": -0.02048492431640625 + }, + { + "x": 0.0335845947265625, + "y": -0.16252899169921875 + }, + { + "x": -0.438201904296875, + "y": -0.22933197021484375 + }, + { + "x": -0.042327880859375, + "y": 0.11641693115234375 + }, + { + "x": 0.22537994384765625, + "y": 0.14076995849609375 + }, + { + "x": 0.148681640625, + "y": -0.0394744873046875 + }, + { + "x": -0.0228118896484375, + "y": -0.16473388671875 + }, + { + "x": 0.1376190185546875, + "y": -0.161895751953125 + }, + { + "x": -0.5083465576171875, + "y": -0.3034820556640625 + }, + { + "x": -0.1125640869140625, + "y": -0.0891265869140625 + }, + { + "x": -0.216583251953125, + "y": 0.1009063720703125 + }, + { + "x": 0.11714935302734375, + "y": -4.119873046875E-4 + }, + { + "x": 0.2621917724609375, + "y": -0.1157379150390625 + }, + { + "x": 0.136932373046875, + "y": -0.20465087890625 + }, + { + "x": -0.0877532958984375, + "y": 0.1986846923828125 + }, + { + "x": -0.2401123046875, + "y": 0.04156494140625 + }, + { + "x": -0.43157958984375, + "y": 0.0329437255859375 + }, + { + "x": -0.029933929443359375, + "y": 0.0185699462890625 + }, + { + "x": 0.16943359375, + "y": -0.0772857666015625 + }, + { + "x": 0.138641357421875, + "y": -0.0828857421875 + }, + { + "x": 0.1093292236328125, + "y": 0.048370361328125 + }, + { + "x": 0.133636474609375, + "y": 0.086822509765625 + }, + { + "x": -0.40203857421875, + "y": -0.2862091064453125 + }, + { + "x": -0.22199630737304688, + "y": 0.0767364501953125 + }, + { + "x": -0.17725372314453125, + "y": 0.06329345703125 + }, + { + "x": 0.1762847900390625, + "y": 0.1105804443359375 + }, + { + "x": 0.0498199462890625, + "y": -0.1210784912109375 + }, + { + "x": 0.136199951171875, + "y": -0.2408599853515625 + }, + { + "x": -0.44683837890625, + "y": -0.3694610595703125 + }, + { + "x": -0.2574462890625, + "y": -0.236572265625 + }, + { + "x": -0.11960983276367188, + "y": -0.312255859375 + }, + { + "x": 0.4038543701171875, + "y": -0.2882232666015625 + }, + { + "x": 0.04412841796875, + "y": -0.0944366455078125 + }, + { + "x": -0.127227783203125, + "y": 0.143646240234375 + }, + { + "x": -0.7170867919921875, + "y": 0.0827484130859375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.618382265895092, + "y": -0.32292528249494845, + "z": 0.9108889921388215 + }, + "rotation": { + "quaternion": { + "W": 0.9896770617342543, + "X": -0.1059292992287577, + "Y": -0.0913558332383868, + "Z": 0.03118346958369936 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img15.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img15.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 36.49372482299805, + "y": 48.69001007080078 + }, + { + "x": 62.11206817626953, + "y": 49.373409271240234 + }, + { + "x": 86.87134552001953, + "y": 50.344058990478516 + }, + { + "x": 162.3018035888672, + "y": 53.74406051635742 + }, + { + "x": 186.9276123046875, + "y": 54.69301223754883 + }, + { + "x": 83.30874633789062, + "y": 71.69979858398438 + }, + { + "x": 159.02857971191406, + "y": 74.83821868896484 + }, + { + "x": 184.469482421875, + "y": 76.17108154296875 + }, + { + "x": 79.91018676757812, + "y": 93.00918579101562 + }, + { + "x": 105.30745697021484, + "y": 94.04180908203125 + }, + { + "x": 130.94468688964844, + "y": 95.0058822631836 + }, + { + "x": 156.03399658203125, + "y": 96.354736328125 + }, + { + "x": 181.53575134277344, + "y": 97.54876708984375 + }, + { + "x": 25.07863998413086, + "y": 113.029296875 + }, + { + "x": 50.6881217956543, + "y": 114.26691436767578 + }, + { + "x": 76.29618072509766, + "y": 114.82749938964844 + }, + { + "x": 102.02532196044922, + "y": 116.28160858154297 + }, + { + "x": 127.62470245361328, + "y": 117.14289855957031 + }, + { + "x": 153.125, + "y": 118.21311950683594 + }, + { + "x": 178.89633178710938, + "y": 119.09059143066406 + }, + { + "x": 46.77420425415039, + "y": 135.8429412841797 + }, + { + "x": 72.62045288085938, + "y": 137.4890899658203 + }, + { + "x": 98.75617980957031, + "y": 138.2445526123047 + }, + { + "x": 124.41197204589844, + "y": 138.96067810058594 + }, + { + "x": 150.03114318847656, + "y": 139.76995849609375 + }, + { + "x": 175.94813537597656, + "y": 141.0521697998047 + }, + { + "x": 43.32255935668945, + "y": 158.71029663085938 + }, + { + "x": 69.33435821533203, + "y": 159.83856201171875 + }, + { + "x": 95.21356201171875, + "y": 160.58639526367188 + }, + { + "x": 121.42032623291016, + "y": 161.94371032714844 + }, + { + "x": 147.4099884033203, + "y": 162.54164123535156 + }, + { + "x": 173.14466857910156, + "y": 163.36473083496094 + }, + { + "x": 39.42972183227539, + "y": 181.3257598876953 + }, + { + "x": 65.7674789428711, + "y": 182.24513244628906 + }, + { + "x": 91.8193588256836, + "y": 183.1306915283203 + }, + { + "x": 118.0063705444336, + "y": 184.0884246826172 + }, + { + "x": 144.6199188232422, + "y": 185.26608276367188 + }, + { + "x": 170.18983459472656, + "y": 186.27125549316406 + } + ], + "reprojectionErrors": [ + { + "x": -0.3767547607421875, + "y": -0.6440505981445312 + }, + { + "x": -0.5605697631835938, + "y": -0.207061767578125 + }, + { + "x": 0.00495147705078125, + "y": -0.05322265625 + }, + { + "x": 0.12471771240234375, + "y": -0.09619903564453125 + }, + { + "x": 0.2050933837890625, + "y": 0.0320892333984375 + }, + { + "x": 0.191925048828125, + "y": 0.1882781982421875 + }, + { + "x": -0.0837554931640625, + "y": -0.17530059814453125 + }, + { + "x": -0.4107627868652344, + "y": 0.045135498046875 + }, + { + "x": 0.125732421875, + "y": -0.2339324951171875 + }, + { + "x": 0.12471771240234375, + "y": -0.09694671630859375 + }, + { + "x": 0.1072845458984375, + "y": -0.1654205322265625 + }, + { + "x": -0.2971038818359375, + "y": -0.03774261474609375 + }, + { + "x": 0.11008071899414062, + "y": 0.4111175537109375 + }, + { + "x": 0.26317596435546875, + "y": -0.2908782958984375 + }, + { + "x": 0.01078033447265625, + "y": -0.09869384765625 + }, + { + "x": 0.12183380126953125, + "y": 0.1362457275390625 + }, + { + "x": 0.15252685546875, + "y": 0.2813720703125 + }, + { + "x": -0.2320098876953125, + "y": -0.04315185546875 + }, + { + "x": -0.20390701293945312, + "y": 0.0236053466796875 + }, + { + "x": -0.042999267578125, + "y": -0.2087554931640625 + }, + { + "x": -0.13657379150390625, + "y": -0.5120849609375 + }, + { + "x": -0.307525634765625, + "y": -0.2042388916015625 + }, + { + "x": -0.3424224853515625, + "y": -0.118408203125 + }, + { + "x": -0.11745071411132812, + "y": 0.18023681640625 + }, + { + "x": -0.107177734375, + "y": 0.107177734375 + }, + { + "x": 0.06992340087890625, + "y": 0.0711669921875 + }, + { + "x": -0.631744384765625, + "y": -0.355712890625 + }, + { + "x": -0.33270263671875, + "y": -0.5020599365234375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.6670398850129909, + "y": -0.3618605802892522, + "z": 0.9531656258716192 + }, + "rotation": { + "quaternion": { + "W": 0.992154202717337, + "X": -0.11653084215587044, + "Y": -0.04525168735800789, + "Z": 0.0016987195242413016 + } + } + }, + "cornersUsed": [ + true, + true, + true, + false, + false, + true, + true, + false, + false, + true, + false, + false, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img16.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img16.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 364.4503479003906, + "y": 34.43961715698242 + }, + { + "x": 390.3056640625, + "y": 34.61473083496094 + }, + { + "x": 416.83154296875, + "y": 35.182674407958984 + }, + { + "x": 443.2292175292969, + "y": 35.19609832763672 + }, + { + "x": 469.2935791015625, + "y": 35.5816764831543 + }, + { + "x": 495.8970642089844, + "y": 35.9446907043457 + }, + { + "x": 522.0218505859375, + "y": 36.276275634765625 + }, + { + "x": 362.58599853515625, + "y": 58.98550033569336 + }, + { + "x": 388.9365234375, + "y": 59.68364715576172 + }, + { + "x": 415.169921875, + "y": 59.80215072631836 + }, + { + "x": 441.7928161621094, + "y": 60.31196975708008 + }, + { + "x": 467.5147399902344, + "y": 60.30710983276367 + }, + { + "x": 494.4466247558594, + "y": 60.925376892089844 + }, + { + "x": 521.1082763671875, + "y": 61.33642578125 + }, + { + "x": 360.90447998046875, + "y": 84.00493621826172 + }, + { + "x": 387.2225646972656, + "y": 84.47645568847656 + }, + { + "x": 413.7578430175781, + "y": 84.81169128417969 + }, + { + "x": 440.5905456542969, + "y": 85.96381378173828 + }, + { + "x": 466.3402404785156, + "y": 86.02523803710938 + }, + { + "x": 493.18310546875, + "y": 86.11210632324219 + }, + { + "x": 519.8042602539062, + "y": 86.57393646240234 + }, + { + "x": 358.9292297363281, + "y": 109.29047393798828 + }, + { + "x": 385.78607177734375, + "y": 109.94422912597656 + }, + { + "x": 412.0431823730469, + "y": 110.21959686279297 + }, + { + "x": 438.2479248046875, + "y": 110.91859436035156 + }, + { + "x": 465.77032470703125, + "y": 111.4957275390625 + }, + { + "x": 492.09661865234375, + "y": 111.71954345703125 + }, + { + "x": 518.5598754882812, + "y": 111.81964111328125 + }, + { + "x": 357.15618896484375, + "y": 134.9129638671875 + }, + { + "x": 383.8932800292969, + "y": 135.21923828125 + }, + { + "x": 410.7188720703125, + "y": 135.48326110839844 + }, + { + "x": 437.2693786621094, + "y": 136.09962463378906 + }, + { + "x": 464.1377258300781, + "y": 136.74757385253906 + }, + { + "x": 490.7856750488281, + "y": 137.10281372070312 + }, + { + "x": 517.7643432617188, + "y": 137.39759826660156 + }, + { + "x": 355.3728332519531, + "y": 160.6353759765625 + }, + { + "x": 382.561279296875, + "y": 160.8718719482422 + }, + { + "x": 409.0498962402344, + "y": 161.59544372558594 + }, + { + "x": 435.8742980957031, + "y": 162.05992126464844 + }, + { + "x": 462.72119140625, + "y": 162.48219299316406 + }, + { + "x": 489.73651123046875, + "y": 163.14129638671875 + }, + { + "x": 516.5645751953125, + "y": 163.44302368164062 + }, + { + "x": 380.4833068847656, + "y": 186.9982452392578 + }, + { + "x": 407.091796875, + "y": 187.3226318359375 + }, + { + "x": 434.30059814453125, + "y": 187.7333984375 + }, + { + "x": 460.9902648925781, + "y": 188.40707397460938 + }, + { + "x": 488.21240234375, + "y": 188.7134246826172 + }, + { + "x": 515.283203125, + "y": 189.06822204589844 + } + ], + "reprojectionErrors": [ + { + "x": -0.2186279296875, + "y": -0.2559356689453125 + }, + { + "x": 0.16845703125, + "y": -0.08721160888671875 + }, + { + "x": -0.0811767578125, + "y": -0.30207061767578125 + }, + { + "x": -0.170135498046875, + "y": 0.046840667724609375 + }, + { + "x": 0.105255126953125, + "y": 0.0328369140625 + }, + { + "x": -0.12896728515625, + "y": 0.050628662109375 + }, + { + "x": 0.1436767578125, + "y": 0.10907363891601562 + }, + { + "x": -0.088653564453125, + "y": 0.09499359130859375 + }, + { + "x": -0.10028076171875, + "y": -0.24430084228515625 + }, + { + "x": 0.03936767578125, + "y": 0.004878997802734375 + }, + { + "x": -0.177764892578125, + "y": -0.1284332275390625 + }, + { + "x": 0.53729248046875, + "y": 0.261749267578125 + }, + { + "x": 0.07220458984375, + "y": 0.0376129150390625 + }, + { + "x": -0.0943603515625, + "y": 0.029491424560546875 + }, + { + "x": -0.1497802734375, + "y": 0.1640167236328125 + }, + { + "x": -0.0321044921875, + "y": 0.0665740966796875 + }, + { + "x": -0.09722900390625, + "y": 0.11382293701171875 + }, + { + "x": -0.42681884765625, + "y": -0.6474151611328125 + }, + { + "x": 0.35809326171875, + "y": -0.30957794189453125 + }, + { + "x": 0.079833984375, + "y": 0.01119232177734375 + }, + { + "x": 0.0518798828125, + "y": -0.034637451171875 + }, + { + "x": 0.074554443359375, + "y": 0.15961456298828125 + }, + { + "x": -0.249359130859375, + "y": -0.1046142578125 + }, + { + "x": 0.061126708984375, + "y": 0.01750946044921875 + }, + { + "x": 0.457183837890625, + "y": -0.276031494140625 + }, + { + "x": -0.432647705078125, + "y": -0.43976593017578125 + }, + { + "x": -0.096160888671875, + "y": -0.24224853515625 + }, + { + "x": 0.13214111328125, + "y": 0.0869140625 + }, + { + "x": 0.08837890625, + "y": 0.011993408203125 + }, + { + "x": -0.018280029296875, + "y": 0.1109161376953125 + }, + { + "x": -0.178497314453125, + "y": 0.2595977783203125 + }, + { + "x": -0.0301513671875, + "y": 0.0634765625 + }, + { + "x": -0.16766357421875, + "y": -0.15673828125 + }, + { + "x": -0.0543212890625, + "y": -0.0767669677734375 + }, + { + "x": -0.24267578125, + "y": 0.0711517333984375 + }, + { + "x": 0.104217529296875, + "y": -0.040771484375 + }, + { + "x": -0.35595703125, + "y": 0.143798828125 + }, + { + "x": -0.081085205078125, + "y": -0.1516265869140625 + }, + { + "x": -0.1082763671875, + "y": -0.180877685546875 + }, + { + "x": -0.125732421875, + "y": -0.160888671875 + }, + { + "x": -0.2808837890625, + "y": -0.370697021484375 + }, + { + "x": -0.21954345703125, + "y": -0.216094970703125 + }, + { + "x": 0.297760009765625, + "y": 0.018402099609375 + }, + { + "x": -0.01513671875, + "y": 0.05804443359375 + }, + { + "x": 0.223602294921875, + "y": -0.15863037109375 + }, + { + "x": -0.0391845703125, + "y": -0.0014190673828125 + }, + { + "x": -0.12115478515625, + "y": 0.113922119140625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.29347741626164525, + "y": -0.3437920717280673, + "z": 0.8703644177405553 + }, + "rotation": { + "quaternion": { + "W": 0.9979339031726495, + "X": -0.06284217285984157, + "Y": 0.007778704805031063, + "Z": 0.010875567130542682 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img17.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img17.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 287.5335693359375, + "y": 33.46103286743164 + }, + { + "x": 313.0906982421875, + "y": 34.044921875 + }, + { + "x": 338.5030212402344, + "y": 34.3952522277832 + }, + { + "x": 364.1497802734375, + "y": 34.35618209838867 + }, + { + "x": 390.0311584472656, + "y": 35.003822326660156 + }, + { + "x": 415.85205078125, + "y": 35.01158142089844 + }, + { + "x": 441.8218994140625, + "y": 35.7307243347168 + }, + { + "x": 285.03045654296875, + "y": 57.54165267944336 + }, + { + "x": 310.81585693359375, + "y": 57.38321304321289 + }, + { + "x": 336.7336730957031, + "y": 58.21226119995117 + }, + { + "x": 362.1781921386719, + "y": 58.469852447509766 + }, + { + "x": 388.0628967285156, + "y": 58.84978485107422 + }, + { + "x": 413.5782470703125, + "y": 59.14765930175781 + }, + { + "x": 439.8277282714844, + "y": 59.59308624267578 + }, + { + "x": 282.1417541503906, + "y": 81.22120666503906 + }, + { + "x": 308.0781555175781, + "y": 81.78495025634766 + }, + { + "x": 333.4025573730469, + "y": 82.18636322021484 + }, + { + "x": 359.8943786621094, + "y": 82.11428833007812 + }, + { + "x": 385.9749755859375, + "y": 82.81890106201172 + }, + { + "x": 411.8680419921875, + "y": 83.02843475341797 + }, + { + "x": 438.3289794921875, + "y": 83.32759094238281 + }, + { + "x": 279.2381286621094, + "y": 105.20100402832031 + }, + { + "x": 305.39776611328125, + "y": 105.99225616455078 + }, + { + "x": 331.4062805175781, + "y": 106.23065185546875 + }, + { + "x": 357.62799072265625, + "y": 106.89888763427734 + }, + { + "x": 383.91107177734375, + "y": 107.15951538085938 + }, + { + "x": 409.9164733886719, + "y": 107.7418212890625 + }, + { + "x": 435.9687805175781, + "y": 107.95850372314453 + }, + { + "x": 277.0138854980469, + "y": 129.6344757080078 + }, + { + "x": 303.0995788574219, + "y": 130.18223571777344 + }, + { + "x": 329.1172180175781, + "y": 130.70455932617188 + }, + { + "x": 355.2787780761719, + "y": 131.3103790283203 + }, + { + "x": 381.55609130859375, + "y": 131.73007202148438 + }, + { + "x": 407.95458984375, + "y": 132.0156707763672 + }, + { + "x": 434.1178894042969, + "y": 132.4622344970703 + }, + { + "x": 274.1564636230469, + "y": 154.45411682128906 + }, + { + "x": 300.715087890625, + "y": 154.9927520751953 + }, + { + "x": 326.4153137207031, + "y": 155.31407165527344 + }, + { + "x": 353.21533203125, + "y": 155.9975128173828 + }, + { + "x": 432.47247314453125, + "y": 157.30752563476562 + }, + { + "x": 298.06646728515625, + "y": 180.034423828125 + }, + { + "x": 324.0613708496094, + "y": 180.22006225585938 + }, + { + "x": 350.64666748046875, + "y": 180.65870666503906 + }, + { + "x": 430.59930419921875, + "y": 182.53213500976562 + } + ], + "reprojectionErrors": [ + { + "x": -0.124114990234375, + "y": 0.06920623779296875 + }, + { + "x": -0.075225830078125, + "y": -0.17977142333984375 + }, + { + "x": 0.159271240234375, + "y": -0.18524169921875 + }, + { + "x": 0.198760986328125, + "y": 0.20863723754882812 + }, + { + "x": 0.041748046875, + "y": -0.07424545288085938 + }, + { + "x": -0.01800537109375, + "y": 0.292694091796875 + }, + { + "x": -0.19134521484375, + "y": -0.041805267333984375 + }, + { + "x": -0.23760986328125, + "y": -0.3141212463378906 + }, + { + "x": -0.288665771484375, + "y": 0.19693374633789062 + }, + { + "x": -0.430938720703125, + "y": -0.2699165344238281 + }, + { + "x": -0.06005859375, + "y": -0.15572738647460938 + }, + { + "x": -0.0908203125, + "y": -0.154296875 + }, + { + "x": 0.284881591796875, + "y": -0.061229705810546875 + }, + { + "x": -0.037750244140625, + "y": -0.10614395141601562 + }, + { + "x": 0.01348876953125, + "y": -0.047882080078125 + }, + { + "x": -0.059326171875, + "y": -0.240966796875 + }, + { + "x": 0.521484375, + "y": -0.26250457763671875 + }, + { + "x": -0.024810791015625, + "y": 0.1986541748046875 + }, + { + "x": -0.121002197265625, + "y": -0.10767364501953125 + }, + { + "x": 0.00787353515625, + "y": 0.0902862548828125 + }, + { + "x": -0.39495849609375, + "y": 0.20781707763671875 + }, + { + "x": 0.258270263671875, + "y": 0.16939544677734375 + }, + { + "x": 0.0924072265625, + "y": -0.2328033447265625 + }, + { + "x": 0.1197509765625, + "y": -0.07331085205078125 + }, + { + "x": -0.025421142578125, + "y": -0.3348236083984375 + }, + { + "x": -0.192626953125, + "y": -0.17990875244140625 + }, + { + "x": -0.044219970703125, + "y": -0.33785247802734375 + }, + { + "x": 0.09381103515625, + "y": -0.121368408203125 + }, + { + "x": -0.19775390625, + "y": 0.1871185302734375 + }, + { + "x": -0.15850830078125, + "y": 0.0471649169921875 + }, + { + "x": -0.00872802734375, + "y": -0.05889892578125 + }, + { + "x": 0.03826904296875, + "y": -0.240020751953125 + }, + { + "x": 0.009246826171875, + "y": -0.226593017578125 + }, + { + "x": -0.1026611328125, + "y": -0.0706329345703125 + }, + { + "x": 0.057586669921875, + "y": -0.067230224609375 + }, + { + "x": -0.042236328125, + "y": 0.0756378173828125 + }, + { + "x": -0.343841552734375, + "y": -0.03607177734375 + }, + { + "x": 0.255889892578125, + "y": 0.0775909423828125 + }, + { + "x": -0.202606201171875, + "y": -0.1628265380859375 + }, + { + "x": 0.15264892578125, + "y": 0.17822265625 + }, + { + "x": -0.245697021484375, + "y": -0.2413787841796875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.37514572579955274, + "y": -0.3517087460446857, + "z": 0.8887778952062693 + }, + "rotation": { + "quaternion": { + "W": 0.9959880174140636, + "X": -0.08811178623097139, + "Y": 0.009746481917733368, + "Z": 0.01221426972921 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + false, + true, + true, + true, + false, + false, + true + ], + "snapshotName": "img18.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img18.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + } + ], + "locationInImageSpace": [ + { + "x": 508.7218933105469, + "y": 49.77643966674805 + }, + { + "x": 533.465576171875, + "y": 50.918148040771484 + }, + { + "x": 558.1514282226562, + "y": 52.140811920166016 + }, + { + "x": 583.0084228515625, + "y": 53.45359802246094 + }, + { + "x": 607.8587646484375, + "y": 54.88789367675781 + }, + { + "x": 506.5467224121094, + "y": 72.14505767822266 + }, + { + "x": 531.7492065429688, + "y": 73.54754638671875 + }, + { + "x": 556.3938598632812, + "y": 74.79148864746094 + }, + { + "x": 581.3038940429688, + "y": 75.95074462890625 + }, + { + "x": 606.1968383789062, + "y": 76.91764068603516 + }, + { + "x": 504.8681945800781, + "y": 94.63145446777344 + }, + { + "x": 580.0294189453125, + "y": 98.52007293701172 + }, + { + "x": 604.8500366210938, + "y": 100.11105346679688 + }, + { + "x": 629.7930297851562, + "y": 100.81099700927734 + }, + { + "x": 654.6224975585938, + "y": 102.23348999023438 + }, + { + "x": 502.6885681152344, + "y": 118.12445831298828 + }, + { + "x": 578.280029296875, + "y": 121.2151107788086 + }, + { + "x": 603.19677734375, + "y": 122.66240692138672 + }, + { + "x": 628.36279296875, + "y": 124.3011245727539 + }, + { + "x": 653.755615234375, + "y": 125.40030670166016 + }, + { + "x": 500.7230529785156, + "y": 140.77281188964844 + }, + { + "x": 525.9871826171875, + "y": 142.15426635742188 + }, + { + "x": 551.0662841796875, + "y": 143.24441528320312 + }, + { + "x": 576.3995971679688, + "y": 144.4211883544922 + }, + { + "x": 602.001708984375, + "y": 145.97401428222656 + }, + { + "x": 627.1216430664062, + "y": 146.99612426757812 + }, + { + "x": 652.5650634765625, + "y": 148.5139923095703 + }, + { + "x": 498.2054748535156, + "y": 164.10284423828125 + }, + { + "x": 523.9866943359375, + "y": 165.20233154296875 + }, + { + "x": 549.1655883789062, + "y": 166.39610290527344 + }, + { + "x": 575.0059204101562, + "y": 168.17410278320312 + }, + { + "x": 600.1627807617188, + "y": 168.9651336669922 + }, + { + "x": 625.7510375976562, + "y": 170.75816345214844 + }, + { + "x": 651.1206665039062, + "y": 171.9346466064453 + }, + { + "x": 522.0579223632812, + "y": 188.89187622070312 + }, + { + "x": 547.57763671875, + "y": 190.1349639892578 + }, + { + "x": 573.0584716796875, + "y": 191.7735595703125 + }, + { + "x": 598.8519287109375, + "y": 193.04832458496094 + } + ], + "reprojectionErrors": [ + { + "x": 0.011138916015625, + "y": -0.04425811767578125 + }, + { + "x": 0.0335693359375, + "y": 0.06345748901367188 + }, + { + "x": 0.10345458984375, + "y": 0.0988006591796875 + }, + { + "x": -0.00946044921875, + "y": 0.0525360107421875 + }, + { + "x": -0.128662109375, + "y": -0.10680770874023438 + }, + { + "x": 0.1248779296875, + "y": -0.20456695556640625 + }, + { + "x": 0.09991455078125, + "y": -0.09633636474609375 + }, + { + "x": 0.0789794921875, + "y": 0.2123565673828125 + }, + { + "x": -0.193328857421875, + "y": 0.05136871337890625 + }, + { + "x": -0.23809814453125, + "y": -0.0556182861328125 + }, + { + "x": 0.16650390625, + "y": 0.08225250244140625 + }, + { + "x": 0.12225341796875, + "y": -0.045989990234375 + }, + { + "x": 0.09918212890625, + "y": -0.40084075927734375 + }, + { + "x": -0.1666259765625, + "y": -0.20891571044921875 + }, + { + "x": -0.191925048828125, + "y": -0.0770263671875 + }, + { + "x": -0.1173095703125, + "y": -0.2028045654296875 + }, + { + "x": -0.18560791015625, + "y": -0.212860107421875 + }, + { + "x": -0.0179443359375, + "y": 0.04888916015625 + }, + { + "x": -0.18994140625, + "y": -0.1782684326171875 + }, + { + "x": 0.220977783203125, + "y": 0.0069427490234375 + }, + { + "x": -0.0750732421875, + "y": 0.16455078125 + }, + { + "x": 0.22039794921875, + "y": 0.2346343994140625 + }, + { + "x": -0.1578369140625, + "y": -0.2728118896484375 + }, + { + "x": 0.1337890625, + "y": 0.213348388671875 + }, + { + "x": -0.02093505859375, + "y": -0.2959442138671875 + }, + { + "x": 0.026611328125, + "y": -0.182220458984375 + }, + { + "x": -0.12542724609375, + "y": 0.1670379638671875 + }, + { + "x": -0.02313232421875, + "y": 0.188751220703125 + }, + { + "x": 0.105712890625, + "y": -0.178741455078125 + }, + { + "x": -0.091796875, + "y": -0.1761627197265625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.16473638559527493, + "y": -0.35062964388546536, + "z": 0.9281495831043712 + }, + "rotation": { + "quaternion": { + "W": 0.9943891245572516, + "X": -0.10292422512080102, + "Y": -0.007806891351772464, + "Z": 0.023150060323186186 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img19.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img19.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 662.0499267578125, + "y": 69.85457611083984 + }, + { + "x": 689.583740234375, + "y": 69.7904281616211 + }, + { + "x": 717.2254638671875, + "y": 70.06048583984375 + }, + { + "x": 745.2006225585938, + "y": 69.96852111816406 + }, + { + "x": 772.8890380859375, + "y": 70.2227783203125 + }, + { + "x": 800.927490234375, + "y": 70.47686004638672 + }, + { + "x": 829.5858764648438, + "y": 70.58892822265625 + }, + { + "x": 716.4326782226562, + "y": 97.20166778564453 + }, + { + "x": 744.1423950195312, + "y": 97.65373229980469 + }, + { + "x": 771.904052734375, + "y": 97.50529479980469 + }, + { + "x": 800.2503051757812, + "y": 98.23104095458984 + }, + { + "x": 828.6304321289062, + "y": 98.19688415527344 + }, + { + "x": 715.3890380859375, + "y": 124.26799774169922 + }, + { + "x": 742.6113891601562, + "y": 124.53886413574219 + }, + { + "x": 771.2081298828125, + "y": 124.98062133789062 + }, + { + "x": 799.3636474609375, + "y": 124.9665298461914 + }, + { + "x": 827.9149780273438, + "y": 125.72230529785156 + }, + { + "x": 659.1532592773438, + "y": 151.15936279296875 + }, + { + "x": 686.76123046875, + "y": 151.6643524169922 + }, + { + "x": 714.4660034179688, + "y": 152.00352478027344 + }, + { + "x": 742.2587890625, + "y": 152.4307098388672 + }, + { + "x": 769.9305419921875, + "y": 152.3459014892578 + }, + { + "x": 798.7047119140625, + "y": 153.10572814941406 + }, + { + "x": 826.8681030273438, + "y": 153.22300720214844 + }, + { + "x": 657.89013671875, + "y": 178.27947998046875 + }, + { + "x": 685.8482055664062, + "y": 179.00967407226562 + }, + { + "x": 713.4630126953125, + "y": 179.36241149902344 + }, + { + "x": 741.0072021484375, + "y": 179.4007110595703 + }, + { + "x": 769.5294189453125, + "y": 180.21920776367188 + }, + { + "x": 797.4866943359375, + "y": 180.4217987060547 + }, + { + "x": 826.0090942382812, + "y": 181.01983642578125 + }, + { + "x": 657.0470581054688, + "y": 205.91310119628906 + }, + { + "x": 684.7469482421875, + "y": 206.2040557861328 + }, + { + "x": 712.4630737304688, + "y": 206.8971710205078 + }, + { + "x": 740.372802734375, + "y": 207.35494995117188 + }, + { + "x": 768.287841796875, + "y": 207.87493896484375 + }, + { + "x": 796.8970336914062, + "y": 208.40243530273438 + }, + { + "x": 825.1458129882812, + "y": 208.96987915039062 + }, + { + "x": 683.7296752929688, + "y": 233.8209686279297 + }, + { + "x": 711.9462890625, + "y": 234.2960205078125 + }, + { + "x": 739.69091796875, + "y": 234.8422393798828 + }, + { + "x": 767.8179931640625, + "y": 235.6342010498047 + }, + { + "x": 795.9112548828125, + "y": 235.83200073242188 + }, + { + "x": 824.9791259765625, + "y": 236.58753967285156 + } + ], + "reprojectionErrors": [ + { + "x": -0.0086669921875, + "y": -0.15357208251953125 + }, + { + "x": -0.004150390625, + "y": 0.0366973876953125 + }, + { + "x": 0.02630615234375, + "y": -0.0994110107421875 + }, + { + "x": -0.14337158203125, + "y": 0.13437652587890625 + }, + { + "x": 0.10614013671875, + "y": 0.02985382080078125 + }, + { + "x": 0.13739013671875, + "y": -0.06652069091796875 + }, + { + "x": -0.32025146484375, + "y": -0.01287078857421875 + }, + { + "x": 0.22149658203125, + "y": 0.081817626953125 + }, + { + "x": -0.01788330078125, + "y": -0.42137908935546875 + }, + { + "x": -0.15972900390625, + "y": -0.156890869140625 + }, + { + "x": -0.02520751953125, + "y": 0.18161773681640625 + }, + { + "x": 0.63037109375, + "y": 0.18353271484375 + }, + { + "x": -0.24273681640625, + "y": -0.1365814208984375 + }, + { + "x": -0.1605224609375, + "y": -0.001922607421875 + }, + { + "x": -0.1241455078125, + "y": -0.1825103759765625 + }, + { + "x": -0.049560546875, + "y": -0.1900787353515625 + }, + { + "x": 0.07135009765625, + "y": -0.2784576416015625 + }, + { + "x": 0.44696044921875, + "y": 0.15240478515625 + }, + { + "x": -0.14691162109375, + "y": -0.2540740966796875 + }, + { + "x": 0.0020751953125, + "y": -0.0106964111328125 + }, + { + "x": 0.083251953125, + "y": 0.18682861328125 + }, + { + "x": -0.19580078125, + "y": -0.1521453857421875 + }, + { + "x": 0.00384521484375, + "y": -0.1066741943359375 + }, + { + "x": 0.4088134765625, + "y": 0.2602386474609375 + }, + { + "x": -0.03021240234375, + "y": -0.146026611328125 + }, + { + "x": 0.2288818359375, + "y": 0.0706634521484375 + }, + { + "x": 0.055419921875, + "y": -0.10101318359375 + }, + { + "x": -0.09454345703125, + "y": -0.061126708984375 + }, + { + "x": -0.08099365234375, + "y": 0.1063385009765625 + }, + { + "x": 0.05206298828125, + "y": -0.1215972900390625 + }, + { + "x": 0.1265869140625, + "y": -0.107421875 + }, + { + "x": 0.33013916015625, + "y": -0.148651123046875 + }, + { + "x": -0.02679443359375, + "y": -0.1905670166015625 + }, + { + "x": 0.10955810546875, + "y": -0.2655792236328125 + }, + { + "x": -0.052001953125, + "y": 0.01849365234375 + }, + { + "x": -0.38507080078125, + "y": 0.0759429931640625 + }, + { + "x": -0.1107177734375, + "y": 0.0688018798828125 + }, + { + "x": -0.08404541015625, + "y": -0.177520751953125 + }, + { + "x": -0.53643798828125, + "y": -0.0197906494140625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.006710287152514672, + "y": -0.2962523366911679, + "z": 0.8329867001606673 + }, + "rotation": { + "quaternion": { + "W": 0.998864740879923, + "X": -0.02256162278014647, + "Y": 0.038231230642609346, + "Z": 0.017279340495577392 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img20.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img20.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 635.0343017578125, + "y": 63.15537643432617 + }, + { + "x": 662.5402221679688, + "y": 62.828086853027344 + }, + { + "x": 689.943359375, + "y": 63.743919372558594 + }, + { + "x": 717.776123046875, + "y": 64.01492309570312 + }, + { + "x": 745.4625854492188, + "y": 63.978878021240234 + }, + { + "x": 772.9802856445312, + "y": 64.58269500732422 + }, + { + "x": 800.8092041015625, + "y": 65.61466979980469 + }, + { + "x": 633.9951171875, + "y": 89.81198120117188 + }, + { + "x": 661.58642578125, + "y": 90.4926986694336 + }, + { + "x": 689.1144409179688, + "y": 90.92681884765625 + }, + { + "x": 716.8937377929688, + "y": 91.02490997314453 + }, + { + "x": 744.1482543945312, + "y": 91.47913360595703 + }, + { + "x": 771.9755859375, + "y": 91.94284057617188 + }, + { + "x": 799.8413696289062, + "y": 92.08240509033203 + }, + { + "x": 632.9984741210938, + "y": 116.89693450927734 + }, + { + "x": 660.0468139648438, + "y": 117.69512939453125 + }, + { + "x": 687.9279174804688, + "y": 118.00514221191406 + }, + { + "x": 715.3085327148438, + "y": 117.83089447021484 + }, + { + "x": 742.8563232421875, + "y": 118.82704162597656 + }, + { + "x": 770.93408203125, + "y": 118.90750885009766 + }, + { + "x": 799.14892578125, + "y": 119.5290298461914 + }, + { + "x": 631.299560546875, + "y": 143.69268798828125 + }, + { + "x": 659.162109375, + "y": 144.56658935546875 + }, + { + "x": 686.5401611328125, + "y": 144.8448486328125 + }, + { + "x": 714.032958984375, + "y": 145.86199951171875 + }, + { + "x": 742.078125, + "y": 146.0154266357422 + }, + { + "x": 770.0729370117188, + "y": 146.46336364746094 + }, + { + "x": 798.0228881835938, + "y": 146.95835876464844 + }, + { + "x": 630.4904174804688, + "y": 170.90420532226562 + }, + { + "x": 657.9866333007812, + "y": 171.5865936279297 + }, + { + "x": 685.4819946289062, + "y": 171.98019409179688 + }, + { + "x": 713.344970703125, + "y": 172.97683715820312 + }, + { + "x": 740.8593139648438, + "y": 173.3460235595703 + }, + { + "x": 769.05419921875, + "y": 174.03509521484375 + }, + { + "x": 796.991943359375, + "y": 174.27532958984375 + }, + { + "x": 629.1594848632812, + "y": 198.37411499023438 + }, + { + "x": 657.1067504882812, + "y": 198.81883239746094 + }, + { + "x": 684.3177490234375, + "y": 199.61624145507812 + }, + { + "x": 712.1093139648438, + "y": 200.1206512451172 + }, + { + "x": 739.9033203125, + "y": 200.91932678222656 + }, + { + "x": 767.89990234375, + "y": 201.2218475341797 + }, + { + "x": 795.762451171875, + "y": 201.8071746826172 + }, + { + "x": 655.521484375, + "y": 225.8958740234375 + }, + { + "x": 683.1788940429688, + "y": 226.92605590820312 + }, + { + "x": 710.80126953125, + "y": 227.9543914794922 + }, + { + "x": 738.938232421875, + "y": 228.22865295410156 + }, + { + "x": 766.4752197265625, + "y": 228.89625549316406 + }, + { + "x": 795.545654296875, + "y": 229.31936645507812 + } + ], + "reprojectionErrors": [ + { + "x": 0.22674560546875, + "y": -0.1058502197265625 + }, + { + "x": 0.02392578125, + "y": 0.5213890075683594 + }, + { + "x": 0.04986572265625, + "y": -0.08579254150390625 + }, + { + "x": -0.228515625, + "y": -0.039402008056640625 + }, + { + "x": -0.23614501953125, + "y": 0.3228187561035156 + }, + { + "x": 0.0487060546875, + "y": 0.05399322509765625 + }, + { + "x": 0.14508056640625, + "y": -0.634124755859375 + }, + { + "x": 0.06744384765625, + "y": 0.10620880126953125 + }, + { + "x": -0.18450927734375, + "y": -0.2126007080078125 + }, + { + "x": -0.246826171875, + "y": -0.2763519287109375 + }, + { + "x": -0.43475341796875, + "y": 0.00443267822265625 + }, + { + "x": 0.0269775390625, + "y": -0.06238555908203125 + }, + { + "x": 0.03985595703125, + "y": -0.13011932373046875 + }, + { + "x": 0.13751220703125, + "y": 0.13489532470703125 + }, + { + "x": -0.13629150390625, + "y": -0.02860260009765625 + }, + { + "x": 0.190673828125, + "y": -0.4025726318359375 + }, + { + "x": -0.18841552734375, + "y": -0.2801361083984375 + }, + { + "x": 0.05902099609375, + "y": 0.33481597900390625 + }, + { + "x": 0.26446533203125, + "y": -0.21234130859375 + }, + { + "x": 0.0643310546875, + "y": 0.16449737548828125 + }, + { + "x": -0.1492919921875, + "y": 0.00862884521484375 + }, + { + "x": 0.36041259765625, + "y": 0.2063751220703125 + }, + { + "x": -0.09124755859375, + "y": -0.180633544921875 + }, + { + "x": 0.0687255859375, + "y": 0.0359954833984375 + }, + { + "x": 0.2403564453125, + "y": -0.478271484375 + }, + { + "x": -0.014892578125, + "y": -0.1207733154296875 + }, + { + "x": -0.094970703125, + "y": -0.049713134765625 + }, + { + "x": -0.00628662109375, + "y": -0.01763916015625 + }, + { + "x": -0.03448486328125, + "y": 0.105316162109375 + }, + { + "x": -0.08447265625, + "y": -0.02716064453125 + }, + { + "x": -0.00616455078125, + "y": 0.13690185546875 + }, + { + "x": -0.168701171875, + "y": -0.2943115234375 + }, + { + "x": 0.143310546875, + "y": -0.0902862548828125 + }, + { + "x": -0.10009765625, + "y": -0.198333740234375 + }, + { + "x": 0.037841796875, + "y": 0.1502838134765625 + }, + { + "x": 0.0906982421875, + "y": -0.175323486328125 + }, + { + "x": -0.37542724609375, + "y": -0.0067596435546875 + }, + { + "x": 0.02264404296875, + "y": -0.183380126953125 + }, + { + "x": -0.0328369140625, + "y": -0.059478759765625 + }, + { + "x": 0.03558349609375, + "y": -0.2223052978515625 + }, + { + "x": 0.02691650390625, + "y": 0.118560791015625 + }, + { + "x": 0.27685546875, + "y": 0.1842041015625 + }, + { + "x": 0.023681640625, + "y": -0.098846435546875 + }, + { + "x": 0.17279052734375, + "y": -0.435638427734375 + }, + { + "x": -0.0660400390625, + "y": -0.011077880859375 + }, + { + "x": 0.42095947265625, + "y": 0.027435302734375 + }, + { + "x": -0.50054931640625, + "y": 0.3177337646484375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.03156351162484387, + "y": -0.30431195881474155, + "z": 0.8382800723267015 + }, + "rotation": { + "quaternion": { + "W": 0.9988653362037745, + "X": -0.023493209117864056, + "Y": 0.03624529736930252, + "Z": 0.020059603048805615 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img21.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img21.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 660.0230712890625, + "y": 33.89939498901367 + }, + { + "x": 687.6469116210938, + "y": 35.821022033691406 + }, + { + "x": 716.0099487304688, + "y": 37.70083236694336 + }, + { + "x": 744.2883911132812, + "y": 40.160945892333984 + }, + { + "x": 772.6315307617188, + "y": 41.87678909301758 + }, + { + "x": 800.8310546875, + "y": 43.87028121948242 + }, + { + "x": 828.8705444335938, + "y": 46.15730285644531 + }, + { + "x": 657.4884033203125, + "y": 62.945411682128906 + }, + { + "x": 685.6611938476562, + "y": 65.72770690917969 + }, + { + "x": 713.9257202148438, + "y": 66.83615112304688 + }, + { + "x": 742.1767578125, + "y": 69.3590087890625 + }, + { + "x": 770.2445068359375, + "y": 70.907958984375 + }, + { + "x": 798.4641723632812, + "y": 73.22003936767578 + }, + { + "x": 826.7902221679688, + "y": 75.16485595703125 + }, + { + "x": 656.014404296875, + "y": 92.485107421875 + }, + { + "x": 683.4373168945312, + "y": 93.83980560302734 + }, + { + "x": 712.07373046875, + "y": 96.18445587158203 + }, + { + "x": 739.575927734375, + "y": 97.70362854003906 + }, + { + "x": 768.0458374023438, + "y": 100.09278106689453 + }, + { + "x": 796.1840209960938, + "y": 102.03111267089844 + }, + { + "x": 824.2463989257812, + "y": 103.95014190673828 + }, + { + "x": 653.9022216796875, + "y": 121.41865539550781 + }, + { + "x": 681.4215087890625, + "y": 123.56611633300781 + }, + { + "x": 709.5234375, + "y": 125.19462585449219 + }, + { + "x": 737.9759521484375, + "y": 126.994873046875 + }, + { + "x": 765.9141235351562, + "y": 129.39633178710938 + }, + { + "x": 793.609130859375, + "y": 131.13583374023438 + }, + { + "x": 821.5675048828125, + "y": 132.9698486328125 + }, + { + "x": 651.9620971679688, + "y": 149.93890380859375 + }, + { + "x": 679.7570190429688, + "y": 151.8266143798828 + }, + { + "x": 707.9019775390625, + "y": 153.75650024414062 + }, + { + "x": 735.7232666015625, + "y": 155.7407989501953 + }, + { + "x": 763.4332275390625, + "y": 157.60853576660156 + }, + { + "x": 790.9444580078125, + "y": 159.1641387939453 + }, + { + "x": 819.1251831054688, + "y": 161.74986267089844 + }, + { + "x": 650.2050170898438, + "y": 178.61695861816406 + }, + { + "x": 678.2975463867188, + "y": 180.24337768554688 + }, + { + "x": 706.0311889648438, + "y": 182.46664428710938 + }, + { + "x": 733.7927856445312, + "y": 184.20823669433594 + }, + { + "x": 760.97314453125, + "y": 186.0830535888672 + }, + { + "x": 788.7323608398438, + "y": 188.4025115966797 + }, + { + "x": 817.0386962890625, + "y": 190.07521057128906 + }, + { + "x": 675.9835815429688, + "y": 208.45391845703125 + }, + { + "x": 703.6478881835938, + "y": 210.55142211914062 + }, + { + "x": 731.5150146484375, + "y": 212.81112670898438 + }, + { + "x": 758.7686767578125, + "y": 214.34246826171875 + }, + { + "x": 786.9297485351562, + "y": 216.7194061279297 + }, + { + "x": 814.210205078125, + "y": 218.45115661621094 + } + ], + "reprojectionErrors": [ + { + "x": -0.69970703125, + "y": -0.10741424560546875 + }, + { + "x": 0.04888916015625, + "y": -0.01776123046875 + }, + { + "x": 0.03704833984375, + "y": 0.11706924438476562 + }, + { + "x": 0.0869140625, + "y": -0.3251686096191406 + }, + { + "x": 0.04742431640625, + "y": -0.02002716064453125 + }, + { + "x": 0.125244140625, + "y": 0.010448455810546875 + }, + { + "x": 0.3350830078125, + "y": -0.24975204467773438 + }, + { + "x": -0.03289794921875, + "y": 0.2291717529296875 + }, + { + "x": 0.05548095703125, + "y": -0.5602035522460938 + }, + { + "x": 0.03106689453125, + "y": 0.3270416259765625 + }, + { + "x": -0.00262451171875, + "y": -0.197479248046875 + }, + { + "x": 0.1226806640625, + "y": 0.254425048828125 + }, + { + "x": 0.0699462890625, + "y": -0.0543975830078125 + }, + { + "x": -0.116943359375, + "y": 0.00630950927734375 + }, + { + "x": -0.411865234375, + "y": -0.156219482421875 + }, + { + "x": 0.31549072265625, + "y": 0.46384429931640625 + }, + { + "x": -0.1915283203125, + "y": 0.09613800048828125 + }, + { + "x": 0.4132080078125, + "y": 0.55596923828125 + }, + { + "x": 0.026123046875, + "y": 0.14776611328125 + }, + { + "x": -0.05511474609375, + "y": 0.19220733642578125 + }, + { + "x": -0.08807373046875, + "y": 0.25763702392578125 + }, + { + "x": -0.137939453125, + "y": -0.16241455078125 + }, + { + "x": 0.38262939453125, + "y": -0.35308074951171875 + }, + { + "x": 0.29986572265625, + "y": -0.02318572998046875 + }, + { + "x": -0.15570068359375, + "y": 0.13645172119140625 + }, + { + "x": -0.12091064453125, + "y": -0.303741455078125 + }, + { + "x": 0.1314697265625, + "y": -0.0807342529296875 + }, + { + "x": 0.09326171875, + "y": 0.04888916015625 + }, + { + "x": -0.0213623046875, + "y": 0.0191192626953125 + }, + { + "x": 0.113525390625, + "y": 0.0704193115234375 + }, + { + "x": -0.1220703125, + "y": 0.0805816650390625 + }, + { + "x": -0.0560302734375, + "y": 0.037261962890625 + }, + { + "x": 0.09765625, + "y": 0.111328125 + }, + { + "x": 0.4246826171875, + "y": 0.498199462890625 + }, + { + "x": 0.05523681640625, + "y": -0.14447021484375 + }, + { + "x": -0.0733642578125, + "y": -0.1814117431640625 + }, + { + "x": -0.34564208984375, + "y": 0.11358642578125 + }, + { + "x": -0.27923583984375, + "y": -0.187774658203125 + }, + { + "x": -0.26263427734375, + "y": -0.007080078125 + }, + { + "x": 0.3116455078125, + "y": 0.0406341552734375 + }, + { + "x": 0.281982421875, + "y": -0.3561553955078125 + }, + { + "x": -0.32147216796875, + "y": -0.1061553955078125 + }, + { + "x": 0.09149169921875, + "y": -0.0532684326171875 + }, + { + "x": -0.106201171875, + "y": -0.4091949462890625 + }, + { + "x": 0.28631591796875, + "y": -0.0370330810546875 + }, + { + "x": -0.25347900390625, + "y": -0.510894775390625 + }, + { + "x": 0.06085205078125, + "y": -0.340057373046875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.008936162675327044, + "y": -0.3195123758238392, + "z": 0.8080088370523986 + }, + "rotation": { + "quaternion": { + "W": 0.997371859915825, + "X": 0.06410356979296712, + "Y": -0.004499649809934532, + "Z": 0.03346428752318091 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img22.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img22.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + } + ], + "locationInImageSpace": [ + { + "x": 758.7578735351562, + "y": 54.89517593383789 + }, + { + "x": 787.4902954101562, + "y": 53.64725112915039 + }, + { + "x": 816.857177734375, + "y": 52.632442474365234 + }, + { + "x": 845.5347290039062, + "y": 52.121498107910156 + }, + { + "x": 874.9564819335938, + "y": 51.47602081298828 + }, + { + "x": 904.2006225585938, + "y": 49.97085952758789 + }, + { + "x": 933.841552734375, + "y": 49.455299377441406 + }, + { + "x": 758.3716430664062, + "y": 84.36772918701172 + }, + { + "x": 787.548583984375, + "y": 83.78230285644531 + }, + { + "x": 815.9752807617188, + "y": 82.76350402832031 + }, + { + "x": 845.2373657226562, + "y": 82.03128814697266 + }, + { + "x": 874.2662963867188, + "y": 81.05278778076172 + }, + { + "x": 903.6766357421875, + "y": 80.2127685546875 + }, + { + "x": 933.0701904296875, + "y": 79.15771484375 + }, + { + "x": 758.5535278320312, + "y": 113.82115173339844 + }, + { + "x": 786.7396850585938, + "y": 112.86385345458984 + }, + { + "x": 815.906982421875, + "y": 112.11813354492188 + }, + { + "x": 844.3987426757812, + "y": 111.08673095703125 + }, + { + "x": 873.95849609375, + "y": 110.70095825195312 + }, + { + "x": 902.9361572265625, + "y": 109.8042221069336 + }, + { + "x": 932.3034057617188, + "y": 109.06195068359375 + }, + { + "x": 814.9954833984375, + "y": 141.12684631347656 + }, + { + "x": 844.2674560546875, + "y": 140.84046936035156 + }, + { + "x": 873.1514282226562, + "y": 140.29705810546875 + }, + { + "x": 902.1985473632812, + "y": 139.91896057128906 + }, + { + "x": 931.7960815429688, + "y": 138.92303466796875 + }, + { + "x": 814.8911743164062, + "y": 170.70632934570312 + }, + { + "x": 843.6758422851562, + "y": 169.87692260742188 + }, + { + "x": 872.749267578125, + "y": 169.46823120117188 + }, + { + "x": 901.6060791015625, + "y": 168.79885864257812 + }, + { + "x": 931.0762939453125, + "y": 167.8727569580078 + }, + { + "x": 757.8672485351562, + "y": 199.86981201171875 + }, + { + "x": 786.1795043945312, + "y": 199.9655303955078 + }, + { + "x": 814.2161254882812, + "y": 199.08001708984375 + }, + { + "x": 843.0611572265625, + "y": 199.066650390625 + }, + { + "x": 871.9014892578125, + "y": 198.3824462890625 + }, + { + "x": 900.61083984375, + "y": 198.0481719970703 + }, + { + "x": 786.0359497070312, + "y": 228.15626525878906 + }, + { + "x": 814.5789794921875, + "y": 227.63250732421875 + }, + { + "x": 842.720947265625, + "y": 227.15869140625 + }, + { + "x": 870.8939208984375, + "y": 227.63951110839844 + }, + { + "x": 900.0849609375, + "y": 226.42063903808594 + } + ], + "reprojectionErrors": [ + { + "x": -0.14691162109375, + "y": -0.11523818969726562 + }, + { + "x": -0.0604248046875, + "y": 0.217529296875 + }, + { + "x": -0.4307861328125, + "y": 0.3159141540527344 + }, + { + "x": 0.0657958984375, + "y": -0.090789794921875 + }, + { + "x": -0.00439453125, + "y": -0.36414337158203125 + }, + { + "x": 0.2801513671875, + "y": 0.22106170654296875 + }, + { + "x": 0.34503173828125, + "y": -0.18442535400390625 + }, + { + "x": 0.1138916015625, + "y": -0.04119873046875 + }, + { + "x": -0.364013671875, + "y": -0.27608489990234375 + }, + { + "x": 0.08447265625, + "y": -0.07888031005859375 + }, + { + "x": -0.12628173828125, + "y": -0.16950225830078125 + }, + { + "x": 0.072021484375, + "y": -0.01503753662109375 + }, + { + "x": 0.06463623046875, + "y": -2.2125244140625E-4 + }, + { + "x": 0.24951171875, + "y": 0.2285003662109375 + }, + { + "x": -0.1923828125, + "y": -0.18888092041015625 + }, + { + "x": 0.201171875, + "y": 0.04144287109375 + }, + { + "x": -0.21173095703125, + "y": 0.0588836669921875 + }, + { + "x": 0.2255859375, + "y": 0.36074066162109375 + }, + { + "x": -0.23065185546875, + "y": 0.01573944091796875 + }, + { + "x": 0.0694580078125, + "y": 0.18050384521484375 + }, + { + "x": 0.15399169921875, + "y": 0.18963623046875 + }, + { + "x": -0.03076171875, + "y": -0.146636962890625 + }, + { + "x": 0.0753173828125, + "y": -0.408782958984375 + }, + { + "x": -0.19647216796875, + "y": -0.0543212890625 + }, + { + "x": 0.0814208984375, + "y": -0.2695159912109375 + }, + { + "x": -0.01690673828125, + "y": 0.0124664306640625 + }, + { + "x": -0.33001708984375, + "y": 0.3665771484375 + }, + { + "x": 0.12664794921875, + "y": 0.25079345703125 + }, + { + "x": 0.0394287109375, + "y": -0.3007659912109375 + }, + { + "x": 0.3983154296875, + "y": 0.1275177001953125 + }, + { + "x": 0.11907958984375, + "y": -0.31768798828125 + }, + { + "x": 0.0146484375, + "y": -0.093414306640625 + }, + { + "x": 0.2110595703125, + "y": -0.22039794921875 + }, + { + "x": -0.0545654296875, + "y": -0.0454864501953125 + }, + { + "x": -0.32061767578125, + "y": 0.1085052490234375 + }, + { + "x": -0.01678466796875, + "y": 0.211151123046875 + }, + { + "x": 0.4248046875, + "y": -0.6422271728515625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.07931524092392728, + "y": -0.29917114806911277, + "z": 0.8038330017322889 + }, + "rotation": { + "quaternion": { + "W": 0.9966209077053377, + "X": 0.06669065490027479, + "Y": 0.04793523256963958, + "Z": -0.0011560069444613865 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false + ], + "snapshotName": "img23.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img23.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 172.0270538330078, + "y": 319.8018798828125 + }, + { + "x": 198.61886596679688, + "y": 320.78851318359375 + }, + { + "x": 225.50901794433594, + "y": 322.125244140625 + }, + { + "x": 251.6649627685547, + "y": 323.055908203125 + }, + { + "x": 278.1737060546875, + "y": 324.2038879394531 + }, + { + "x": 303.93572998046875, + "y": 325.2476501464844 + }, + { + "x": 330.1017761230469, + "y": 326.4140319824219 + }, + { + "x": 168.2306365966797, + "y": 343.0287170410156 + }, + { + "x": 195.3452606201172, + "y": 344.22119140625 + }, + { + "x": 222.70950317382812, + "y": 345.3309326171875 + }, + { + "x": 249.7250213623047, + "y": 346.03125 + }, + { + "x": 275.8758850097656, + "y": 347.0343017578125 + }, + { + "x": 302.1248779296875, + "y": 348.0624084472656 + }, + { + "x": 327.8726501464844, + "y": 348.93292236328125 + }, + { + "x": 165.13845825195312, + "y": 367.0232849121094 + }, + { + "x": 192.50942993164062, + "y": 367.9082336425781 + }, + { + "x": 219.4973907470703, + "y": 368.86700439453125 + }, + { + "x": 246.49729919433594, + "y": 369.2805480957031 + }, + { + "x": 273.5511474609375, + "y": 370.4878234863281 + }, + { + "x": 299.5908508300781, + "y": 371.5136413574219 + }, + { + "x": 325.9727478027344, + "y": 372.14215087890625 + }, + { + "x": 161.46408081054688, + "y": 391.025146484375 + }, + { + "x": 189.18849182128906, + "y": 391.9249572753906 + }, + { + "x": 216.71954345703125, + "y": 392.76800537109375 + }, + { + "x": 243.80299377441406, + "y": 393.32562255859375 + }, + { + "x": 270.7053527832031, + "y": 394.05926513671875 + }, + { + "x": 297.4057922363281, + "y": 394.86956787109375 + }, + { + "x": 323.5235290527344, + "y": 395.2543640136719 + }, + { + "x": 157.92633056640625, + "y": 415.92462158203125 + }, + { + "x": 186.17501831054688, + "y": 416.2926025390625 + }, + { + "x": 213.81690979003906, + "y": 416.99920654296875 + }, + { + "x": 241.4359130859375, + "y": 417.2540588378906 + }, + { + "x": 268.22412109375, + "y": 418.163330078125 + }, + { + "x": 295.10955810546875, + "y": 418.66595458984375 + }, + { + "x": 321.9361572265625, + "y": 418.9533996582031 + }, + { + "x": 154.4908905029297, + "y": 440.5163269042969 + }, + { + "x": 182.9636688232422, + "y": 440.93560791015625 + }, + { + "x": 210.74459838867188, + "y": 441.738525390625 + }, + { + "x": 238.0896759033203, + "y": 442.22052001953125 + }, + { + "x": 265.4559631347656, + "y": 442.31658935546875 + }, + { + "x": 292.6666564941406, + "y": 443.0921325683594 + }, + { + "x": 319.7481689453125, + "y": 443.1484375 + }, + { + "x": 179.6641082763672, + "y": 466.36322021484375 + }, + { + "x": 207.54190063476562, + "y": 466.576416015625 + }, + { + "x": 235.16737365722656, + "y": 466.7303771972656 + }, + { + "x": 262.8499450683594, + "y": 467.579833984375 + }, + { + "x": 290.1514587402344, + "y": 467.5139465332031 + }, + { + "x": 317.3134460449219, + "y": 468.03179931640625 + } + ], + "reprojectionErrors": [ + { + "x": -0.2448883056640625, + "y": 0.06195068359375 + }, + { + "x": 0.1838226318359375, + "y": 0.1641845703125 + }, + { + "x": 0.029998779296875, + "y": -0.089324951171875 + }, + { + "x": 0.32940673828125, + "y": 0.057647705078125 + }, + { + "x": -0.00177001953125, + "y": -0.018280029296875 + }, + { + "x": 0.139068603515625, + "y": 0.0045166015625 + }, + { + "x": -0.395660400390625, + "y": -0.100830078125 + }, + { + "x": 0.1761474609375, + "y": 0.16619873046875 + }, + { + "x": 0.3270416259765625, + "y": -0.05450439453125 + }, + { + "x": -0.06085205078125, + "y": -0.197296142578125 + }, + { + "x": -0.3858489990234375, + "y": 0.0645751953125 + }, + { + "x": -0.1287841796875, + "y": 0.018951416015625 + }, + { + "x": -0.249176025390625, + "y": -0.056427001953125 + }, + { + "x": -0.14453125, + "y": 0.021087646484375 + }, + { + "x": -0.160400390625, + "y": -0.096160888671875 + }, + { + "x": -0.0167999267578125, + "y": -0.130615234375 + }, + { + "x": 0.2155914306640625, + "y": -0.242828369140625 + }, + { + "x": 0.1451873779296875, + "y": 0.186309814453125 + }, + { + "x": -0.2666015625, + "y": -0.18218994140625 + }, + { + "x": 0.051605224609375, + "y": -0.373077392578125 + }, + { + "x": -0.253265380859375, + "y": -0.170501708984375 + }, + { + "x": 0.0306549072265625, + "y": 0.044677734375 + }, + { + "x": 0.074066162109375, + "y": -0.1302490234375 + }, + { + "x": 0.0113983154296875, + "y": -0.25140380859375 + }, + { + "x": 0.1003875732421875, + "y": -0.090087890625 + }, + { + "x": 0.0780029296875, + "y": -0.107757568359375 + }, + { + "x": -0.031524658203125, + "y": -0.205078125 + }, + { + "x": 0.155975341796875, + "y": 0.120208740234375 + }, + { + "x": 0.0292205810546875, + "y": -0.29193115234375 + }, + { + "x": -0.1941070556640625, + "y": -0.06512451171875 + }, + { + "x": -0.11541748046875, + "y": -0.178924560546875 + }, + { + "x": -0.315032958984375, + "y": 0.15704345703125 + }, + { + "x": 0.0185546875, + "y": -0.163421630859375 + }, + { + "x": -0.0391845703125, + "y": -0.0792236328125 + }, + { + "x": -0.328704833984375, + "y": 0.218170166015625 + }, + { + "x": -0.1317138671875, + "y": 0.109375 + }, + { + "x": -0.31719970703125, + "y": 0.150146484375 + }, + { + "x": -0.12109375, + "y": -0.193695068359375 + }, + { + "x": 0.2042999267578125, + "y": -0.217529296875 + }, + { + "x": 0.20562744140625, + "y": 0.143585205078125 + }, + { + "x": 0.063323974609375, + "y": -0.175750732421875 + }, + { + "x": -0.245513916015625, + "y": 0.22320556640625 + }, + { + "x": -0.046051025390625, + "y": 0.123779296875 + }, + { + "x": 0.2542724609375, + "y": 0.29058837890625 + }, + { + "x": 0.189239501953125, + "y": -0.237945556640625 + }, + { + "x": 0.20074462890625, + "y": 0.14898681640625 + }, + { + "x": 0.0509033203125, + "y": -0.0477294921875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.506027217385746, + "y": -0.0722516631085497, + "z": 0.9202490796121827 + }, + "rotation": { + "quaternion": { + "W": 0.9830491892699175, + "X": -0.15353699239349392, + "Y": -0.10019997506258477, + "Z": -8.052577075965241E-4 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img24.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img24.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + } + ], + "locationInImageSpace": [ + { + "x": 190.8488006591797, + "y": 246.52593994140625 + }, + { + "x": 214.98797607421875, + "y": 247.03245544433594 + }, + { + "x": 239.63970947265625, + "y": 247.64154052734375 + }, + { + "x": 263.9155578613281, + "y": 248.14450073242188 + }, + { + "x": 189.0775146484375, + "y": 267.91571044921875 + }, + { + "x": 213.31182861328125, + "y": 268.7054138183594 + }, + { + "x": 238.13275146484375, + "y": 268.8282470703125 + }, + { + "x": 262.694580078125, + "y": 269.34710693359375 + }, + { + "x": 286.58489990234375, + "y": 269.61212158203125 + }, + { + "x": 187.14601135253906, + "y": 289.8163757324219 + }, + { + "x": 212.34080505371094, + "y": 290.34033203125 + }, + { + "x": 236.57139587402344, + "y": 290.5228576660156 + }, + { + "x": 309.385986328125, + "y": 291.1391296386719 + }, + { + "x": 333.45574951171875, + "y": 292.2306823730469 + }, + { + "x": 234.96824645996094, + "y": 312.14727783203125 + }, + { + "x": 308.10784912109375, + "y": 313.32049560546875 + }, + { + "x": 333.0742492675781, + "y": 313.29449462890625 + }, + { + "x": 234.05189514160156, + "y": 334.0675964355469 + }, + { + "x": 258.8717956542969, + "y": 334.49700927734375 + }, + { + "x": 283.0475158691406, + "y": 334.74163818359375 + }, + { + "x": 307.4891052246094, + "y": 334.4012145996094 + }, + { + "x": 331.9454650878906, + "y": 334.6930236816406 + }, + { + "x": 181.81561279296875, + "y": 356.4735412597656 + }, + { + "x": 207.0753631591797, + "y": 356.4652404785156 + }, + { + "x": 232.13577270507812, + "y": 356.4899597167969 + }, + { + "x": 257.4528503417969, + "y": 356.76617431640625 + }, + { + "x": 282.16546630859375, + "y": 356.95733642578125 + }, + { + "x": 306.50238037109375, + "y": 356.8108215332031 + }, + { + "x": 179.9702606201172, + "y": 379.04766845703125 + }, + { + "x": 205.5240478515625, + "y": 379.373779296875 + }, + { + "x": 230.52720642089844, + "y": 379.17108154296875 + }, + { + "x": 255.91748046875, + "y": 378.8663330078125 + }, + { + "x": 280.8684387207031, + "y": 378.7481689453125 + }, + { + "x": 305.6416931152344, + "y": 379.29107666015625 + } + ], + "reprojectionErrors": [ + { + "x": -0.269500732421875, + "y": 0.0027923583984375 + }, + { + "x": 0.229095458984375, + "y": 0.04241943359375 + }, + { + "x": -0.0078277587890625, + "y": -0.019805908203125 + }, + { + "x": -0.089874267578125, + "y": 0.024810791015625 + }, + { + "x": -0.153076171875, + "y": -0.01519775390625 + }, + { + "x": 0.078887939453125, + "y": 0.173126220703125 + }, + { + "x": -0.0703887939453125, + "y": -0.122344970703125 + }, + { + "x": -0.31427001953125, + "y": -0.295806884765625 + }, + { + "x": 0.17755126953125, + "y": -0.12591552734375 + }, + { + "x": 0.317962646484375, + "y": 0.029693603515625 + }, + { + "x": 0.446746826171875, + "y": -0.374267578125 + }, + { + "x": -0.5458984375, + "y": -0.087127685546875 + }, + { + "x": 0.140289306640625, + "y": -0.212066650390625 + }, + { + "x": 0.04510498046875, + "y": 0.285736083984375 + }, + { + "x": 0.045684814453125, + "y": 0.0343017578125 + }, + { + "x": -0.15899658203125, + "y": -0.3197021484375 + }, + { + "x": 0.001556396484375, + "y": -0.1197509765625 + }, + { + "x": 0.283233642578125, + "y": -0.03631591796875 + }, + { + "x": 0.0124053955078125, + "y": 0.2066650390625 + }, + { + "x": -0.05487060546875, + "y": 0.2674560546875 + }, + { + "x": -0.17803955078125, + "y": -0.3284912109375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.5306459136812484, + "y": -0.16022070789113743, + "z": 1.0029094991511678 + }, + "rotation": { + "quaternion": { + "W": 0.9883829810629906, + "X": -0.12007536540432553, + "Y": -0.09216547200822747, + "Z": -0.013657054497746447 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + false, + false, + true, + true, + false, + false, + true, + false, + false, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false + ], + "snapshotName": "img25.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img25.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 102.14350891113281, + "y": 300.7237854003906 + }, + { + "x": 129.7401123046875, + "y": 299.4487609863281 + }, + { + "x": 156.62901306152344, + "y": 298.81524658203125 + }, + { + "x": 183.2730255126953, + "y": 297.85638427734375 + }, + { + "x": 209.59182739257812, + "y": 296.8658142089844 + }, + { + "x": 235.4381866455078, + "y": 296.0103759765625 + }, + { + "x": 261.1283874511719, + "y": 295.19122314453125 + }, + { + "x": 101.16545867919922, + "y": 323.5144958496094 + }, + { + "x": 129.27484130859375, + "y": 322.4482421875 + }, + { + "x": 156.12893676757812, + "y": 321.7030029296875 + }, + { + "x": 182.9569091796875, + "y": 320.1463928222656 + }, + { + "x": 209.69772338867188, + "y": 319.1005554199219 + }, + { + "x": 235.81883239746094, + "y": 318.11688232421875 + }, + { + "x": 261.8043518066406, + "y": 317.2194519042969 + }, + { + "x": 101.49739074707031, + "y": 346.7391357421875 + }, + { + "x": 128.9486541748047, + "y": 345.9501647949219 + }, + { + "x": 156.28219604492188, + "y": 344.289794921875 + }, + { + "x": 182.9801788330078, + "y": 343.07611083984375 + }, + { + "x": 209.76422119140625, + "y": 342.0289611816406 + }, + { + "x": 235.9918670654297, + "y": 341.0133056640625 + }, + { + "x": 261.9393310546875, + "y": 339.55731201171875 + }, + { + "x": 100.461181640625, + "y": 370.470458984375 + }, + { + "x": 128.36888122558594, + "y": 368.9898986816406 + }, + { + "x": 156.11468505859375, + "y": 368.06591796875 + }, + { + "x": 183.0887908935547, + "y": 366.15960693359375 + }, + { + "x": 210.0263214111328, + "y": 365.0926513671875 + }, + { + "x": 236.2999725341797, + "y": 363.9249572753906 + }, + { + "x": 262.8246765136719, + "y": 362.38134765625 + }, + { + "x": 99.92543029785156, + "y": 394.79168701171875 + }, + { + "x": 128.20208740234375, + "y": 393.1520080566406 + }, + { + "x": 155.56427001953125, + "y": 391.31439208984375 + }, + { + "x": 182.58023071289062, + "y": 389.7122497558594 + }, + { + "x": 210.18482971191406, + "y": 388.3477783203125 + }, + { + "x": 236.53933715820312, + "y": 386.8067626953125 + }, + { + "x": 263.0020751953125, + "y": 385.2121887207031 + }, + { + "x": 99.56230926513672, + "y": 419.3653869628906 + }, + { + "x": 127.46439361572266, + "y": 417.0516052246094 + }, + { + "x": 155.14987182617188, + "y": 415.29315185546875 + }, + { + "x": 182.6000518798828, + "y": 413.8887023925781 + }, + { + "x": 210.16452026367188, + "y": 412.05084228515625 + }, + { + "x": 236.9400634765625, + "y": 410.43304443359375 + }, + { + "x": 263.5167541503906, + "y": 408.7342529296875 + }, + { + "x": 98.94386291503906, + "y": 443.2424621582031 + }, + { + "x": 127.27418518066406, + "y": 441.5054626464844 + }, + { + "x": 155.162353515625, + "y": 439.779541015625 + }, + { + "x": 182.90020751953125, + "y": 437.77410888671875 + }, + { + "x": 210.38943481445312, + "y": 435.781982421875 + }, + { + "x": 236.99952697753906, + "y": 433.77850341796875 + }, + { + "x": 264.2019958496094, + "y": 431.9187927246094 + } + ], + "reprojectionErrors": [ + { + "x": 0.08629608154296875, + "y": -0.22998046875 + }, + { + "x": -0.1386566162109375, + "y": 0.105682373046875 + }, + { + "x": -0.0246734619140625, + "y": -0.181640625 + }, + { + "x": -0.028350830078125, + "y": -0.12548828125 + }, + { + "x": -0.06329345703125, + "y": -0.019744873046875 + }, + { + "x": 0.023651123046875, + "y": -0.031646728515625 + }, + { + "x": -0.07794189453125, + "y": -0.0626220703125 + }, + { + "x": 0.4709625244140625, + "y": 0.038787841796875 + }, + { + "x": -0.0824127197265625, + "y": 9.1552734375E-5 + }, + { + "x": 0.2458038330078125, + "y": -0.339111328125 + }, + { + "x": 0.2327880859375, + "y": 0.1531982421875 + }, + { + "x": -0.054229736328125, + "y": 0.154510498046875 + }, + { + "x": -0.0766448974609375, + "y": 0.113128662109375 + }, + { + "x": -0.3126220703125, + "y": 0.00457763671875 + }, + { + "x": -0.4578857421875, + "y": 0.18536376953125 + }, + { + "x": -0.166656494140625, + "y": -0.30059814453125 + }, + { + "x": -0.136444091796875, + "y": 0.107452392578125 + }, + { + "x": 0.1570892333984375, + "y": 0.091064453125 + }, + { + "x": -0.0013580322265625, + "y": -0.070068359375 + }, + { + "x": 0.0368499755859375, + "y": -0.241241455078125 + }, + { + "x": 0.0015869140625, + "y": 0.0489501953125 + }, + { + "x": -0.0221710205078125, + "y": 0.142333984375 + }, + { + "x": 0.001251220703125, + "y": 0.17352294921875 + }, + { + "x": -0.1972808837890625, + "y": -0.3270263671875 + }, + { + "x": -0.0013427734375, + "y": 0.1790771484375 + }, + { + "x": -0.1396026611328125, + "y": -0.130218505859375 + }, + { + "x": 0.0215911865234375, + "y": -0.315277099609375 + }, + { + "x": -0.426544189453125, + "y": -0.101318359375 + }, + { + "x": -0.09053802490234375, + "y": -0.167999267578125 + }, + { + "x": -0.2452545166015625, + "y": -0.156707763671875 + }, + { + "x": 0.1254425048828125, + "y": 0.079620361328125 + }, + { + "x": 0.460052490234375, + "y": 0.1070556640625 + }, + { + "x": -0.1696624755859375, + "y": -0.077056884765625 + }, + { + "x": 0.0814666748046875, + "y": -0.0589599609375 + }, + { + "x": -0.1385498046875, + "y": 0.03790283203125 + }, + { + "x": -0.3352203369140625, + "y": -0.402618408203125 + }, + { + "x": 0.07769012451171875, + "y": 0.099029541015625 + }, + { + "x": 0.312835693359375, + "y": 0.0748291015625 + }, + { + "x": 0.3957977294921875, + "y": -0.27447509765625 + }, + { + "x": -0.0162353515625, + "y": -0.161956787109375 + }, + { + "x": -0.0134735107421875, + "y": -0.241607666015625 + }, + { + "x": -0.179534912109375, + "y": -0.21282958984375 + }, + { + "x": -0.32830047607421875, + "y": 0.393341064453125 + }, + { + "x": -0.14832305908203125, + "y": 0.129608154296875 + }, + { + "x": 0.07403564453125, + "y": -0.113250732421875 + }, + { + "x": 0.0539703369140625, + "y": -0.045257568359375 + }, + { + "x": -0.1032867431640625, + "y": 0.040191650390625 + }, + { + "x": 0.2394866943359375, + "y": 0.167236328125 + }, + { + "x": -0.382598876953125, + "y": 0.18017578125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.5878454684593795, + "y": -0.09376645702945642, + "z": 0.9379285745001851 + }, + "rotation": { + "quaternion": { + "W": 0.9825563460458288, + "X": -0.12926255922890262, + "Y": -0.12447274738736926, + "Z": -0.04879295834958411 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img26.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img26.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02540000155568123, + "y": 0.0, + "z": -4.962625098414719E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.02539999969303608, + "z": -8.752316352911294E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.02540000155568123, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05079999938607216, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05079999938607216, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.07620000094175339, + "z": -1.7504632705822587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.10160000622272491, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05079999938607216, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05079999938607216, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05079999938607216, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.15240000188350677, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + } + ], + "locationInImageSpace": [ + { + "x": 48.38059616088867, + "y": 314.3340148925781 + }, + { + "x": 75.7174072265625, + "y": 313.1410217285156 + }, + { + "x": 157.3140106201172, + "y": 309.9206237792969 + }, + { + "x": 184.23004150390625, + "y": 308.80413818359375 + }, + { + "x": 74.59535217285156, + "y": 336.61859130859375 + }, + { + "x": 157.25511169433594, + "y": 332.9385986328125 + }, + { + "x": 183.8015899658203, + "y": 331.6654968261719 + }, + { + "x": 74.03807067871094, + "y": 360.1036071777344 + }, + { + "x": 101.4823226928711, + "y": 358.8150939941406 + }, + { + "x": 129.3245086669922, + "y": 357.4847717285156 + }, + { + "x": 156.67068481445312, + "y": 355.97222900390625 + }, + { + "x": 183.877197265625, + "y": 354.3705139160156 + }, + { + "x": 44.85825729370117, + "y": 386.0652160644531 + }, + { + "x": 72.6527328491211, + "y": 384.41412353515625 + }, + { + "x": 101.15570831298828, + "y": 382.6872863769531 + }, + { + "x": 128.25794982910156, + "y": 380.980712890625 + }, + { + "x": 156.24855041503906, + "y": 379.8569030761719 + }, + { + "x": 183.48074340820312, + "y": 378.2587585449219 + }, + { + "x": 43.84092712402344, + "y": 410.2841796875 + }, + { + "x": 72.4366683959961, + "y": 408.4642028808594 + }, + { + "x": 100.3512191772461, + "y": 406.6764221191406 + }, + { + "x": 127.9010009765625, + "y": 405.18170166015625 + }, + { + "x": 155.84234619140625, + "y": 403.28363037109375 + }, + { + "x": 183.4330291748047, + "y": 401.7442321777344 + }, + { + "x": 42.712459564208984, + "y": 435.4497375488281 + }, + { + "x": 71.2611083984375, + "y": 433.29052734375 + }, + { + "x": 99.58936309814453, + "y": 431.6650695800781 + }, + { + "x": 127.50041961669922, + "y": 429.5255432128906 + }, + { + "x": 155.26246643066406, + "y": 428.0053405761719 + }, + { + "x": 183.15811157226562, + "y": 425.7759094238281 + }, + { + "x": 41.76067352294922, + "y": 460.26617431640625 + }, + { + "x": 70.04671478271484, + "y": 458.67840576171875 + }, + { + "x": 99.03421783447266, + "y": 456.4406433105469 + }, + { + "x": 126.8711929321289, + "y": 454.3296813964844 + }, + { + "x": 155.55062866210938, + "y": 452.09527587890625 + }, + { + "x": 183.2244110107422, + "y": 449.957763671875 + } + ], + "reprojectionErrors": [ + { + "x": 0.0904541015625, + "y": -0.014984130859375 + }, + { + "x": 0.03204345703125, + "y": -0.14630126953125 + }, + { + "x": -0.2742767333984375, + "y": -0.2047119140625 + }, + { + "x": -0.11199951171875, + "y": -0.157623291015625 + }, + { + "x": 0.0805511474609375, + "y": -0.091766357421875 + }, + { + "x": -0.20750045776367188, + "y": -0.144378662109375 + }, + { + "x": 0.41138458251953125, + "y": -0.11907958984375 + }, + { + "x": -1.220703125E-4, + "y": -0.293701171875 + }, + { + "x": -0.1731414794921875, + "y": -0.225555419921875 + }, + { + "x": -0.31496429443359375, + "y": 0.16534423828125 + }, + { + "x": -0.30096435546875, + "y": 0.194671630859375 + }, + { + "x": 0.04355621337890625, + "y": 0.21807861328125 + }, + { + "x": 0.03887939453125, + "y": 0.159454345703125 + }, + { + "x": -0.31451416015625, + "y": 0.01104736328125 + }, + { + "x": -0.32068634033203125, + "y": -0.1376953125 + }, + { + "x": -0.0608978271484375, + "y": 0.06170654296875 + }, + { + "x": 0.0637969970703125, + "y": -0.2445068359375 + }, + { + "x": 0.25542449951171875, + "y": -0.008880615234375 + }, + { + "x": -0.2273712158203125, + "y": 0.014495849609375 + }, + { + "x": -0.51263427734375, + "y": 0.248046875 + }, + { + "x": 0.21080780029296875, + "y": -0.297607421875 + }, + { + "x": -0.12761688232421875, + "y": -0.163116455078125 + }, + { + "x": 0.32944488525390625, + "y": -0.12579345703125 + }, + { + "x": -0.405792236328125, + "y": 0.064208984375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.6345587846114294, + "y": -0.0782642576365677, + "z": 0.9240491702687827 + }, + "rotation": { + "quaternion": { + "W": 0.9849773627404141, + "X": -0.1257653818414048, + "Y": -0.1085869497619301, + "Z": -0.047026991830483166 + } + } + }, + "cornersUsed": [ + false, + true, + true, + false, + false, + true, + true, + false, + false, + true, + false, + false, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img27.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img27.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 187.446044921875, + "y": 230.46408081054688 + }, + { + "x": 79.11048126220703, + "y": 250.82354736328125 + }, + { + "x": 106.68415832519531, + "y": 251.32485961914062 + }, + { + "x": 133.62315368652344, + "y": 251.75209045410156 + }, + { + "x": 160.23097229003906, + "y": 252.06907653808594 + }, + { + "x": 186.76296997070312, + "y": 252.3415985107422 + }, + { + "x": 77.91976165771484, + "y": 273.7169494628906 + }, + { + "x": 105.82087707519531, + "y": 273.9606628417969 + }, + { + "x": 132.3148651123047, + "y": 274.12152099609375 + }, + { + "x": 211.52235412597656, + "y": 274.0670166015625 + }, + { + "x": 237.8177490234375, + "y": 274.60595703125 + }, + { + "x": 76.43567657470703, + "y": 296.1680603027344 + }, + { + "x": 104.3388442993164, + "y": 296.13177490234375 + }, + { + "x": 131.4252471923828, + "y": 296.2762145996094 + }, + { + "x": 211.32403564453125, + "y": 296.20050048828125 + }, + { + "x": 237.0362548828125, + "y": 296.2227478027344 + }, + { + "x": 75.2680435180664, + "y": 319.4024353027344 + }, + { + "x": 102.43302154541016, + "y": 318.5697937011719 + }, + { + "x": 130.5452117919922, + "y": 318.9534912109375 + }, + { + "x": 157.29644775390625, + "y": 318.8065490722656 + }, + { + "x": 184.49026489257812, + "y": 318.50225830078125 + }, + { + "x": 210.81593322753906, + "y": 318.4712829589844 + }, + { + "x": 237.32089233398438, + "y": 318.2820129394531 + }, + { + "x": 73.34126281738281, + "y": 342.712890625 + }, + { + "x": 101.83395385742188, + "y": 342.40557861328125 + }, + { + "x": 129.24195861816406, + "y": 341.9527282714844 + }, + { + "x": 156.66864013671875, + "y": 341.861083984375 + }, + { + "x": 183.60072326660156, + "y": 341.5452575683594 + }, + { + "x": 210.46400451660156, + "y": 340.99835205078125 + }, + { + "x": 236.6846160888672, + "y": 340.6935729980469 + }, + { + "x": 71.8924789428711, + "y": 366.64697265625 + }, + { + "x": 99.96400451660156, + "y": 365.7177734375 + }, + { + "x": 127.95928955078125, + "y": 365.3244323730469 + }, + { + "x": 155.5225830078125, + "y": 364.8023376464844 + }, + { + "x": 182.5926513671875, + "y": 364.5092468261719 + }, + { + "x": 210.01695251464844, + "y": 364.0561218261719 + }, + { + "x": 236.793701171875, + "y": 363.3236389160156 + } + ], + "reprojectionErrors": [ + { + "x": 0.125640869140625, + "y": -0.152923583984375 + }, + { + "x": -0.430267333984375, + "y": -0.36260986328125 + }, + { + "x": 0.306610107421875, + "y": -0.374420166015625 + }, + { + "x": 0.44146728515625, + "y": 0.14971923828125 + }, + { + "x": -0.1656951904296875, + "y": -0.2254638671875 + }, + { + "x": -0.16361236572265625, + "y": 0.067718505859375 + }, + { + "x": 0.0858154296875, + "y": -0.0289306640625 + }, + { + "x": 0.2321624755859375, + "y": -0.0467529296875 + }, + { + "x": -0.49536895751953125, + "y": -0.069091796875 + }, + { + "x": 0.3307952880859375, + "y": -0.046295166015625 + }, + { + "x": -0.054962158203125, + "y": 0.083282470703125 + }, + { + "x": 0.035125732421875, + "y": -0.0526123046875 + }, + { + "x": -0.4389801025390625, + "y": -0.022491455078125 + }, + { + "x": -0.084197998046875, + "y": 0.038330078125 + }, + { + "x": 0.03076171875, + "y": -0.214019775390625 + }, + { + "x": 0.0914764404296875, + "y": -0.245269775390625 + }, + { + "x": -0.1766357421875, + "y": -0.03533935546875 + }, + { + "x": -0.192138671875, + "y": -0.0576171875 + }, + { + "x": -0.16754150390625, + "y": -0.151885986328125 + }, + { + "x": 0.1979522705078125, + "y": 0.214263916015625 + }, + { + "x": 0.21234130859375, + "y": 0.057769775390625 + }, + { + "x": 0.2397003173828125, + "y": 0.043060302734375 + }, + { + "x": 0.3493499755859375, + "y": -0.187957763671875 + }, + { + "x": -0.298248291015625, + "y": -0.2464599609375 + }, + { + "x": -0.6936187744140625, + "y": -0.013397216796875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.6215854185914135, + "y": -0.17139358476717892, + "z": 0.9554473136603696 + }, + "rotation": { + "quaternion": { + "W": 0.9810010345708156, + "X": -0.13170496893481706, + "Y": -0.13840178995794208, + "Z": -0.03370038375606785 + } + } + }, + "cornersUsed": [ + false, + false, + false, + false, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img28.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img28.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02540000155568123, + "y": 0.0, + "z": -4.962625098414719E-5 + }, + { + "x": 0.05079999938607216, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000839233398, + "y": 0.0, + "z": -9.925250196829438E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.02539999969303608, + "z": -8.752316352911294E-5 + }, + { + "x": 0.05079999938607216, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05079999938607216, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.02540000155568123, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05079999938607216, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.07620000094175339, + "z": -1.7504632705822587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.02540000155568123, + "y": 0.10160000622272491, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05079999938607216, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.02540000155568123, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05079999938607216, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.02540000155568123, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05079999938607216, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.15240000188350677, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + } + ], + "locationInImageSpace": [ + { + "x": 47.76769256591797, + "y": 483.9866027832031 + }, + { + "x": 80.26627349853516, + "y": 484.07080078125 + }, + { + "x": 112.62432098388672, + "y": 483.8109130859375 + }, + { + "x": 145.03245544433594, + "y": 483.5917663574219 + }, + { + "x": 176.79898071289062, + "y": 483.2706298828125 + }, + { + "x": 207.787353515625, + "y": 483.1952819824219 + }, + { + "x": 43.03669738769531, + "y": 513.2714233398438 + }, + { + "x": 75.4566650390625, + "y": 512.9297485351562 + }, + { + "x": 108.03870391845703, + "y": 512.80615234375 + }, + { + "x": 140.5282440185547, + "y": 511.7891540527344 + }, + { + "x": 172.41941833496094, + "y": 512.1781005859375 + }, + { + "x": 204.48532104492188, + "y": 511.118896484375 + }, + { + "x": 37.530723571777344, + "y": 542.952880859375 + }, + { + "x": 70.5709457397461, + "y": 542.500244140625 + }, + { + "x": 103.99105834960938, + "y": 541.8718872070312 + }, + { + "x": 136.69082641601562, + "y": 541.3737182617188 + }, + { + "x": 169.09439086914062, + "y": 540.43212890625 + }, + { + "x": 201.7010040283203, + "y": 539.9005737304688 + }, + { + "x": 66.07926940917969, + "y": 572.5036010742188 + }, + { + "x": 99.85470581054688, + "y": 571.7514038085938 + }, + { + "x": 132.188720703125, + "y": 570.9533081054688 + }, + { + "x": 165.4139862060547, + "y": 570.7263793945312 + }, + { + "x": 198.08921813964844, + "y": 569.6778564453125 + }, + { + "x": 61.12470245361328, + "y": 603.5283813476562 + }, + { + "x": 94.87386322021484, + "y": 602.329833984375 + }, + { + "x": 128.7969512939453, + "y": 601.5573120117188 + }, + { + "x": 161.38983154296875, + "y": 600.57763671875 + }, + { + "x": 194.40525817871094, + "y": 599.4837646484375 + }, + { + "x": 56.5009880065918, + "y": 635.0213012695312 + }, + { + "x": 90.36831665039062, + "y": 633.8853149414062 + }, + { + "x": 124.34980010986328, + "y": 632.955078125 + }, + { + "x": 157.7029266357422, + "y": 631.7744140625 + }, + { + "x": 190.4445037841797, + "y": 630.1608276367188 + }, + { + "x": 51.42771530151367, + "y": 667.1082763671875 + }, + { + "x": 85.73934173583984, + "y": 666.00732421875 + }, + { + "x": 120.14022064208984, + "y": 664.299072265625 + }, + { + "x": 153.5736083984375, + "y": 662.9640502929688 + }, + { + "x": 187.20277404785156, + "y": 661.86083984375 + } + ], + "reprojectionErrors": [ + { + "x": 0.106353759765625, + "y": -0.224853515625 + }, + { + "x": 0.13787841796875, + "y": -0.154266357421875 + }, + { + "x": -0.2904205322265625, + "y": -0.117706298828125 + }, + { + "x": -0.4808349609375, + "y": 0.027496337890625 + }, + { + "x": -0.2909088134765625, + "y": -0.06658935546875 + }, + { + "x": -0.5109977722167969, + "y": -0.06268310546875 + }, + { + "x": 0.43067169189453125, + "y": -0.36749267578125 + }, + { + "x": 0.2816925048828125, + "y": 0.277679443359375 + }, + { + "x": 0.3185577392578125, + "y": -0.47454833984375 + }, + { + "x": -0.22564697265625, + "y": 0.229827880859375 + }, + { + "x": -0.147857666015625, + "y": 0.05078125 + }, + { + "x": 0.38346099853515625, + "y": -0.08770751953125 + }, + { + "x": 0.1094512939453125, + "y": -0.1103515625 + }, + { + "x": -0.006744384765625, + "y": 0.27276611328125 + }, + { + "x": -0.7411651611328125, + "y": 0.25634765625 + }, + { + "x": 0.02352142333984375, + "y": 0.14080810546875 + }, + { + "x": -0.2291412353515625, + "y": 0.10504150390625 + }, + { + "x": 0.5220489501953125, + "y": 0.1282958984375 + }, + { + "x": 0.02764892578125, + "y": 0.00579833984375 + }, + { + "x": 0.19556427001953125, + "y": 0.19952392578125 + }, + { + "x": -0.2578887939453125, + "y": -0.0172119140625 + }, + { + "x": 0.1783447265625, + "y": -0.01141357421875 + }, + { + "x": -0.241668701171875, + "y": 0.12359619140625 + }, + { + "x": -0.06713104248046875, + "y": -0.29681396484375 + }, + { + "x": -0.0082550048828125, + "y": -0.31109619140625 + }, + { + "x": 0.2187957763671875, + "y": 0.12518310546875 + }, + { + "x": -0.4849052429199219, + "y": 0.26080322265625 + }, + { + "x": -0.0643310546875, + "y": -0.105224609375 + }, + { + "x": -0.1106109619140625, + "y": -0.23516845703125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.5342888013998945, + "y": 0.08037200407955461, + "z": 0.7775310007704139 + }, + "rotation": { + "quaternion": { + "W": 0.9811948977818972, + "X": -0.16407847853515, + "Y": -0.10121697725717246, + "Z": -0.009484142727933534 + } + } + }, + "cornersUsed": [ + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true + ], + "snapshotName": "img29.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img29.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 88.45946502685547, + "y": 484.7852783203125 + }, + { + "x": 120.48316955566406, + "y": 483.19610595703125 + }, + { + "x": 152.66976928710938, + "y": 481.28363037109375 + }, + { + "x": 184.5863037109375, + "y": 479.86041259765625 + }, + { + "x": 216.0647735595703, + "y": 478.067626953125 + }, + { + "x": 247.9763641357422, + "y": 476.16033935546875 + }, + { + "x": 279.4673767089844, + "y": 474.5604553222656 + }, + { + "x": 83.70309448242188, + "y": 514.2017211914062 + }, + { + "x": 116.28135681152344, + "y": 512.8612670898438 + }, + { + "x": 148.4633026123047, + "y": 511.0492858886719 + }, + { + "x": 180.97413635253906, + "y": 509.2404479980469 + }, + { + "x": 212.92605590820312, + "y": 507.3664245605469 + }, + { + "x": 245.12615966796875, + "y": 505.7785339355469 + }, + { + "x": 276.907470703125, + "y": 503.90435791015625 + }, + { + "x": 78.745849609375, + "y": 545.2531127929688 + }, + { + "x": 111.57579040527344, + "y": 542.9939575195312 + }, + { + "x": 144.8634796142578, + "y": 541.2750244140625 + }, + { + "x": 177.22332763671875, + "y": 539.2822875976562 + }, + { + "x": 210.06991577148438, + "y": 537.4312744140625 + }, + { + "x": 242.19366455078125, + "y": 535.4287719726562 + }, + { + "x": 274.7362060546875, + "y": 533.7567749023438 + }, + { + "x": 74.06238555908203, + "y": 576.5484619140625 + }, + { + "x": 107.84095764160156, + "y": 574.5767822265625 + }, + { + "x": 140.5950927734375, + "y": 572.3515014648438 + }, + { + "x": 173.77432250976562, + "y": 570.6502075195312 + }, + { + "x": 206.3630828857422, + "y": 568.14013671875 + }, + { + "x": 239.2682647705078, + "y": 566.5986938476562 + }, + { + "x": 271.84130859375, + "y": 564.2536010742188 + }, + { + "x": 69.4327621459961, + "y": 608.5197143554688 + }, + { + "x": 102.90606689453125, + "y": 606.257568359375 + }, + { + "x": 136.523681640625, + "y": 604.3920288085938 + }, + { + "x": 169.8199005126953, + "y": 602.0481567382812 + }, + { + "x": 203.2635040283203, + "y": 600.149658203125 + }, + { + "x": 236.31056213378906, + "y": 597.7333984375 + }, + { + "x": 269.6645812988281, + "y": 595.6177368164062 + }, + { + "x": 64.36033630371094, + "y": 641.3630981445312 + }, + { + "x": 98.49726104736328, + "y": 639.3534545898438 + }, + { + "x": 132.09140014648438, + "y": 637.0957641601562 + }, + { + "x": 166.182861328125, + "y": 634.9876098632812 + }, + { + "x": 199.63323974609375, + "y": 632.3168334960938 + }, + { + "x": 233.75750732421875, + "y": 630.24755859375 + }, + { + "x": 266.5143127441406, + "y": 627.646484375 + }, + { + "x": 60.103111267089844, + "y": 674.9827880859375 + }, + { + "x": 94.0893325805664, + "y": 672.7816162109375 + }, + { + "x": 128.07968139648438, + "y": 670.6710205078125 + }, + { + "x": 162.23574829101562, + "y": 668.0346069335938 + }, + { + "x": 196.247314453125, + "y": 665.923828125 + }, + { + "x": 229.93016052246094, + "y": 663.1763916015625 + }, + { + "x": 264.44036865234375, + "y": 660.876708984375 + } + ], + "reprojectionErrors": [ + { + "x": -0.032928466796875, + "y": -0.251373291015625 + }, + { + "x": 0.1633758544921875, + "y": -0.338836669921875 + }, + { + "x": -0.0080413818359375, + "y": -0.086639404296875 + }, + { + "x": -0.114166259765625, + "y": -0.307342529296875 + }, + { + "x": 0.0131683349609375, + "y": -0.142242431640625 + }, + { + "x": -0.497100830078125, + "y": 0.153564453125 + }, + { + "x": -0.791107177734375, + "y": 0.158111572265625 + }, + { + "x": 0.05440521240234375, + "y": 0.221435546875 + }, + { + "x": 0.10242462158203125, + "y": -0.23577880859375 + }, + { + "x": 0.3367919921875, + "y": -0.204681396484375 + }, + { + "x": 0.0324249267578125, + "y": -0.160003662109375 + }, + { + "x": 0.077301025390625, + "y": -0.033477783203125 + }, + { + "x": -0.3355560302734375, + "y": -0.17645263671875 + }, + { + "x": -0.538909912109375, + "y": -0.016632080078125 + }, + { + "x": 0.2358856201171875, + "y": -0.20159912109375 + }, + { + "x": 0.44829559326171875, + "y": 0.1334228515625 + }, + { + "x": -0.0123138427734375, + "y": -0.05462646484375 + }, + { + "x": 0.2397918701171875, + "y": 0.04833984375 + }, + { + "x": -0.20977783203125, + "y": 0.02667236328125 + }, + { + "x": -0.1512603759765625, + "y": 0.173583984375 + }, + { + "x": -0.72601318359375, + "y": 0.0069580078125 + }, + { + "x": 0.0330963134765625, + "y": -0.1033935546875 + }, + { + "x": -0.276885986328125, + "y": -0.1881103515625 + }, + { + "x": 0.2167816162109375, + "y": -0.00152587890625 + }, + { + "x": 0.06475830078125, + "y": -0.3212890625 + }, + { + "x": 0.2828369140625, + "y": 0.18524169921875 + }, + { + "x": -0.0356597900390625, + "y": -0.25927734375 + }, + { + "x": -0.24188232421875, + "y": 0.1173095703125 + }, + { + "x": -0.33795928955078125, + "y": 0.1114501953125 + }, + { + "x": 0.0941009521484375, + "y": 0.178955078125 + }, + { + "x": 0.1553497314453125, + "y": -0.13201904296875 + }, + { + "x": 0.311737060546875, + "y": 0.05352783203125 + }, + { + "x": 0.0947113037109375, + "y": -0.188232421875 + }, + { + "x": 0.0484771728515625, + "y": 0.10577392578125 + }, + { + "x": -0.5301513671875, + "y": 0.1171875 + }, + { + "x": -0.38475799560546875, + "y": 0.275390625 + }, + { + "x": -0.168609619140625, + "y": -0.05426025390625 + }, + { + "x": 0.35791015625, + "y": -0.1171875 + }, + { + "x": 0.154937744140625, + "y": -0.31097412109375 + }, + { + "x": 0.361175537109375, + "y": 0.0765380859375 + }, + { + "x": -0.3380279541015625, + "y": -0.118896484375 + }, + { + "x": 0.0989990234375, + "y": 0.23602294921875 + }, + { + "x": -1.3696174621582031, + "y": 0.51434326171875 + }, + { + "x": -0.5437088012695312, + "y": 0.22479248046875 + }, + { + "x": 0.0395050048828125, + "y": -0.135986328125 + }, + { + "x": 0.218719482421875, + "y": 0.04827880859375 + }, + { + "x": 0.3044891357421875, + "y": -0.27386474609375 + }, + { + "x": 0.48138427734375, + "y": 0.05987548828125 + }, + { + "x": -0.40631103515625, + "y": -0.0350341796875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.48269127081343793, + "y": 0.07812716013436416, + "z": 0.7518511527043441 + }, + "rotation": { + "quaternion": { + "W": 0.9817809494792297, + "X": -0.18186448090651755, + "Y": -0.04554299360380516, + "Z": -0.030940484124670615 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img30.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img30.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 217.2650604248047, + "y": 486.75677490234375 + }, + { + "x": 247.2993621826172, + "y": 485.17376708984375 + }, + { + "x": 277.2634582519531, + "y": 484.65838623046875 + }, + { + "x": 307.093994140625, + "y": 483.14849853515625 + }, + { + "x": 337.01544189453125, + "y": 482.3503112792969 + }, + { + "x": 367.00225830078125, + "y": 481.5397033691406 + }, + { + "x": 396.51336669921875, + "y": 480.6362609863281 + }, + { + "x": 212.81394958496094, + "y": 515.8314819335938 + }, + { + "x": 242.86460876464844, + "y": 514.6979370117188 + }, + { + "x": 273.1593322753906, + "y": 513.3873901367188 + }, + { + "x": 303.16778564453125, + "y": 512.5931396484375 + }, + { + "x": 333.71728515625, + "y": 511.3836669921875 + }, + { + "x": 364.0803527832031, + "y": 510.11309814453125 + }, + { + "x": 393.9928894042969, + "y": 509.23199462890625 + }, + { + "x": 207.43470764160156, + "y": 545.4456787109375 + }, + { + "x": 238.5841064453125, + "y": 544.0482788085938 + }, + { + "x": 268.964599609375, + "y": 543.2718505859375 + }, + { + "x": 299.4325866699219, + "y": 541.8180541992188 + }, + { + "x": 330.1663818359375, + "y": 541.1082763671875 + }, + { + "x": 360.7576904296875, + "y": 539.9816284179688 + }, + { + "x": 391.36700439453125, + "y": 538.9552612304688 + }, + { + "x": 202.63427734375, + "y": 576.1669921875 + }, + { + "x": 233.4680938720703, + "y": 575.175537109375 + }, + { + "x": 264.2557373046875, + "y": 574.0662231445312 + }, + { + "x": 295.3117980957031, + "y": 572.92431640625 + }, + { + "x": 326.7501525878906, + "y": 571.9099731445312 + }, + { + "x": 357.8332214355469, + "y": 570.5580444335938 + }, + { + "x": 388.3082275390625, + "y": 569.3761596679688 + }, + { + "x": 197.53121948242188, + "y": 607.1929321289062 + }, + { + "x": 228.90185546875, + "y": 606.0697021484375 + }, + { + "x": 260.0036315917969, + "y": 605.0672607421875 + }, + { + "x": 291.6605529785156, + "y": 604.041259765625 + }, + { + "x": 322.795166015625, + "y": 603.0489501953125 + }, + { + "x": 354.045166015625, + "y": 601.6106567382812 + }, + { + "x": 385.8067932128906, + "y": 600.808837890625 + }, + { + "x": 192.22938537597656, + "y": 639.3231201171875 + }, + { + "x": 224.12608337402344, + "y": 638.1734619140625 + }, + { + "x": 255.60415649414062, + "y": 637.3455810546875 + }, + { + "x": 287.68829345703125, + "y": 636.12548828125 + }, + { + "x": 319.2646484375, + "y": 634.89306640625 + }, + { + "x": 351.23162841796875, + "y": 633.8656005859375 + }, + { + "x": 382.6965026855469, + "y": 632.7608642578125 + }, + { + "x": 187.11329650878906, + "y": 672.1325073242188 + }, + { + "x": 219.1363525390625, + "y": 671.005126953125 + }, + { + "x": 250.9119415283203, + "y": 670.2308349609375 + }, + { + "x": 283.16094970703125, + "y": 668.9999389648438 + }, + { + "x": 315.96258544921875, + "y": 667.5772705078125 + }, + { + "x": 347.7076416015625, + "y": 666.6961669921875 + }, + { + "x": 380.04058837890625, + "y": 665.7803955078125 + } + ], + "reprojectionErrors": [ + { + "x": 0.33563232421875, + "y": -0.172637939453125 + }, + { + "x": 0.07843017578125, + "y": 0.373046875 + }, + { + "x": -0.10150146484375, + "y": -0.143280029296875 + }, + { + "x": -0.142608642578125, + "y": 0.340606689453125 + }, + { + "x": -0.271087646484375, + "y": 0.118560791015625 + }, + { + "x": -0.463226318359375, + "y": -0.085235595703125 + }, + { + "x": -0.1796875, + "y": -0.1903076171875 + }, + { + "x": -0.0708465576171875, + "y": -0.27374267578125 + }, + { + "x": 0.0401763916015625, + "y": -0.19140625 + }, + { + "x": -0.085662841796875, + "y": 0.07305908203125 + }, + { + "x": 0.08013916015625, + "y": -0.17352294921875 + }, + { + "x": -0.29150390625, + "y": 3.662109375E-4 + }, + { + "x": -0.474945068359375, + "y": 0.240631103515625 + }, + { + "x": -0.207916259765625, + "y": 0.09686279296875 + }, + { + "x": 0.3310546875, + "y": -0.15289306640625 + }, + { + "x": -0.2625274658203125, + "y": 0.1790771484375 + }, + { + "x": -0.079803466796875, + "y": -0.10528564453125 + }, + { + "x": 0.020904541015625, + "y": 0.2923583984375 + }, + { + "x": -0.140533447265625, + "y": -0.04925537109375 + }, + { + "x": -0.157684326171875, + "y": 0.03076171875 + }, + { + "x": -0.19293212890625, + "y": 0.015380859375 + }, + { + "x": 0.02984619140625, + "y": -0.348876953125 + }, + { + "x": 0.1559600830078125, + "y": -0.4373779296875 + }, + { + "x": 0.335784912109375, + "y": -0.404052734375 + }, + { + "x": 0.252838134765625, + "y": -0.333984375 + }, + { + "x": -0.20867919921875, + "y": -0.38726806640625 + }, + { + "x": -0.3131103515625, + "y": -0.09881591796875 + }, + { + "x": 0.1904296875, + "y": 0.02392578125 + }, + { + "x": -0.0977630615234375, + "y": -0.02880859375 + }, + { + "x": -0.0940399169921875, + "y": -5.4931640625E-4 + }, + { + "x": 0.186279296875, + "y": -0.089599609375 + }, + { + "x": -0.082794189453125, + "y": -0.151611328125 + }, + { + "x": 0.17425537109375, + "y": -0.24371337890625 + }, + { + "x": 0.3177490234375, + "y": 0.11376953125 + }, + { + "x": -0.050537109375, + "y": -0.1614990234375 + }, + { + "x": -0.1606292724609375, + "y": 0.03948974609375 + }, + { + "x": -0.2577972412109375, + "y": 0.07879638671875 + }, + { + "x": 0.0715789794921875, + "y": -0.2008056640625 + }, + { + "x": -0.19921875, + "y": -0.0853271484375 + }, + { + "x": 0.0416259765625, + "y": 0.04534912109375 + }, + { + "x": -0.10626220703125, + "y": -0.02581787109375 + }, + { + "x": 0.247802734375, + "y": -0.0167236328125 + }, + { + "x": -0.548553466796875, + "y": 0.31463623046875 + }, + { + "x": -0.33575439453125, + "y": 0.31591796875 + }, + { + "x": 0.13262939453125, + "y": -0.03375244140625 + }, + { + "x": 0.13360595703125, + "y": 0.07537841796875 + }, + { + "x": -0.4140625, + "y": 0.3785400390625 + }, + { + "x": 0.096710205078125, + "y": 0.14251708984375 + }, + { + "x": 0.0194091796875, + "y": -0.056396484375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.3851785528192379, + "y": 0.08192393557241352, + "z": 0.771525267369858 + }, + "rotation": { + "quaternion": { + "W": 0.9803035976554553, + "X": -0.19675546475315617, + "Y": 0.0022410292191522544, + "Z": -0.01694465407081693 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img31.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img31.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 298.0152893066406, + "y": 488.18505859375 + }, + { + "x": 326.2765808105469, + "y": 486.8485412597656 + }, + { + "x": 355.3065490722656, + "y": 486.38006591796875 + }, + { + "x": 384.4931640625, + "y": 485.36602783203125 + }, + { + "x": 413.53717041015625, + "y": 484.5708923339844 + }, + { + "x": 442.1795654296875, + "y": 483.6810607910156 + }, + { + "x": 471.540771484375, + "y": 483.131591796875 + }, + { + "x": 293.76611328125, + "y": 516.2818603515625 + }, + { + "x": 322.9668273925781, + "y": 515.7915649414062 + }, + { + "x": 351.96575927734375, + "y": 514.8438110351562 + }, + { + "x": 381.4953918457031, + "y": 513.852294921875 + }, + { + "x": 410.9643249511719, + "y": 513.3147583007812 + }, + { + "x": 440.119873046875, + "y": 512.241455078125 + }, + { + "x": 469.7461242675781, + "y": 511.2363586425781 + }, + { + "x": 289.63421630859375, + "y": 545.9586181640625 + }, + { + "x": 319.0014953613281, + "y": 545.0677490234375 + }, + { + "x": 348.7092590332031, + "y": 544.11669921875 + }, + { + "x": 378.3222961425781, + "y": 543.0737915039062 + }, + { + "x": 408.1039123535156, + "y": 542.2410278320312 + }, + { + "x": 437.8642883300781, + "y": 541.2906494140625 + }, + { + "x": 467.2633056640625, + "y": 540.771484375 + }, + { + "x": 284.89031982421875, + "y": 575.90234375 + }, + { + "x": 315.5907287597656, + "y": 574.6886596679688 + }, + { + "x": 345.1868591308594, + "y": 573.9993286132812 + }, + { + "x": 374.9335632324219, + "y": 573.5219116210938 + }, + { + "x": 405.04095458984375, + "y": 572.3734130859375 + }, + { + "x": 435.3672790527344, + "y": 571.2489624023438 + }, + { + "x": 465.6831970214844, + "y": 570.8449096679688 + }, + { + "x": 280.833740234375, + "y": 606.3905029296875 + }, + { + "x": 310.82293701171875, + "y": 605.2959594726562 + }, + { + "x": 341.6230163574219, + "y": 604.5250854492188 + }, + { + "x": 371.7877197265625, + "y": 603.5862426757812 + }, + { + "x": 402.39208984375, + "y": 603.0668334960938 + }, + { + "x": 432.9201965332031, + "y": 602.0 + }, + { + "x": 463.51263427734375, + "y": 601.2948608398438 + }, + { + "x": 276.0095520019531, + "y": 637.6858520507812 + }, + { + "x": 307.0419616699219, + "y": 637.3240356445312 + }, + { + "x": 337.6717224121094, + "y": 636.2988891601562 + }, + { + "x": 368.80499267578125, + "y": 635.6689453125 + }, + { + "x": 399.1158447265625, + "y": 634.3788452148438 + }, + { + "x": 430.099365234375, + "y": 634.1114501953125 + }, + { + "x": 461.176513671875, + "y": 633.0159301757812 + }, + { + "x": 271.9211730957031, + "y": 670.0745239257812 + }, + { + "x": 302.7412109375, + "y": 669.3719482421875 + }, + { + "x": 334.29730224609375, + "y": 668.4061889648438 + }, + { + "x": 364.9033203125, + "y": 667.765380859375 + }, + { + "x": 396.185546875, + "y": 667.104736328125 + }, + { + "x": 427.3595886230469, + "y": 666.00830078125 + }, + { + "x": 459.0074157714844, + "y": 665.4730224609375 + } + ], + "reprojectionErrors": [ + { + "x": -0.152130126953125, + "y": -0.028594970703125 + }, + { + "x": 0.34869384765625, + "y": 0.40740966796875 + }, + { + "x": 0.15020751953125, + "y": -0.02117919921875 + }, + { + "x": -0.137054443359375, + "y": 0.099334716796875 + }, + { + "x": -0.215240478515625, + "y": 0.0045166015625 + }, + { + "x": 0.173126220703125, + "y": 0.008056640625 + }, + { + "x": -0.0938720703125, + "y": -0.325042724609375 + }, + { + "x": -0.0162353515625, + "y": 0.2822265625 + }, + { + "x": -0.09716796875, + "y": -0.108154296875 + }, + { + "x": 0.09478759765625, + "y": -0.03802490234375 + }, + { + "x": -0.17437744140625, + "y": 0.078857421875 + }, + { + "x": -0.314727783203125, + "y": -0.255126953125 + }, + { + "x": -0.075164794921875, + "y": -0.0501708984375 + }, + { + "x": -0.241241455078125, + "y": 0.089874267578125 + }, + { + "x": -0.09600830078125, + "y": -0.25982666015625 + }, + { + "x": 0.022735595703125, + "y": -0.2283935546875 + }, + { + "x": -0.126129150390625, + "y": -0.13433837890625 + }, + { + "x": -0.108917236328125, + "y": 0.05413818359375 + }, + { + "x": -0.190460205078125, + "y": 0.03509521484375 + }, + { + "x": -0.1824951171875, + "y": 0.1363525390625 + }, + { + "x": 0.253509521484375, + "y": -0.19085693359375 + }, + { + "x": 0.334197998046875, + "y": -0.31494140625 + }, + { + "x": -0.505096435546875, + "y": 0.0618896484375 + }, + { + "x": -0.16534423828125, + "y": -0.08367919921875 + }, + { + "x": 0.097015380859375, + "y": -0.43914794921875 + }, + { + "x": 0.070281982421875, + "y": -0.12139892578125 + }, + { + "x": -0.10540771484375, + "y": 0.1744384765625 + }, + { + "x": -0.2022705078125, + "y": -0.24798583984375 + }, + { + "x": -0.028717041015625, + "y": -0.132568359375 + }, + { + "x": 0.227508544921875, + "y": 0.14923095703125 + }, + { + "x": -0.25042724609375, + "y": 0.1087646484375 + }, + { + "x": -0.0179443359375, + "y": 0.23773193359375 + }, + { + "x": -0.15167236328125, + "y": -0.0511474609375 + }, + { + "x": -0.1373291015625, + "y": 0.20892333984375 + }, + { + "x": -0.117156982421875, + "y": 0.10894775390625 + }, + { + "x": 0.26617431640625, + "y": 0.05413818359375 + }, + { + "x": -0.126922607421875, + "y": -0.37115478515625 + }, + { + "x": -0.0386962890625, + "y": -0.13226318359375 + }, + { + "x": -0.376983642578125, + "y": -0.28759765625 + }, + { + "x": 0.182586669921875, + "y": 0.2181396484375 + }, + { + "x": 0.14312744140625, + "y": -0.2978515625 + }, + { + "x": 0.08209228515625, + "y": 0.015380859375 + }, + { + "x": -0.2886962890625, + "y": -0.01007080078125 + }, + { + "x": -0.065673828125, + "y": -0.06719970703125 + }, + { + "x": -0.4979248046875, + "y": 0.13909912109375 + }, + { + "x": 0.09893798828125, + "y": 0.020751953125 + }, + { + "x": 0.09698486328125, + "y": -0.07745361328125 + }, + { + "x": 0.27886962890625, + "y": 0.26055908203125 + }, + { + "x": 0.060882568359375, + "y": 0.03790283203125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.3234878693146783, + "y": 0.08504157138245273, + "z": 0.7879600805213841 + }, + "rotation": { + "quaternion": { + "W": 0.9804142688522168, + "X": -0.19557367528737366, + "Y": 0.018909119806386362, + "Z": -0.013462694890318826 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img32.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img32.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 445.9107666015625, + "y": 485.6858215332031 + }, + { + "x": 475.0506286621094, + "y": 485.28997802734375 + }, + { + "x": 504.1628112792969, + "y": 484.7347412109375 + }, + { + "x": 533.1533203125, + "y": 484.2339172363281 + }, + { + "x": 562.5362548828125, + "y": 483.9900817871094 + }, + { + "x": 591.8865966796875, + "y": 483.4114685058594 + }, + { + "x": 621.0489501953125, + "y": 483.00244140625 + }, + { + "x": 443.3556213378906, + "y": 514.3892211914062 + }, + { + "x": 473.0864562988281, + "y": 513.863037109375 + }, + { + "x": 502.091552734375, + "y": 513.9090576171875 + }, + { + "x": 532.02392578125, + "y": 513.0158081054688 + }, + { + "x": 560.84130859375, + "y": 512.6198120117188 + }, + { + "x": 590.9305419921875, + "y": 512.178466796875 + }, + { + "x": 620.38427734375, + "y": 511.9419250488281 + }, + { + "x": 440.94647216796875, + "y": 543.9444580078125 + }, + { + "x": 470.9561462402344, + "y": 543.1276245117188 + }, + { + "x": 500.3642578125, + "y": 543.0197143554688 + }, + { + "x": 530.2420043945312, + "y": 542.6013793945312 + }, + { + "x": 560.1339111328125, + "y": 541.9461669921875 + }, + { + "x": 589.8956298828125, + "y": 541.8873291015625 + }, + { + "x": 620.1837158203125, + "y": 541.248046875 + }, + { + "x": 438.0282287597656, + "y": 573.7192993164062 + }, + { + "x": 468.3343811035156, + "y": 573.64990234375 + }, + { + "x": 498.4562072753906, + "y": 573.1890258789062 + }, + { + "x": 528.8013916015625, + "y": 572.9652709960938 + }, + { + "x": 558.9087524414062, + "y": 572.6277465820312 + }, + { + "x": 589.3380126953125, + "y": 571.951416015625 + }, + { + "x": 619.5919189453125, + "y": 571.6492309570312 + }, + { + "x": 435.46624755859375, + "y": 604.782470703125 + }, + { + "x": 466.1126708984375, + "y": 604.5842895507812 + }, + { + "x": 496.44158935546875, + "y": 604.105712890625 + }, + { + "x": 526.9122314453125, + "y": 603.5372924804688 + }, + { + "x": 557.8582763671875, + "y": 603.26025390625 + }, + { + "x": 588.08251953125, + "y": 603.017822265625 + }, + { + "x": 619.1157836914062, + "y": 602.7426147460938 + }, + { + "x": 432.52923583984375, + "y": 636.2888793945312 + }, + { + "x": 463.7735595703125, + "y": 636.0591430664062 + }, + { + "x": 494.2967834472656, + "y": 635.94677734375 + }, + { + "x": 525.623779296875, + "y": 635.4969482421875 + }, + { + "x": 556.2269287109375, + "y": 635.1170654296875 + }, + { + "x": 587.4072265625, + "y": 634.978759765625 + }, + { + "x": 618.3560180664062, + "y": 634.40673828125 + }, + { + "x": 429.9490661621094, + "y": 669.1782836914062 + }, + { + "x": 460.8840637207031, + "y": 668.3089599609375 + }, + { + "x": 492.3096008300781, + "y": 668.332275390625 + }, + { + "x": 523.8583374023438, + "y": 667.9584350585938 + }, + { + "x": 555.0789794921875, + "y": 667.7975463867188 + }, + { + "x": 586.2626953125, + "y": 667.4850463867188 + }, + { + "x": 617.820556640625, + "y": 667.1261596679688 + } + ], + "reprojectionErrors": [ + { + "x": 0.14569091796875, + "y": 0.1053466796875 + }, + { + "x": -0.04541015625, + "y": 0.006988525390625 + }, + { + "x": -0.11883544921875, + "y": 0.071563720703125 + }, + { + "x": 0.01806640625, + "y": 0.085357666015625 + }, + { + "x": -0.150146484375, + "y": -0.154205322265625 + }, + { + "x": -0.19976806640625, + "y": -0.0552978515625 + }, + { + "x": 0.023193359375, + "y": -0.12225341796875 + }, + { + "x": 0.161407470703125, + "y": 0.0706787109375 + }, + { + "x": -0.280548095703125, + "y": 0.13970947265625 + }, + { + "x": 0.095367431640625, + "y": -0.36029052734375 + }, + { + "x": -0.365234375, + "y": 0.08209228515625 + }, + { + "x": 0.3785400390625, + "y": 0.030517578125 + }, + { + "x": -0.06146240234375, + "y": 0.02752685546875 + }, + { + "x": 0.2205810546875, + "y": -0.177001953125 + }, + { + "x": -0.025634765625, + "y": -0.12445068359375 + }, + { + "x": -0.398651123046875, + "y": 0.27423095703125 + }, + { + "x": -0.0758056640625, + "y": -0.03326416015625 + }, + { + "x": -0.129638671875, + "y": -0.02764892578125 + }, + { + "x": -0.1060791015625, + "y": 0.2176513671875 + }, + { + "x": 0.1378173828125, + "y": -0.130615234375 + }, + { + "x": -0.05596923828125, + "y": 0.1043701171875 + }, + { + "x": 0.23773193359375, + "y": 0.176025390625 + }, + { + "x": -0.07611083984375, + "y": -0.13165283203125 + }, + { + "x": -0.1090087890625, + "y": -0.045654296875 + }, + { + "x": -0.27008056640625, + "y": -0.1944580078125 + }, + { + "x": -0.099609375, + "y": -0.2271728515625 + }, + { + "x": -0.15863037109375, + "y": 0.08123779296875 + }, + { + "x": 0.04852294921875, + "y": 0.01788330078125 + }, + { + "x": 0.0841064453125, + "y": -0.07177734375 + }, + { + "x": -0.2061767578125, + "y": -0.20745849609375 + }, + { + "x": -0.079986572265625, + "y": -0.06103515625 + }, + { + "x": 0.00201416015625, + "y": 0.1771240234375 + }, + { + "x": -0.29534912109375, + "y": 0.12567138671875 + }, + { + "x": 0.22369384765625, + "y": 0.04150390625 + }, + { + "x": 0.02685546875, + "y": -0.008056640625 + }, + { + "x": 0.242645263671875, + "y": 0.0032958984375 + }, + { + "x": -0.27325439453125, + "y": -0.05535888671875 + }, + { + "x": 0.033355712890625, + "y": -0.23004150390625 + }, + { + "x": -0.3638916015625, + "y": -0.0660400390625 + }, + { + "x": 0.06121826171875, + "y": 0.02935791015625 + }, + { + "x": 0.006103515625, + "y": -0.115478515625 + }, + { + "x": 0.27789306640625, + "y": 0.1748046875 + }, + { + "x": -0.020751953125, + "y": -0.51116943359375 + }, + { + "x": 0.153717041015625, + "y": 0.11767578125 + }, + { + "x": -0.05841064453125, + "y": -0.14532470703125 + }, + { + "x": -0.29132080078125, + "y": -0.01043701171875 + }, + { + "x": -0.09515380859375, + "y": -0.087646484375 + }, + { + "x": 0.23724365234375, + "y": -0.01251220703125 + }, + { + "x": 0.2933349609375, + "y": 0.10986328125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.19373126025673684, + "y": 0.0826763175834795, + "z": 0.7851063542521449 + }, + "rotation": { + "quaternion": { + "W": 0.982715119341189, + "X": -0.18351986763893513, + "Y": 0.023489661586781656, + "Z": -0.006299857026848154 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img33.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img33.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 514.9373779296875, + "y": 487.533203125 + }, + { + "x": 542.8197631835938, + "y": 486.66448974609375 + }, + { + "x": 571.3569946289062, + "y": 485.8155822753906 + }, + { + "x": 656.8743286132812, + "y": 483.9308776855469 + }, + { + "x": 685.7111206054688, + "y": 483.0598449707031 + }, + { + "x": 513.1896362304688, + "y": 515.8611450195312 + }, + { + "x": 541.8147583007812, + "y": 515.2260131835938 + }, + { + "x": 570.1434326171875, + "y": 514.6725463867188 + }, + { + "x": 656.87939453125, + "y": 512.466552734375 + }, + { + "x": 685.905029296875, + "y": 511.8726501464844 + }, + { + "x": 512.0287475585938, + "y": 544.9398193359375 + }, + { + "x": 540.7593383789062, + "y": 543.8438720703125 + }, + { + "x": 569.2324829101562, + "y": 543.4896850585938 + }, + { + "x": 598.2288818359375, + "y": 543.0392456054688 + }, + { + "x": 627.5642700195312, + "y": 542.153564453125 + }, + { + "x": 656.7699584960938, + "y": 541.93505859375 + }, + { + "x": 686.3088989257812, + "y": 541.0078735351562 + }, + { + "x": 510.1501770019531, + "y": 574.214111328125 + }, + { + "x": 539.4375610351562, + "y": 573.8636474609375 + }, + { + "x": 568.5711059570312, + "y": 573.1746826171875 + }, + { + "x": 597.7027587890625, + "y": 572.884033203125 + }, + { + "x": 627.0684204101562, + "y": 572.2135009765625 + }, + { + "x": 656.7207641601562, + "y": 572.0994873046875 + }, + { + "x": 686.156494140625, + "y": 570.99365234375 + }, + { + "x": 508.7259216308594, + "y": 604.65283203125 + }, + { + "x": 538.0548095703125, + "y": 604.1300048828125 + }, + { + "x": 567.53759765625, + "y": 603.4151000976562 + }, + { + "x": 597.1693725585938, + "y": 602.8289794921875 + }, + { + "x": 626.6693115234375, + "y": 602.8636474609375 + }, + { + "x": 656.7664184570312, + "y": 602.0836791992188 + }, + { + "x": 686.8242797851562, + "y": 601.9028930664062 + }, + { + "x": 507.0730285644531, + "y": 635.4686279296875 + }, + { + "x": 536.8565673828125, + "y": 635.0955810546875 + }, + { + "x": 566.3881225585938, + "y": 634.6853637695312 + }, + { + "x": 596.4487915039062, + "y": 634.4724731445312 + }, + { + "x": 626.0707397460938, + "y": 633.89892578125 + }, + { + "x": 656.8082885742188, + "y": 633.4898071289062 + }, + { + "x": 687.0762939453125, + "y": 633.1289672851562 + }, + { + "x": 505.5643005371094, + "y": 666.8301391601562 + }, + { + "x": 535.32275390625, + "y": 666.3462524414062 + }, + { + "x": 565.4957885742188, + "y": 666.3102416992188 + }, + { + "x": 595.6651611328125, + "y": 665.7694702148438 + }, + { + "x": 626.0537719726562, + "y": 665.827392578125 + }, + { + "x": 656.6486206054688, + "y": 665.33935546875 + }, + { + "x": 687.487060546875, + "y": 665.1360473632812 + } + ], + "reprojectionErrors": [ + { + "x": -0.0870361328125, + "y": 0.115081787109375 + }, + { + "x": 0.0482177734375, + "y": 0.19989013671875 + }, + { + "x": -0.28509521484375, + "y": 0.263824462890625 + }, + { + "x": 0.185546875, + "y": 0.0811767578125 + }, + { + "x": -0.13934326171875, + "y": 0.01708984375 + }, + { + "x": 0.02227783203125, + "y": -0.12969970703125 + }, + { + "x": -0.1004638671875, + "y": -0.0306396484375 + }, + { + "x": 0.126220703125, + "y": -0.14093017578125 + }, + { + "x": 0.01129150390625, + "y": 0.11083984375 + }, + { + "x": -0.0087890625, + "y": -0.0516357421875 + }, + { + "x": -0.1734619140625, + "y": 0.2200927734375 + }, + { + "x": -0.01385498046875, + "y": -0.17633056640625 + }, + { + "x": 0.00714111328125, + "y": 0.13494873046875 + }, + { + "x": 0.194305419921875, + "y": 0.0938720703125 + }, + { + "x": -0.2115478515625, + "y": -0.07421875 + }, + { + "x": -0.2655029296875, + "y": 0.09515380859375 + }, + { + "x": -0.119384765625, + "y": -0.13482666015625 + }, + { + "x": -0.00872802734375, + "y": 0.0140380859375 + }, + { + "x": 0.0137939453125, + "y": -0.39459228515625 + }, + { + "x": 0.4517822265625, + "y": 0.18768310546875 + }, + { + "x": 0.06146240234375, + "y": -0.238525390625 + }, + { + "x": -0.08685302734375, + "y": -0.137939453125 + }, + { + "x": -0.1868896484375, + "y": 0.15374755859375 + }, + { + "x": -0.23345947265625, + "y": 0.3155517578125 + }, + { + "x": 0.054443359375, + "y": -0.14434814453125 + }, + { + "x": -0.052001953125, + "y": 0.20941162109375 + }, + { + "x": 0.0838623046875, + "y": -0.03704833984375 + }, + { + "x": 0.12835693359375, + "y": -0.30810546875 + }, + { + "x": -0.16973876953125, + "y": -0.2567138671875 + }, + { + "x": -0.0093994140625, + "y": -0.16912841796875 + }, + { + "x": -0.1715087890625, + "y": -0.27984619140625 + }, + { + "x": 0.3121337890625, + "y": -0.0308837890625 + }, + { + "x": -0.11260986328125, + "y": 0.052734375 + }, + { + "x": 0.1395263671875, + "y": 0.08709716796875 + }, + { + "x": 0.02130126953125, + "y": -0.26434326171875 + }, + { + "x": 0.05914306640625, + "y": 0.0029296875 + }, + { + "x": -0.10675048828125, + "y": -0.17864990234375 + }, + { + "x": -0.05792236328125, + "y": 0.14361572265625 + }, + { + "x": -0.016845703125, + "y": -0.1336669921875 + }, + { + "x": 0.02972412109375, + "y": 0.134033203125 + }, + { + "x": 0.0445556640625, + "y": 0.11614990234375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.13720628553462874, + "y": 0.08628278513664031, + "z": 0.8036528076434685 + }, + "rotation": { + "quaternion": { + "W": 0.9854565470797249, + "X": -0.16120548578968721, + "Y": 0.05269912978403881, + "Z": -0.010535031514994015 + } + } + }, + "cornersUsed": [ + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img34.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img34.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 576.999755859375, + "y": 491.8504638671875 + }, + { + "x": 604.8173217773438, + "y": 490.4519958496094 + }, + { + "x": 633.0787353515625, + "y": 489.69921875 + }, + { + "x": 661.05908203125, + "y": 488.37713623046875 + }, + { + "x": 689.5553588867188, + "y": 487.34661865234375 + }, + { + "x": 718.0106201171875, + "y": 486.5238342285156 + }, + { + "x": 746.2620239257812, + "y": 485.63043212890625 + }, + { + "x": 576.4215698242188, + "y": 519.5794677734375 + }, + { + "x": 604.6448364257812, + "y": 518.3926391601562 + }, + { + "x": 632.9362182617188, + "y": 517.2913208007812 + }, + { + "x": 661.582275390625, + "y": 516.237548828125 + }, + { + "x": 689.6740112304688, + "y": 515.1122436523438 + }, + { + "x": 718.638916015625, + "y": 514.7924194335938 + }, + { + "x": 747.8279418945312, + "y": 513.694091796875 + }, + { + "x": 575.73193359375, + "y": 547.5032348632812 + }, + { + "x": 604.380615234375, + "y": 546.97509765625 + }, + { + "x": 632.7930908203125, + "y": 546.0355224609375 + }, + { + "x": 661.7904663085938, + "y": 544.8470458984375 + }, + { + "x": 690.680908203125, + "y": 544.0266723632812 + }, + { + "x": 719.7085571289062, + "y": 543.0751953125 + }, + { + "x": 749.1823120117188, + "y": 541.9201049804688 + }, + { + "x": 575.0922241210938, + "y": 576.8989868164062 + }, + { + "x": 604.1271362304688, + "y": 575.8463745117188 + }, + { + "x": 632.767578125, + "y": 574.8290405273438 + }, + { + "x": 662.003173828125, + "y": 574.0850219726562 + }, + { + "x": 691.2882690429688, + "y": 573.1632690429688 + }, + { + "x": 720.8038330078125, + "y": 572.393798828125 + }, + { + "x": 750.234619140625, + "y": 571.8935546875 + }, + { + "x": 574.2808837890625, + "y": 606.3775024414062 + }, + { + "x": 603.61083984375, + "y": 605.3809204101562 + }, + { + "x": 632.8770141601562, + "y": 604.7683715820312 + }, + { + "x": 661.9722900390625, + "y": 603.6241455078125 + }, + { + "x": 691.9779663085938, + "y": 603.0826416015625 + }, + { + "x": 721.4807739257812, + "y": 602.24365234375 + }, + { + "x": 751.6119384765625, + "y": 601.9181518554688 + }, + { + "x": 573.2008666992188, + "y": 636.8439331054688 + }, + { + "x": 603.1663818359375, + "y": 635.9760131835938 + }, + { + "x": 632.5702514648438, + "y": 635.1527709960938 + }, + { + "x": 662.5609130859375, + "y": 634.7568359375 + }, + { + "x": 692.3099975585938, + "y": 633.9140625 + }, + { + "x": 722.75927734375, + "y": 633.4819946289062 + }, + { + "x": 752.8624267578125, + "y": 632.626708984375 + }, + { + "x": 572.7973022460938, + "y": 668.0095825195312 + }, + { + "x": 602.968505859375, + "y": 667.3123779296875 + }, + { + "x": 632.7289428710938, + "y": 666.8214111328125 + }, + { + "x": 662.91845703125, + "y": 666.0223388671875 + }, + { + "x": 693.40283203125, + "y": 665.0953979492188 + }, + { + "x": 723.5831298828125, + "y": 664.8662109375 + }, + { + "x": 754.6450805664062, + "y": 664.030517578125 + } + ], + "reprojectionErrors": [ + { + "x": 0.04803466796875, + "y": -0.171051025390625 + }, + { + "x": 0.0853271484375, + "y": 0.17510986328125 + }, + { + "x": -0.16363525390625, + "y": -0.125701904296875 + }, + { + "x": 0.0257568359375, + "y": 0.14154052734375 + }, + { + "x": -0.1436767578125, + "y": 0.116058349609375 + }, + { + "x": -0.115478515625, + "y": -0.118316650390625 + }, + { + "x": 0.27294921875, + "y": -0.28314208984375 + }, + { + "x": -0.04156494140625, + "y": -0.19976806640625 + }, + { + "x": -0.09991455078125, + "y": 7.32421875E-4 + }, + { + "x": -0.0653076171875, + "y": 0.11431884765625 + }, + { + "x": -0.2244873046875, + "y": 0.17889404296875 + }, + { + "x": 0.33123779296875, + "y": 0.3135986328125 + }, + { + "x": 0.1739501953125, + "y": -0.35845947265625 + }, + { + "x": -0.04754638671875, + "y": -0.25335693359375 + }, + { + "x": -0.03204345703125, + "y": 0.20513916015625 + }, + { + "x": -0.19915771484375, + "y": -0.18377685546875 + }, + { + "x": 0.03460693359375, + "y": -0.162841796875 + }, + { + "x": -0.1519775390625, + "y": 0.1053466796875 + }, + { + "x": -0.06744384765625, + "y": 0.00390625 + }, + { + "x": 0.04376220703125, + "y": 0.031982421875 + }, + { + "x": -0.1275634765625, + "y": 0.26226806640625 + }, + { + "x": -0.0850830078125, + "y": -0.21343994140625 + }, + { + "x": -0.3150634765625, + "y": -0.00506591796875 + }, + { + "x": 0.0179443359375, + "y": 0.1661376953125 + }, + { + "x": -0.07598876953125, + "y": 0.06231689453125 + }, + { + "x": -0.0513916015625, + "y": 0.1343994140625 + }, + { + "x": -0.08966064453125, + "y": 0.05255126953125 + }, + { + "x": 0.12420654296875, + "y": -0.3001708984375 + }, + { + "x": 0.0203857421875, + "y": -0.04498291015625 + }, + { + "x": -0.17425537109375, + "y": 0.18365478515625 + }, + { + "x": -0.1326904296875, + "y": 0.02630615234375 + }, + { + "x": 0.2518310546875, + "y": 0.39874267578125 + }, + { + "x": -0.10211181640625, + "y": 0.16644287109375 + }, + { + "x": 0.2183837890625, + "y": 0.22979736328125 + }, + { + "x": 0.08172607421875, + "y": -0.22216796875 + }, + { + "x": 0.3809814453125, + "y": -0.17279052734375 + }, + { + "x": -0.111572265625, + "y": 0.00738525390625 + }, + { + "x": 0.1339111328125, + "y": 0.14080810546875 + }, + { + "x": -0.03125, + "y": -0.15521240234375 + }, + { + "x": 0.2210693359375, + "y": -0.0064697265625 + }, + { + "x": -0.05120849609375, + "y": -0.27056884765625 + }, + { + "x": 0.19793701171875, + "y": -0.1134033203125 + }, + { + "x": 0.05120849609375, + "y": -0.28509521484375 + }, + { + "x": -0.30194091796875, + "y": -0.19134521484375 + }, + { + "x": -0.0638427734375, + "y": -0.30615234375 + }, + { + "x": -0.074462890625, + "y": -0.1151123046875 + }, + { + "x": -0.19989013671875, + "y": 0.2015380859375 + }, + { + "x": 0.15850830078125, + "y": -0.181884765625 + }, + { + "x": -0.1851806640625, + "y": 0.0390625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.08318925219911995, + "y": 0.09121560728115019, + "z": 0.8156699147606331 + }, + "rotation": { + "quaternion": { + "W": 0.9825995746266712, + "X": -0.17903290767016986, + "Y": 0.04707816248547881, + "Z": -0.015130780932924373 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img35.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img35.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 656.686767578125, + "y": 491.6980285644531 + }, + { + "x": 684.9384155273438, + "y": 490.2799987792969 + }, + { + "x": 712.7845458984375, + "y": 488.9512023925781 + }, + { + "x": 740.8301391601562, + "y": 487.7742919921875 + }, + { + "x": 769.14111328125, + "y": 486.64599609375 + }, + { + "x": 797.9808959960938, + "y": 485.1787109375 + }, + { + "x": 826.541015625, + "y": 484.0366516113281 + }, + { + "x": 657.0137329101562, + "y": 519.3684692382812 + }, + { + "x": 685.4649658203125, + "y": 518.2120361328125 + }, + { + "x": 713.516845703125, + "y": 516.9640502929688 + }, + { + "x": 742.1949462890625, + "y": 515.89013671875 + }, + { + "x": 770.9727783203125, + "y": 514.616943359375 + }, + { + "x": 800.1429443359375, + "y": 513.1802978515625 + }, + { + "x": 828.9322509765625, + "y": 512.2527465820312 + }, + { + "x": 657.6722412109375, + "y": 547.883544921875 + }, + { + "x": 686.0237426757812, + "y": 546.2166748046875 + }, + { + "x": 714.8658447265625, + "y": 545.4640502929688 + }, + { + "x": 743.4705200195312, + "y": 543.911376953125 + }, + { + "x": 773.015380859375, + "y": 542.8202514648438 + }, + { + "x": 801.9398193359375, + "y": 541.9553833007812 + }, + { + "x": 831.1904907226562, + "y": 541.0824584960938 + }, + { + "x": 658.1607055664062, + "y": 576.562255859375 + }, + { + "x": 687.125244140625, + "y": 575.724365234375 + }, + { + "x": 715.9364013671875, + "y": 574.43359375 + }, + { + "x": 745.196533203125, + "y": 573.6456909179688 + }, + { + "x": 774.1439819335938, + "y": 572.3910522460938 + }, + { + "x": 804.06103515625, + "y": 571.5276489257812 + }, + { + "x": 833.7928466796875, + "y": 570.3331298828125 + }, + { + "x": 659.0496215820312, + "y": 606.1693115234375 + }, + { + "x": 687.917236328125, + "y": 605.0703735351562 + }, + { + "x": 717.2190551757812, + "y": 604.21484375 + }, + { + "x": 746.583251953125, + "y": 602.8736572265625 + }, + { + "x": 776.157470703125, + "y": 602.3704833984375 + }, + { + "x": 806.0067749023438, + "y": 601.212158203125 + }, + { + "x": 836.1671142578125, + "y": 600.3387451171875 + }, + { + "x": 659.1463623046875, + "y": 636.378173828125 + }, + { + "x": 689.1458129882812, + "y": 635.8251342773438 + }, + { + "x": 718.3759155273438, + "y": 634.8252563476562 + }, + { + "x": 748.1976928710938, + "y": 634.0326538085938 + }, + { + "x": 778.1615600585938, + "y": 632.9834594726562 + }, + { + "x": 808.458740234375, + "y": 632.0619506835938 + }, + { + "x": 838.8921508789062, + "y": 631.331298828125 + }, + { + "x": 659.920654296875, + "y": 667.591552734375 + }, + { + "x": 689.631103515625, + "y": 666.3998413085938 + }, + { + "x": 719.8718872070312, + "y": 665.7308959960938 + }, + { + "x": 749.7026977539062, + "y": 665.03466796875 + }, + { + "x": 780.1337890625, + "y": 664.2640380859375 + }, + { + "x": 810.407958984375, + "y": 663.1917724609375 + }, + { + "x": 841.6694946289062, + "y": 662.5011596679688 + } + ], + "reprojectionErrors": [ + { + "x": -0.16668701171875, + "y": -0.126678466796875 + }, + { + "x": -0.4390869140625, + "y": 0.0240478515625 + }, + { + "x": -0.14697265625, + "y": 0.08233642578125 + }, + { + "x": 0.10443115234375, + "y": -0.014373779296875 + }, + { + "x": 0.24884033203125, + "y": -0.162811279296875 + }, + { + "x": 0.02252197265625, + "y": 0.02471923828125 + }, + { + "x": 0.233642578125, + "y": -0.115997314453125 + }, + { + "x": 0.02960205078125, + "y": 0.00421142578125 + }, + { + "x": -0.1556396484375, + "y": -0.04052734375 + }, + { + "x": 0.220703125, + "y": 0.0029296875 + }, + { + "x": 0.1328125, + "y": -0.131103515625 + }, + { + "x": 0.1068115234375, + "y": -0.069091796875 + }, + { + "x": -0.150146484375, + "y": 0.15313720703125 + }, + { + "x": 0.134765625, + "y": -0.136962890625 + }, + { + "x": -0.09326171875, + "y": -0.13629150390625 + }, + { + "x": 0.11346435546875, + "y": 0.3985595703125 + }, + { + "x": -0.00482177734375, + "y": 0.015625 + }, + { + "x": 0.27960205078125, + "y": 0.42913818359375 + }, + { + "x": -0.21112060546875, + "y": 0.37762451171875 + }, + { + "x": 0.083251953125, + "y": 0.096435546875 + }, + { + "x": 0.2158203125, + "y": -0.18017578125 + }, + { + "x": -0.0333251953125, + "y": 0.14935302734375 + }, + { + "x": -0.1417236328125, + "y": -0.07244873046875 + }, + { + "x": 0.072265625, + "y": 0.1549072265625 + }, + { + "x": 0.00604248046875, + "y": -0.1243896484375 + }, + { + "x": 0.42095947265625, + "y": 0.059326171875 + }, + { + "x": 0.034423828125, + "y": -0.15179443359375 + }, + { + "x": 0.00103759765625, + "y": -0.0355224609375 + }, + { + "x": -0.36077880859375, + "y": 0.1136474609375 + }, + { + "x": -0.0684814453125, + "y": 0.228515625 + }, + { + "x": -0.037841796875, + "y": 0.0960693359375 + }, + { + "x": 0.1026611328125, + "y": 0.4453125 + }, + { + "x": 0.20526123046875, + "y": -0.04736328125 + }, + { + "x": 0.2044677734375, + "y": 0.11126708984375 + }, + { + "x": 0.06402587890625, + "y": -0.0189208984375 + }, + { + "x": 0.117431640625, + "y": 0.10089111328125 + }, + { + "x": -0.412353515625, + "y": -0.2509765625 + }, + { + "x": 0.00341796875, + "y": -0.16021728515625 + }, + { + "x": 0.00347900390625, + "y": -0.28076171875 + }, + { + "x": 0.037109375, + "y": -0.14892578125 + }, + { + "x": -0.08709716796875, + "y": -0.14874267578125 + }, + { + "x": -0.1724853515625, + "y": -0.34356689453125 + }, + { + "x": -0.0679931640625, + "y": -0.27294921875 + }, + { + "x": 0.0072021484375, + "y": 0.0965576171875 + }, + { + "x": -0.2679443359375, + "y": -0.06103515625 + }, + { + "x": 0.0465087890625, + "y": -0.19561767578125 + }, + { + "x": -0.05975341796875, + "y": -0.2601318359375 + }, + { + "x": 0.1700439453125, + "y": -0.02728271484375 + }, + { + "x": -0.4085693359375, + "y": -0.18035888671875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.011581555774471243, + "y": 0.09138315053183567, + "z": 0.8180438056250862 + }, + "rotation": { + "quaternion": { + "W": 0.9852845323947244, + "X": -0.1627939460806493, + "Y": 0.048201658653619917, + "Z": -0.019726161467456888 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img36.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img36.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 785.5411987304688, + "y": 486.2356872558594 + }, + { + "x": 814.0606689453125, + "y": 484.4651794433594 + }, + { + "x": 843.0322875976562, + "y": 483.10516357421875 + }, + { + "x": 872.4080200195312, + "y": 481.28765869140625 + }, + { + "x": 902.117919921875, + "y": 479.8787841796875 + }, + { + "x": 932.0867309570312, + "y": 478.27252197265625 + }, + { + "x": 962.3663330078125, + "y": 476.9147644042969 + }, + { + "x": 787.0040283203125, + "y": 514.0192260742188 + }, + { + "x": 816.1840209960938, + "y": 512.676025390625 + }, + { + "x": 845.7474975585938, + "y": 511.24652099609375 + }, + { + "x": 875.3002319335938, + "y": 509.84442138671875 + }, + { + "x": 905.2492065429688, + "y": 508.2145690917969 + }, + { + "x": 935.659423828125, + "y": 507.0063781738281 + }, + { + "x": 966.1838989257812, + "y": 505.2254943847656 + }, + { + "x": 788.9857788085938, + "y": 542.3724365234375 + }, + { + "x": 818.2167358398438, + "y": 540.8680419921875 + }, + { + "x": 848.156982421875, + "y": 539.95458984375 + }, + { + "x": 878.1263427734375, + "y": 538.2261962890625 + }, + { + "x": 908.2637939453125, + "y": 537.4380493164062 + }, + { + "x": 939.2008056640625, + "y": 535.8634643554688 + }, + { + "x": 970.6519775390625, + "y": 534.2730102539062 + }, + { + "x": 790.6732788085938, + "y": 571.7612915039062 + }, + { + "x": 820.7296752929688, + "y": 570.6609497070312 + }, + { + "x": 850.4887084960938, + "y": 569.2916870117188 + }, + { + "x": 881.1705932617188, + "y": 568.04052734375 + }, + { + "x": 911.9046020507812, + "y": 567.0767211914062 + }, + { + "x": 942.90478515625, + "y": 565.95703125 + }, + { + "x": 974.4017944335938, + "y": 564.4324340820312 + }, + { + "x": 792.9379272460938, + "y": 601.5335083007812 + }, + { + "x": 822.6893310546875, + "y": 600.3204956054688 + }, + { + "x": 853.3138427734375, + "y": 599.37060546875 + }, + { + "x": 883.999755859375, + "y": 598.28857421875 + }, + { + "x": 915.4474487304688, + "y": 597.2445068359375 + }, + { + "x": 946.8900146484375, + "y": 596.174072265625 + }, + { + "x": 978.8549194335938, + "y": 595.4930419921875 + }, + { + "x": 794.2530517578125, + "y": 632.121826171875 + }, + { + "x": 825.4398803710938, + "y": 631.0925903320312 + }, + { + "x": 855.8916015625, + "y": 630.3878784179688 + }, + { + "x": 887.6124877929688, + "y": 629.438720703125 + }, + { + "x": 918.9596557617188, + "y": 628.9806518554688 + }, + { + "x": 951.044921875, + "y": 628.1341552734375 + }, + { + "x": 983.1455078125, + "y": 626.8529052734375 + }, + { + "x": 796.6364135742188, + "y": 663.9094848632812 + }, + { + "x": 827.3307495117188, + "y": 662.5186157226562 + }, + { + "x": 858.9282836914062, + "y": 662.1367797851562 + }, + { + "x": 890.1710815429688, + "y": 661.1727294921875 + }, + { + "x": 922.3074951171875, + "y": 660.7735595703125 + }, + { + "x": 954.7578735351562, + "y": 660.0017700195312 + }, + { + "x": 987.8507690429688, + "y": 658.9275512695312 + } + ], + "reprojectionErrors": [ + { + "x": -0.1719970703125, + "y": -0.1297607421875 + }, + { + "x": 0.14825439453125, + "y": 0.12103271484375 + }, + { + "x": 0.27081298828125, + "y": -0.046905517578125 + }, + { + "x": 0.24542236328125, + "y": 0.234466552734375 + }, + { + "x": 0.14385986328125, + "y": 0.09893798828125 + }, + { + "x": 0.04296875, + "y": 0.152557373046875 + }, + { + "x": -0.10736083984375, + "y": -0.050628662109375 + }, + { + "x": 0.06353759765625, + "y": -0.0989990234375 + }, + { + "x": 0.08282470703125, + "y": -0.170166015625 + }, + { + "x": -0.02056884765625, + "y": -0.1629638671875 + }, + { + "x": 0.14935302734375, + "y": -0.191070556640625 + }, + { + "x": 0.1873779296875, + "y": 6.40869140625E-4 + }, + { + "x": 0.0303955078125, + "y": -0.237274169921875 + }, + { + "x": 0.027099609375, + "y": 0.089508056640625 + }, + { + "x": -0.1776123046875, + "y": 0.0496826171875 + }, + { + "x": 0.158935546875, + "y": 0.250732421875 + }, + { + "x": 0.05352783203125, + "y": -0.146728515625 + }, + { + "x": 0.188232421875, + "y": 0.26324462890625 + }, + { + "x": 0.42584228515625, + "y": -0.274658203125 + }, + { + "x": 0.13690185546875, + "y": -0.03375244140625 + }, + { + "x": -0.391357421875, + "y": 0.21539306640625 + }, + { + "x": -0.08074951171875, + "y": -0.12542724609375 + }, + { + "x": -0.19244384765625, + "y": -0.2113037109375 + }, + { + "x": 0.267333984375, + "y": -0.03546142578125 + }, + { + "x": 0.08026123046875, + "y": 0.01513671875 + }, + { + "x": 0.119140625, + "y": -0.228759765625 + }, + { + "x": 0.17181396484375, + "y": -0.32403564453125 + }, + { + "x": 0.0096435546875, + "y": -0.02166748046875 + }, + { + "x": -0.5157470703125, + "y": 0.0535888671875 + }, + { + "x": 0.06402587890625, + "y": 0.203857421875 + }, + { + "x": 0.05181884765625, + "y": 0.08428955078125 + }, + { + "x": 0.2613525390625, + "y": 0.09014892578125 + }, + { + "x": -0.00567626953125, + "y": 0.05133056640625 + }, + { + "x": 0.019775390625, + "y": 0.0321044921875 + }, + { + "x": -0.187744140625, + "y": -0.38336181640625 + }, + { + "x": 0.04571533203125, + "y": 0.18072509765625 + }, + { + "x": -0.41375732421875, + "y": 0.2774658203125 + }, + { + "x": 0.15020751953125, + "y": 0.04345703125 + }, + { + "x": -0.26446533203125, + "y": 0.0477294921875 + }, + { + "x": -0.0126953125, + "y": -0.4453125 + }, + { + "x": -0.2041015625, + "y": -0.55621337890625 + }, + { + "x": -0.11370849609375, + "y": -0.2386474609375 + }, + { + "x": -0.412353515625, + "y": -0.09918212890625 + }, + { + "x": 0.0267333984375, + "y": 0.49658203125 + }, + { + "x": -0.14141845703125, + "y": 0.07769775390625 + }, + { + "x": 0.34332275390625, + "y": 0.23541259765625 + }, + { + "x": 0.2349853515625, + "y": -0.17742919921875 + }, + { + "x": 0.11541748046875, + "y": -0.22332763671875 + }, + { + "x": -0.3414306640625, + "y": 0.0274658203125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.10324390065696971, + "y": 0.08505813203407761, + "z": 0.8050585195746985 + }, + "rotation": { + "quaternion": { + "W": 0.9783486498914548, + "X": -0.19229623392407236, + "Y": 0.07393374651448209, + "Z": -0.019745348832534586 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img37.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img37.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 909.8181762695312, + "y": 477.0399169921875 + }, + { + "x": 939.649658203125, + "y": 475.3136291503906 + }, + { + "x": 969.8366088867188, + "y": 474.1036682128906 + }, + { + "x": 1000.665283203125, + "y": 472.607421875 + }, + { + "x": 1031.9312744140625, + "y": 471.1733703613281 + }, + { + "x": 1063.004150390625, + "y": 469.4145812988281 + }, + { + "x": 1095.252685546875, + "y": 468.2345886230469 + }, + { + "x": 912.1181640625, + "y": 505.24169921875 + }, + { + "x": 942.9096069335938, + "y": 504.155517578125 + }, + { + "x": 973.2258911132812, + "y": 502.844970703125 + }, + { + "x": 1004.5231323242188, + "y": 501.1617736816406 + }, + { + "x": 1035.9893798828125, + "y": 500.14251708984375 + }, + { + "x": 1067.8399658203125, + "y": 498.7973327636719 + }, + { + "x": 1100.3048095703125, + "y": 497.5705261230469 + }, + { + "x": 915.2006225585938, + "y": 533.7942504882812 + }, + { + "x": 945.7758178710938, + "y": 532.9016723632812 + }, + { + "x": 976.8489379882812, + "y": 531.919189453125 + }, + { + "x": 1008.2723999023438, + "y": 531.0315551757812 + }, + { + "x": 1040.0909423828125, + "y": 529.6510009765625 + }, + { + "x": 1072.3271484375, + "y": 528.4041137695312 + }, + { + "x": 1105.34765625, + "y": 527.3818359375 + }, + { + "x": 917.75048828125, + "y": 563.7969360351562 + }, + { + "x": 948.89990234375, + "y": 562.8190307617188 + }, + { + "x": 980.0443725585938, + "y": 562.0206909179688 + }, + { + "x": 1012.0474243164062, + "y": 561.1859741210938 + }, + { + "x": 1044.3121337890625, + "y": 559.965087890625 + }, + { + "x": 1077.5374755859375, + "y": 558.7215576171875 + }, + { + "x": 1110.36572265625, + "y": 558.0626831054688 + }, + { + "x": 920.675537109375, + "y": 593.9027099609375 + }, + { + "x": 952.1355590820312, + "y": 593.1356811523438 + }, + { + "x": 983.9684448242188, + "y": 592.5202026367188 + }, + { + "x": 1016.0748901367188, + "y": 591.9200439453125 + }, + { + "x": 1048.8050537109375, + "y": 590.9859008789062 + }, + { + "x": 1081.534423828125, + "y": 590.1192016601562 + }, + { + "x": 1115.5511474609375, + "y": 589.641357421875 + }, + { + "x": 923.4667358398438, + "y": 624.9364013671875 + }, + { + "x": 955.5833129882812, + "y": 624.4615478515625 + }, + { + "x": 987.3900146484375, + "y": 623.7783203125 + }, + { + "x": 1020.2898559570312, + "y": 623.49169921875 + }, + { + "x": 1052.86376953125, + "y": 622.3995971679688 + }, + { + "x": 1086.8214111328125, + "y": 622.2445068359375 + }, + { + "x": 1120.342041015625, + "y": 621.5350952148438 + }, + { + "x": 926.6365356445312, + "y": 656.7276611328125 + }, + { + "x": 958.63037109375, + "y": 655.9861450195312 + }, + { + "x": 991.4303588867188, + "y": 656.0247802734375 + }, + { + "x": 1024.1351318359375, + "y": 655.3169555664062 + }, + { + "x": 1057.975341796875, + "y": 655.21240234375 + }, + { + "x": 1091.3399658203125, + "y": 654.6337280273438 + }, + { + "x": 1126.14013671875, + "y": 654.3904418945312 + } + ], + "reprojectionErrors": [ + { + "x": 0.09039306640625, + "y": -0.057403564453125 + }, + { + "x": 0.18212890625, + "y": 0.219329833984375 + }, + { + "x": 0.293701171875, + "y": -0.03363037109375 + }, + { + "x": 0.14410400390625, + "y": -0.013885498046875 + }, + { + "x": -0.0567626953125, + "y": -0.070037841796875 + }, + { + "x": 0.3271484375, + "y": 0.18463134765625 + }, + { + "x": -0.0673828125, + "y": -0.153564453125 + }, + { + "x": 0.388916015625, + "y": -0.00848388671875 + }, + { + "x": -0.12274169921875, + "y": -0.209381103515625 + }, + { + "x": 0.224853515625, + "y": -0.197967529296875 + }, + { + "x": -0.0189208984375, + "y": 0.173919677734375 + }, + { + "x": -0.0364990234375, + "y": -0.130462646484375 + }, + { + "x": -0.037353515625, + "y": -0.12139892578125 + }, + { + "x": -0.24560546875, + "y": -0.24334716796875 + }, + { + "x": -0.036376953125, + "y": 0.33807373046875 + }, + { + "x": 0.03302001953125, + "y": 0.1138916015625 + }, + { + "x": -0.00244140625, + "y": -0.0308837890625 + }, + { + "x": 0.0106201171875, + "y": -0.28125 + }, + { + "x": 0.033447265625, + "y": -0.0494384765625 + }, + { + "x": 0.0491943359375, + "y": 0.0377197265625 + }, + { + "x": -0.3023681640625, + "y": -0.11083984375 + }, + { + "x": 0.13165283203125, + "y": -0.09600830078125 + }, + { + "x": -1.220703125E-4, + "y": -0.05615234375 + }, + { + "x": 0.27557373046875, + "y": -0.204833984375 + }, + { + "x": 0.1011962890625, + "y": -0.326171875 + }, + { + "x": 0.0797119140625, + "y": -0.07049560546875 + }, + { + "x": -0.4814453125, + "y": 0.19854736328125 + }, + { + "x": -0.2183837890625, + "y": -0.12652587890625 + }, + { + "x": -0.012939453125, + "y": 0.05841064453125 + }, + { + "x": -0.073486328125, + "y": 0.0748291015625 + }, + { + "x": -0.09466552734375, + "y": -0.06756591796875 + }, + { + "x": 0.02899169921875, + "y": -0.23248291015625 + }, + { + "x": -0.0462646484375, + "y": -0.07086181640625 + }, + { + "x": 0.3106689453125, + "y": 0.015869140625 + }, + { + "x": -0.181884765625, + "y": -0.2938232421875 + }, + { + "x": 0.04107666015625, + "y": -4.2724609375E-4 + }, + { + "x": -0.28521728515625, + "y": -0.07958984375 + }, + { + "x": 0.12060546875, + "y": 0.0443115234375 + }, + { + "x": -0.137939453125, + "y": -0.2337646484375 + }, + { + "x": 0.3648681640625, + "y": 0.2882080078125 + }, + { + "x": -0.073974609375, + "y": -0.13226318359375 + }, + { + "x": 0.3731689453125, + "y": -0.0040283203125 + }, + { + "x": -0.21661376953125, + "y": -0.078125 + }, + { + "x": -0.02008056640625, + "y": 0.315673828125 + }, + { + "x": -0.197021484375, + "y": -0.073974609375 + }, + { + "x": 0.1607666015625, + "y": 0.27960205078125 + }, + { + "x": -0.170654296875, + "y": 0.026611328125 + }, + { + "x": 0.427001953125, + "y": 0.244384765625 + }, + { + "x": 0.049560546875, + "y": 0.12335205078125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.2117074827733187, + "y": 0.07607911658714991, + "z": 0.7962445262780529 + }, + "rotation": { + "quaternion": { + "W": 0.9789068740045127, + "X": -0.17643931629511322, + "Y": 0.10169277840375168, + "Z": -0.016403612789609803 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img38.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img38.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 967.6817626953125, + "y": 457.455810546875 + }, + { + "x": 998.5711669921875, + "y": 453.18011474609375 + }, + { + "x": 1029.7952880859375, + "y": 449.02606201171875 + }, + { + "x": 1062.1990966796875, + "y": 444.39349365234375 + }, + { + "x": 1094.9498291015625, + "y": 440.0794982910156 + }, + { + "x": 1128.0452880859375, + "y": 435.1077880859375 + }, + { + "x": 1162.3153076171875, + "y": 430.458251953125 + }, + { + "x": 972.8641967773438, + "y": 485.8307189941406 + }, + { + "x": 1003.9456176757812, + "y": 481.9687805175781 + }, + { + "x": 1035.8602294921875, + "y": 477.93841552734375 + }, + { + "x": 1068.5740966796875, + "y": 473.8096923828125 + }, + { + "x": 1101.1429443359375, + "y": 469.4156188964844 + }, + { + "x": 1135.8304443359375, + "y": 465.087890625 + }, + { + "x": 1169.873291015625, + "y": 460.37939453125 + }, + { + "x": 978.1144409179688, + "y": 515.0856323242188 + }, + { + "x": 1009.7520141601562, + "y": 511.07061767578125 + }, + { + "x": 1041.9901123046875, + "y": 507.30950927734375 + }, + { + "x": 1074.80078125, + "y": 503.4873962402344 + }, + { + "x": 1108.4697265625, + "y": 499.54833984375 + }, + { + "x": 1142.539794921875, + "y": 495.3985595703125 + }, + { + "x": 1178.01513671875, + "y": 491.3210754394531 + }, + { + "x": 983.1924438476562, + "y": 544.85205078125 + }, + { + "x": 1015.2557983398438, + "y": 541.4163818359375 + }, + { + "x": 1047.935791015625, + "y": 537.697265625 + }, + { + "x": 1081.6278076171875, + "y": 534.174072265625 + }, + { + "x": 1115.2093505859375, + "y": 530.3787841796875 + }, + { + "x": 1150.389404296875, + "y": 526.52392578125 + }, + { + "x": 1185.816650390625, + "y": 522.7618408203125 + }, + { + "x": 988.8734130859375, + "y": 575.2174072265625 + }, + { + "x": 1021.052490234375, + "y": 572.0283813476562 + }, + { + "x": 1054.19921875, + "y": 568.8626098632812 + }, + { + "x": 1088.2470703125, + "y": 565.3665771484375 + }, + { + "x": 1122.9224853515625, + "y": 562.1204833984375 + }, + { + "x": 1158.0316162109375, + "y": 558.4744262695312 + }, + { + "x": 1193.8822021484375, + "y": 554.6306762695312 + }, + { + "x": 994.0275268554688, + "y": 606.3689575195312 + }, + { + "x": 1027.17431640625, + "y": 603.4620971679688 + }, + { + "x": 1060.8543701171875, + "y": 600.6359252929688 + }, + { + "x": 1095.1976318359375, + "y": 597.8444213867188 + }, + { + "x": 1129.902099609375, + "y": 594.448486328125 + }, + { + "x": 1165.970458984375, + "y": 591.2552490234375 + }, + { + "x": 1202.1221923828125, + "y": 587.7999877929688 + }, + { + "x": 1000.0836181640625, + "y": 638.3731689453125 + }, + { + "x": 1033.1021728515625, + "y": 635.5447998046875 + }, + { + "x": 1067.511962890625, + "y": 633.0993041992188 + }, + { + "x": 1101.8502197265625, + "y": 630.2986450195312 + }, + { + "x": 1137.6505126953125, + "y": 627.3892822265625 + }, + { + "x": 1173.7469482421875, + "y": 624.5855712890625 + }, + { + "x": 1210.8106689453125, + "y": 621.218505859375 + } + ], + "reprojectionErrors": [ + { + "x": 0.345703125, + "y": -0.009552001953125 + }, + { + "x": 0.20318603515625, + "y": -0.007659912109375 + }, + { + "x": 0.3448486328125, + "y": -0.20855712890625 + }, + { + "x": -0.0574951171875, + "y": -0.01434326171875 + }, + { + "x": -0.1533203125, + "y": -0.224334716796875 + }, + { + "x": 0.0780029296875, + "y": 0.135284423828125 + }, + { + "x": -0.1746826171875, + "y": 0.08221435546875 + }, + { + "x": 0.16754150390625, + "y": 0.069091796875 + }, + { + "x": 0.2374267578125, + "y": -0.105133056640625 + }, + { + "x": 0.108154296875, + "y": -0.188720703125 + }, + { + "x": -0.16845703125, + "y": -0.25396728515625 + }, + { + "x": 0.369873046875, + "y": -0.13604736328125 + }, + { + "x": -0.521240234375, + "y": -0.169036865234375 + }, + { + "x": -0.058837890625, + "y": 0.091827392578125 + }, + { + "x": 0.03753662109375, + "y": -0.073486328125 + }, + { + "x": -0.03424072265625, + "y": 0.15533447265625 + }, + { + "x": -0.0565185546875, + "y": 0.056060791015625 + }, + { + "x": 0.016845703125, + "y": -0.058441162109375 + }, + { + "x": -0.08056640625, + "y": -0.1343994140625 + }, + { + "x": 0.1279296875, + "y": -0.080291748046875 + }, + { + "x": -0.3411865234375, + "y": -0.181488037109375 + }, + { + "x": 0.19952392578125, + "y": -0.047119140625 + }, + { + "x": 0.126953125, + "y": -0.13470458984375 + }, + { + "x": 0.104248046875, + "y": -0.00909423828125 + }, + { + "x": -0.2449951171875, + "y": -0.1514892578125 + }, + { + "x": 0.221435546875, + "y": -0.0960693359375 + }, + { + "x": -0.1846923828125, + "y": -0.05743408203125 + }, + { + "x": -0.0909423828125, + "y": -0.19024658203125 + }, + { + "x": -0.11773681640625, + "y": 0.08355712890625 + }, + { + "x": 0.12994384765625, + "y": 0.02581787109375 + }, + { + "x": 0.093505859375, + "y": -0.1209716796875 + }, + { + "x": -0.1407470703125, + "y": -0.005126953125 + }, + { + "x": -0.27880859375, + "y": -0.20892333984375 + }, + { + "x": -0.105224609375, + "y": -0.08447265625 + }, + { + "x": 0.094482421875, + "y": 0.163818359375 + }, + { + "x": 0.2198486328125, + "y": 0.15484619140625 + }, + { + "x": -0.052978515625, + "y": 0.10589599609375 + }, + { + "x": -0.15771484375, + "y": -0.08477783203125 + }, + { + "x": -0.2039794921875, + "y": -0.3729248046875 + }, + { + "x": 0.1318359375, + "y": -0.121337890625 + }, + { + "x": -0.130859375, + "y": -0.13897705078125 + }, + { + "x": 0.311767578125, + "y": 0.0367431640625 + }, + { + "x": -0.2122802734375, + "y": 0.1251220703125 + }, + { + "x": 0.1021728515625, + "y": 0.30377197265625 + }, + { + "x": -0.2550048828125, + "y": 0.043701171875 + }, + { + "x": 0.200439453125, + "y": 0.081298828125 + }, + { + "x": -0.0428466796875, + "y": 0.16839599609375 + }, + { + "x": 0.2041015625, + "y": 0.08880615234375 + }, + { + "x": 0.29443359375, + "y": 0.509765625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.2587449970970212, + "y": 0.05792670814312014, + "z": 0.7838040992715116 + }, + "rotation": { + "quaternion": { + "W": 0.9698972209680764, + "X": -0.16881162934292132, + "Y": 0.1659999646730578, + "Z": -0.05697390881389489 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img39.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img39.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 991.0133056640625, + "y": 547.2275390625 + }, + { + "x": 1023.1868286132812, + "y": 546.9570922851562 + }, + { + "x": 1056.1231689453125, + "y": 546.8148803710938 + }, + { + "x": 1089.1221923828125, + "y": 546.3671264648438 + }, + { + "x": 1122.71728515625, + "y": 546.1505737304688 + }, + { + "x": 1156.4454345703125, + "y": 545.630859375 + }, + { + "x": 1191.21923828125, + "y": 545.3013305664062 + }, + { + "x": 993.9007568359375, + "y": 577.8749389648438 + }, + { + "x": 1026.6826171875, + "y": 577.9517822265625 + }, + { + "x": 1059.431640625, + "y": 577.8212280273438 + }, + { + "x": 1092.8739013671875, + "y": 577.7017822265625 + }, + { + "x": 1126.3448486328125, + "y": 577.1517944335938 + }, + { + "x": 1161.3934326171875, + "y": 577.6162719726562 + }, + { + "x": 1195.988037109375, + "y": 577.0516967773438 + }, + { + "x": 996.971923828125, + "y": 609.176513671875 + }, + { + "x": 1029.604248046875, + "y": 609.0488891601562 + }, + { + "x": 1063.084228515625, + "y": 609.4336547851562 + }, + { + "x": 1097.0126953125, + "y": 609.2764282226562 + }, + { + "x": 1131.5404052734375, + "y": 609.744384765625 + }, + { + "x": 1166.27685546875, + "y": 609.671875 + }, + { + "x": 1201.3565673828125, + "y": 609.9050903320312 + }, + { + "x": 999.705322265625, + "y": 641.0673217773438 + }, + { + "x": 1033.30810546875, + "y": 641.5173950195312 + }, + { + "x": 1066.9595947265625, + "y": 641.766357421875 + }, + { + "x": 1101.267333984375, + "y": 642.28466796875 + }, + { + "x": 1136.0980224609375, + "y": 642.7858276367188 + }, + { + "x": 1171.388671875, + "y": 643.0337524414062 + }, + { + "x": 1206.346435546875, + "y": 642.8784790039062 + }, + { + "x": 1003.2975463867188, + "y": 673.445068359375 + }, + { + "x": 1036.57080078125, + "y": 674.2960815429688 + }, + { + "x": 1070.624755859375, + "y": 675.0037231445312 + }, + { + "x": 1105.489501953125, + "y": 675.6743774414062 + }, + { + "x": 1140.4085693359375, + "y": 676.2876586914062 + }, + { + "x": 1176.31298828125, + "y": 676.655029296875 + }, + { + "x": 1212.266845703125, + "y": 676.9107055664062 + }, + { + "x": 1006.2344360351562, + "y": 707.4149169921875 + }, + { + "x": 1040.1488037109375, + "y": 708.592529296875 + }, + { + "x": 1043.55810546875, + "y": 741.66943359375 + } + ], + "reprojectionErrors": [ + { + "x": 0.425048828125, + "y": 0.189208984375 + }, + { + "x": 0.296875, + "y": 0.0924072265625 + }, + { + "x": -0.125, + "y": -0.134765625 + }, + { + "x": -0.1319580078125, + "y": -0.05865478515625 + }, + { + "x": -0.248779296875, + "y": -0.21600341796875 + }, + { + "x": -0.003662109375, + "y": -0.0723876953125 + }, + { + "x": -0.3001708984375, + "y": -0.12127685546875 + }, + { + "x": 0.3377685546875, + "y": 0.08673095703125 + }, + { + "x": -0.0228271484375, + "y": -0.1353759765625 + }, + { + "x": 0.12939453125, + "y": -0.14959716796875 + }, + { + "x": 0.0770263671875, + "y": -0.1744384765625 + }, + { + "x": 0.4935302734375, + "y": 0.2318115234375 + }, + { + "x": -0.1607666015625, + "y": -0.37591552734375 + }, + { + "x": 0.155029296875, + "y": 0.04595947265625 + }, + { + "x": 0.1273193359375, + "y": 0.01129150390625 + }, + { + "x": 0.3006591796875, + "y": 0.2257080078125 + }, + { + "x": 0.1173095703125, + "y": -0.06890869140625 + }, + { + "x": -0.0142822265625, + "y": 0.181884765625 + }, + { + "x": -0.23583984375, + "y": -0.1890869140625 + }, + { + "x": -0.1470947265625, + "y": -0.01605224609375 + }, + { + "x": 0.1268310546875, + "y": -0.1451416015625 + }, + { + "x": 0.317138671875, + "y": 0.04925537109375 + }, + { + "x": -0.0870361328125, + "y": -0.0712890625 + }, + { + "x": -0.037353515625, + "y": 0.01556396484375 + }, + { + "x": -0.1319580078125, + "y": -0.160400390625 + }, + { + "x": -0.2279052734375, + "y": -0.31256103515625 + }, + { + "x": -0.2523193359375, + "y": -0.2047119140625 + }, + { + "x": 0.5977783203125, + "y": 0.31317138671875 + }, + { + "x": -0.28741455078125, + "y": 0.325439453125 + }, + { + "x": 0.039794921875, + "y": 0.05767822265625 + }, + { + "x": 0.100830078125, + "y": -0.05706787109375 + }, + { + "x": -0.1246337890625, + "y": -0.12506103515625 + }, + { + "x": 0.1297607421875, + "y": -0.12554931640625 + }, + { + "x": -0.0567626953125, + "y": 0.13006591796875 + }, + { + "x": 0.2623291015625, + "y": 0.5078125 + }, + { + "x": -0.17010498046875, + "y": -0.24200439453125 + }, + { + "x": -0.0728759765625, + "y": -0.571044921875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.27060920755796414, + "y": 0.13194668946881177, + "z": 0.7601644938913403 + }, + "rotation": { + "quaternion": { + "W": 0.9800331458188875, + "X": -0.16475997797259437, + "Y": 0.11112111697702974, + "Z": -0.006424960434340344 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "snapshotName": "img40.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img40.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 985.9314575195312, + "y": 331.96282958984375 + }, + { + "x": 1016.0726318359375, + "y": 329.5499267578125 + }, + { + "x": 1047.009521484375, + "y": 327.037353515625 + }, + { + "x": 1078.427978515625, + "y": 324.85302734375 + }, + { + "x": 1110.560791015625, + "y": 322.69586181640625 + }, + { + "x": 1143.11474609375, + "y": 319.9610595703125 + }, + { + "x": 1177.0008544921875, + "y": 317.3873291015625 + }, + { + "x": 987.6392211914062, + "y": 357.9693908691406 + }, + { + "x": 1018.1693115234375, + "y": 356.13433837890625 + }, + { + "x": 1049.2872314453125, + "y": 354.0377197265625 + }, + { + "x": 1081.130126953125, + "y": 352.06890869140625 + }, + { + "x": 1113.84814453125, + "y": 349.7912292480469 + }, + { + "x": 1146.8212890625, + "y": 347.7507629394531 + }, + { + "x": 1180.681640625, + "y": 345.4673156738281 + }, + { + "x": 989.4902954101562, + "y": 385.0365295410156 + }, + { + "x": 1020.44677734375, + "y": 383.0384826660156 + }, + { + "x": 1051.8431396484375, + "y": 381.6149597167969 + }, + { + "x": 1084.0433349609375, + "y": 379.3753356933594 + }, + { + "x": 1116.9326171875, + "y": 377.7889709472656 + }, + { + "x": 1150.5579833984375, + "y": 375.9029541015625 + }, + { + "x": 1184.750244140625, + "y": 373.897216796875 + }, + { + "x": 991.4531860351562, + "y": 412.46221923828125 + }, + { + "x": 1022.7413940429688, + "y": 410.9425354003906 + }, + { + "x": 1054.438720703125, + "y": 409.31439208984375 + }, + { + "x": 1087.06982421875, + "y": 407.6963195800781 + }, + { + "x": 1120.266357421875, + "y": 406.14398193359375 + }, + { + "x": 1154.1436767578125, + "y": 404.6291809082031 + }, + { + "x": 1188.5433349609375, + "y": 402.93670654296875 + }, + { + "x": 993.737548828125, + "y": 440.1085205078125 + }, + { + "x": 1025.2508544921875, + "y": 439.2193603515625 + }, + { + "x": 1057.208740234375, + "y": 437.7607116699219 + }, + { + "x": 1090.2137451171875, + "y": 436.3995361328125 + }, + { + "x": 1123.7576904296875, + "y": 435.20794677734375 + }, + { + "x": 1157.9437255859375, + "y": 433.9569091796875 + }, + { + "x": 1192.9560546875, + "y": 432.53289794921875 + }, + { + "x": 995.7715454101562, + "y": 468.85302734375 + }, + { + "x": 1027.534912109375, + "y": 467.9200134277344 + }, + { + "x": 1059.8890380859375, + "y": 466.8111877441406 + }, + { + "x": 1093.166015625, + "y": 466.03985595703125 + }, + { + "x": 1126.93896484375, + "y": 464.9149169921875 + }, + { + "x": 1162.06396484375, + "y": 464.018310546875 + }, + { + "x": 1197.1368408203125, + "y": 462.89459228515625 + }, + { + "x": 997.6787719726562, + "y": 497.75579833984375 + }, + { + "x": 1030.020751953125, + "y": 497.36163330078125 + }, + { + "x": 1062.79541015625, + "y": 496.8102111816406 + }, + { + "x": 1096.35546875, + "y": 495.8783264160156 + }, + { + "x": 1130.932373046875, + "y": 495.0653381347656 + }, + { + "x": 1165.9549560546875, + "y": 494.48675537109375 + }, + { + "x": 1201.5751953125, + "y": 494.0274658203125 + } + ], + "reprojectionErrors": [ + { + "x": 0.14697265625, + "y": -0.151336669921875 + }, + { + "x": 0.16314697265625, + "y": -0.01373291015625 + }, + { + "x": -0.0064697265625, + "y": 0.184661865234375 + }, + { + "x": -0.03076171875, + "y": 0.01483154296875 + }, + { + "x": -0.125, + "y": -0.22320556640625 + }, + { + "x": 0.0224609375, + "y": 0.074188232421875 + }, + { + "x": -0.4805908203125, + "y": 0.1671142578125 + }, + { + "x": 0.252685546875, + "y": 0.113983154296875 + }, + { + "x": 0.21002197265625, + "y": -0.083587646484375 + }, + { + "x": 0.2025146484375, + "y": -0.054473876953125 + }, + { + "x": 0.110595703125, + "y": -0.188934326171875 + }, + { + "x": -0.1976318359375, + "y": -0.051300048828125 + }, + { + "x": -0.08349609375, + "y": -0.188751220703125 + }, + { + "x": -0.159423828125, + "y": -0.122100830078125 + }, + { + "x": 0.25262451171875, + "y": -0.13336181640625 + }, + { + "x": 0.1204833984375, + "y": 0.08538818359375 + }, + { + "x": 0.18505859375, + "y": -0.30084228515625 + }, + { + "x": 0.1002197265625, + "y": 0.097686767578125 + }, + { + "x": -1.220703125E-4, + "y": -0.189239501953125 + }, + { + "x": -0.1436767578125, + "y": -0.20965576171875 + }, + { + "x": -0.140869140625, + "y": -0.144439697265625 + }, + { + "x": 0.17938232421875, + "y": -0.175384521484375 + }, + { + "x": 0.05950927734375, + "y": -0.17041015625 + }, + { + "x": 0.180908203125, + "y": -0.08282470703125 + }, + { + "x": 0.0377197265625, + "y": -0.031829833984375 + }, + { + "x": 0.0177001953125, + "y": -0.0738525390625 + }, + { + "x": 0.025634765625, + "y": -0.18145751953125 + }, + { + "x": 0.240966796875, + "y": -0.14031982421875 + }, + { + "x": -0.17559814453125, + "y": 0.142547607421875 + }, + { + "x": -0.1693115234375, + "y": -0.206756591796875 + }, + { + "x": 0.0572509765625, + "y": -0.00738525390625 + }, + { + "x": -0.079345703125, + "y": 0.073150634765625 + }, + { + "x": -0.050537109375, + "y": -0.03790283203125 + }, + { + "x": 0.0614013671875, + "y": -0.112152099609375 + }, + { + "x": 0.0938720703125, + "y": -0.0367431640625 + }, + { + "x": -0.23919677734375, + "y": -0.039947509765625 + }, + { + "x": -0.124267578125, + "y": -0.056884765625 + }, + { + "x": 0.07958984375, + "y": 0.086578369140625 + }, + { + "x": 0.0601806640625, + "y": -0.123321533203125 + }, + { + "x": 0.26513671875, + "y": 0.004058837890625 + }, + { + "x": -0.1397705078125, + "y": -0.113677978515625 + }, + { + "x": 0.2720947265625, + "y": -0.0216064453125 + }, + { + "x": -0.1339111328125, + "y": 0.235076904296875 + }, + { + "x": -0.2310791015625, + "y": -0.01934814453125 + }, + { + "x": -0.06591796875, + "y": -0.12615966796875 + }, + { + "x": 0.029296875, + "y": 0.137542724609375 + }, + { + "x": -0.155029296875, + "y": 0.2720947265625 + }, + { + "x": -0.0255126953125, + "y": 0.161712646484375 + }, + { + "x": 0.289306640625, + "y": -0.078826904296875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.28496721989383983, + "y": -0.05313847629398607, + "z": 0.814043310959945 + }, + "rotation": { + "quaternion": { + "W": 0.9725765173177061, + "X": -0.1658165738474138, + "Y": 0.16307798338385798, + "Z": -0.0023136843175091144 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img41.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img41.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 842.0455932617188, + "y": 340.9404602050781 + }, + { + "x": 870.0794677734375, + "y": 338.0769958496094 + }, + { + "x": 898.6568603515625, + "y": 335.8549499511719 + }, + { + "x": 927.890625, + "y": 332.8952331542969 + }, + { + "x": 957.2088012695312, + "y": 330.11279296875 + }, + { + "x": 986.7564697265625, + "y": 327.2442626953125 + }, + { + "x": 1017.1771240234375, + "y": 324.500732421875 + }, + { + "x": 843.94873046875, + "y": 366.619140625 + }, + { + "x": 872.8562622070312, + "y": 364.1228332519531 + }, + { + "x": 901.1813354492188, + "y": 361.69097900390625 + }, + { + "x": 930.7820434570312, + "y": 359.2955322265625 + }, + { + "x": 960.0711059570312, + "y": 356.5657653808594 + }, + { + "x": 990.7732543945312, + "y": 354.2077331542969 + }, + { + "x": 1021.3826293945312, + "y": 351.2682189941406 + }, + { + "x": 845.9458618164062, + "y": 393.2327575683594 + }, + { + "x": 874.909423828125, + "y": 390.86407470703125 + }, + { + "x": 904.0768432617188, + "y": 388.19476318359375 + }, + { + "x": 933.5592041015625, + "y": 385.8718566894531 + }, + { + "x": 963.7762451171875, + "y": 383.4012145996094 + }, + { + "x": 994.6069946289062, + "y": 381.0876770019531 + }, + { + "x": 1025.3153076171875, + "y": 378.29071044921875 + }, + { + "x": 848.2250366210938, + "y": 420.1067810058594 + }, + { + "x": 877.6467895507812, + "y": 417.52569580078125 + }, + { + "x": 907.0288696289062, + "y": 415.55157470703125 + }, + { + "x": 937.0570068359375, + "y": 413.48956298828125 + }, + { + "x": 967.3305053710938, + "y": 411.1111145019531 + }, + { + "x": 998.1669921875, + "y": 408.94073486328125 + }, + { + "x": 1029.439208984375, + "y": 406.4962158203125 + }, + { + "x": 850.3384399414062, + "y": 447.2999267578125 + }, + { + "x": 880.02783203125, + "y": 445.3160095214844 + }, + { + "x": 909.9449462890625, + "y": 443.3988952636719 + }, + { + "x": 940.2034301757812, + "y": 441.1549377441406 + }, + { + "x": 971.0140991210938, + "y": 439.1233825683594 + }, + { + "x": 1001.9747924804688, + "y": 437.00164794921875 + }, + { + "x": 1033.80908203125, + "y": 434.9640808105469 + }, + { + "x": 852.7589721679688, + "y": 475.2032165527344 + }, + { + "x": 883.01416015625, + "y": 473.5763854980469 + }, + { + "x": 912.7092895507812, + "y": 471.6321105957031 + }, + { + "x": 943.6848754882812, + "y": 469.8267517089844 + }, + { + "x": 974.5512084960938, + "y": 467.9180908203125 + }, + { + "x": 1005.9765014648438, + "y": 466.18206787109375 + }, + { + "x": 1038.1524658203125, + "y": 463.97467041015625 + }, + { + "x": 855.1612548828125, + "y": 504.0199279785156 + }, + { + "x": 885.2623901367188, + "y": 502.2712707519531 + }, + { + "x": 916.068603515625, + "y": 500.4461364746094 + }, + { + "x": 946.6619262695312, + "y": 498.8464050292969 + }, + { + "x": 978.3982543945312, + "y": 497.1871032714844 + }, + { + "x": 1009.8500366210938, + "y": 495.1222839355469 + }, + { + "x": 1042.952880859375, + "y": 493.6579895019531 + } + ], + "reprojectionErrors": [ + { + "x": -0.1285400390625, + "y": -0.063079833984375 + }, + { + "x": 0.10833740234375, + "y": 0.16326904296875 + }, + { + "x": 0.16217041015625, + "y": -0.278533935546875 + }, + { + "x": -0.074462890625, + "y": -0.009796142578125 + }, + { + "x": -0.02423095703125, + "y": 0.05419921875 + }, + { + "x": 0.17327880859375, + "y": 0.176422119140625 + }, + { + "x": -0.11981201171875, + "y": 0.145416259765625 + }, + { + "x": 0.03521728515625, + "y": 0.048736572265625 + }, + { + "x": -0.2939453125, + "y": 0.045684814453125 + }, + { + "x": 0.32757568359375, + "y": -0.04754638671875 + }, + { + "x": 0.04718017578125, + "y": -0.203277587890625 + }, + { + "x": 0.45782470703125, + "y": -0.0511474609375 + }, + { + "x": -0.1595458984375, + "y": -0.297576904296875 + }, + { + "x": -0.2933349609375, + "y": 0.010284423828125 + }, + { + "x": 0.14874267578125, + "y": -0.2305908203125 + }, + { + "x": 0.0775146484375, + "y": -0.217041015625 + }, + { + "x": 0.17864990234375, + "y": 0.072509765625 + }, + { + "x": 0.3466796875, + "y": -0.00933837890625 + }, + { + "x": 0.167724609375, + "y": 0.031219482421875 + }, + { + "x": -0.23138427734375, + "y": -0.11102294921875 + }, + { + "x": -0.1083984375, + "y": 0.2041015625 + }, + { + "x": 0.02532958984375, + "y": -0.21044921875 + }, + { + "x": -0.18353271484375, + "y": 0.166473388671875 + }, + { + "x": 0.0316162109375, + "y": -0.08697509765625 + }, + { + "x": -0.00909423828125, + "y": -0.276336669921875 + }, + { + "x": 0.1011962890625, + "y": -0.17333984375 + }, + { + "x": 0.0509033203125, + "y": -0.3028564453125 + }, + { + "x": -0.0264892578125, + "y": -0.183074951171875 + }, + { + "x": 0.11407470703125, + "y": 0.067138671875 + }, + { + "x": -0.03515625, + "y": 0.004974365234375 + }, + { + "x": -0.01934814453125, + "y": -0.1461181640625 + }, + { + "x": 0.05401611328125, + "y": 0.007171630859375 + }, + { + "x": -0.0196533203125, + "y": -0.074676513671875 + }, + { + "x": 0.168212890625, + "y": -0.0894775390625 + }, + { + "x": -0.099609375, + "y": -0.211883544921875 + }, + { + "x": -0.05645751953125, + "y": 0.22857666015625 + }, + { + "x": -0.437255859375, + "y": -0.02520751953125 + }, + { + "x": 0.14349365234375, + "y": 0.01776123046875 + }, + { + "x": -0.14837646484375, + "y": -0.09918212890625 + }, + { + "x": 0.0833740234375, + "y": -0.1341552734375 + }, + { + "x": 0.177001953125, + "y": -0.363372802734375 + }, + { + "x": -0.0523681640625, + "y": -0.143157958984375 + }, + { + "x": -0.159423828125, + "y": 0.088592529296875 + }, + { + "x": -0.0447998046875, + "y": 0.1298828125 + }, + { + "x": -0.2247314453125, + "y": 0.228515625 + }, + { + "x": 0.22528076171875, + "y": 0.08233642578125 + }, + { + "x": -0.04388427734375, + "y": -0.024017333984375 + }, + { + "x": 0.402099609375, + "y": 0.255157470703125 + }, + { + "x": -0.3653564453125, + "y": -0.0865478515625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.1582736433534133, + "y": -0.045832374805321444, + "z": 0.829789090905376 + }, + "rotation": { + "quaternion": { + "W": 0.9796385199083946, + "X": -0.16743582965672663, + "Y": 0.1082024683473521, + "Z": -0.02378737275097544 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img42.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img42.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 665.927490234375, + "y": 349.8247985839844 + }, + { + "x": 692.9436645507812, + "y": 348.9540710449219 + }, + { + "x": 719.92431640625, + "y": 348.25238037109375 + }, + { + "x": 746.9032592773438, + "y": 347.3985290527344 + }, + { + "x": 773.7531127929688, + "y": 347.0760803222656 + }, + { + "x": 801.2891235351562, + "y": 346.062255859375 + }, + { + "x": 828.5614624023438, + "y": 345.0556640625 + }, + { + "x": 665.9892578125, + "y": 375.1147766113281 + }, + { + "x": 693.1356201171875, + "y": 374.9246826171875 + }, + { + "x": 720.3062133789062, + "y": 373.9057312011719 + }, + { + "x": 748.0719604492188, + "y": 373.23199462890625 + }, + { + "x": 774.820068359375, + "y": 372.0486145019531 + }, + { + "x": 802.7423706054688, + "y": 371.93780517578125 + }, + { + "x": 830.2738647460938, + "y": 371.0776062011719 + }, + { + "x": 666.2327880859375, + "y": 401.2276611328125 + }, + { + "x": 693.8652954101562, + "y": 400.3918762207031 + }, + { + "x": 721.3995971679688, + "y": 399.9569091796875 + }, + { + "x": 749.0291748046875, + "y": 399.0864562988281 + }, + { + "x": 776.6705322265625, + "y": 398.375 + }, + { + "x": 804.3688354492188, + "y": 397.7746276855469 + }, + { + "x": 832.0323486328125, + "y": 396.9267883300781 + }, + { + "x": 666.6559448242188, + "y": 427.9823913574219 + }, + { + "x": 694.7550048828125, + "y": 426.9317932128906 + }, + { + "x": 721.9187622070312, + "y": 426.3306884765625 + }, + { + "x": 750.0032348632812, + "y": 425.98626708984375 + }, + { + "x": 777.7847900390625, + "y": 424.9430236816406 + }, + { + "x": 806.0172119140625, + "y": 424.65850830078125 + }, + { + "x": 833.7998046875, + "y": 423.8271484375 + }, + { + "x": 666.9089965820312, + "y": 454.68511962890625 + }, + { + "x": 695.0713500976562, + "y": 453.9871520996094 + }, + { + "x": 723.029296875, + "y": 453.37005615234375 + }, + { + "x": 750.9496459960938, + "y": 452.9978332519531 + }, + { + "x": 779.0819702148438, + "y": 452.19891357421875 + }, + { + "x": 807.5634155273438, + "y": 451.63092041015625 + }, + { + "x": 835.8950805664062, + "y": 451.18365478515625 + }, + { + "x": 667.28955078125, + "y": 482.1300048828125 + }, + { + "x": 695.7258911132812, + "y": 481.9333801269531 + }, + { + "x": 723.8973388671875, + "y": 481.01165771484375 + }, + { + "x": 752.2518920898438, + "y": 480.1403503417969 + }, + { + "x": 780.3599243164062, + "y": 479.75299072265625 + }, + { + "x": 809.1854248046875, + "y": 479.27099609375 + }, + { + "x": 837.3766479492188, + "y": 478.54913330078125 + }, + { + "x": 668.104248046875, + "y": 509.8802185058594 + }, + { + "x": 695.8825073242188, + "y": 509.2583923339844 + }, + { + "x": 724.6715698242188, + "y": 509.0813903808594 + }, + { + "x": 753.1742553710938, + "y": 508.39404296875 + }, + { + "x": 782.154541015625, + "y": 508.0609130859375 + }, + { + "x": 810.7144165039062, + "y": 506.9869384765625 + }, + { + "x": 839.8157958984375, + "y": 507.1041259765625 + } + ], + "reprojectionErrors": [ + { + "x": -0.12225341796875, + "y": -0.11376953125 + }, + { + "x": -0.185546875, + "y": 0.009979248046875 + }, + { + "x": -0.14544677734375, + "y": -0.03125 + }, + { + "x": -0.03692626953125, + "y": 0.083831787109375 + }, + { + "x": 0.26617431640625, + "y": -0.32830810546875 + }, + { + "x": -0.05279541015625, + "y": -0.0447998046875 + }, + { + "x": -0.0452880859375, + "y": 0.235809326171875 + }, + { + "x": 0.11328125, + "y": 0.131072998046875 + }, + { + "x": 0.1614990234375, + "y": -0.4000244140625 + }, + { + "x": 0.254638671875, + "y": -0.09857177734375 + }, + { + "x": -0.17950439453125, + "y": -0.1385498046875 + }, + { + "x": 0.4705810546875, + "y": 0.334930419921875 + }, + { + "x": 0.01171875, + "y": -0.26031494140625 + }, + { + "x": 0.0076904296875, + "y": -0.102203369140625 + }, + { + "x": 0.17303466796875, + "y": 0.017730712890625 + }, + { + "x": -0.0191650390625, + "y": 0.1591796875 + }, + { + "x": -0.04278564453125, + "y": -0.09686279296875 + }, + { + "x": -0.09259033203125, + "y": 0.085968017578125 + }, + { + "x": -0.08642578125, + "y": 0.11322021484375 + }, + { + "x": -0.0706787109375, + "y": 0.0328369140625 + }, + { + "x": 0.044921875, + "y": 0.2034912109375 + }, + { + "x": 0.05938720703125, + "y": -0.26123046875 + }, + { + "x": -0.349609375, + "y": 0.123046875 + }, + { + "x": 0.24835205078125, + "y": 0.06072998046875 + }, + { + "x": -0.0040283203125, + "y": -0.25531005859375 + }, + { + "x": 0.11553955078125, + "y": 0.1304931640625 + }, + { + "x": -0.14813232421875, + "y": -0.2393798828125 + }, + { + "x": 0.1043701171875, + "y": -0.05926513671875 + }, + { + "x": 0.1221923828125, + "y": 0.0 + }, + { + "x": -0.09613037109375, + "y": 0.060760498046875 + }, + { + "x": -0.03704833984375, + "y": 0.043182373046875 + }, + { + "x": 0.1312255859375, + "y": -0.21673583984375 + }, + { + "x": 0.15777587890625, + "y": -0.04736328125 + }, + { + "x": -0.0958251953125, + "y": -0.10626220703125 + }, + { + "x": -0.13214111328125, + "y": -0.283233642578125 + }, + { + "x": 0.06402587890625, + "y": 0.01953125 + }, + { + "x": -0.1700439453125, + "y": -0.390655517578125 + }, + { + "x": -0.06494140625, + "y": -0.073699951171875 + }, + { + "x": -0.0699462890625, + "y": 0.1949462890625 + }, + { + "x": 0.2431640625, + "y": -0.018157958984375 + }, + { + "x": -0.091064453125, + "y": -0.13446044921875 + }, + { + "x": 0.27777099609375, + "y": -0.008636474609375 + }, + { + "x": -0.42169189453125, + "y": 0.246978759765625 + }, + { + "x": 0.2650146484375, + "y": 0.2935791015625 + }, + { + "x": 0.01654052734375, + "y": -0.102996826171875 + }, + { + "x": 0.12872314453125, + "y": 0.012420654296875 + }, + { + "x": -0.16375732421875, + "y": -0.22467041015625 + }, + { + "x": 0.03570556640625, + "y": 0.28082275390625 + }, + { + "x": -0.236328125, + "y": -0.403045654296875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.0033215265954317594, + "y": -0.03874801067892124, + "z": 0.8525869699256596 + }, + "rotation": { + "quaternion": { + "W": 0.9884641327653633, + "X": -0.14956844558716068, + "Y": 0.02187348521558773, + "Z": -0.00945986075913899 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img43.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img43.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 541.2529907226562, + "y": 362.0526428222656 + }, + { + "x": 567.9946899414062, + "y": 361.4873962402344 + }, + { + "x": 593.907470703125, + "y": 360.60699462890625 + }, + { + "x": 619.7407836914062, + "y": 359.97210693359375 + }, + { + "x": 645.9104614257812, + "y": 359.7283020019531 + }, + { + "x": 671.9161987304688, + "y": 358.91241455078125 + }, + { + "x": 697.9309692382812, + "y": 358.3094177246094 + }, + { + "x": 540.6399536132812, + "y": 386.7707214355469 + }, + { + "x": 567.203369140625, + "y": 385.82257080078125 + }, + { + "x": 593.543701171875, + "y": 385.3905029296875 + }, + { + "x": 619.7308959960938, + "y": 385.19189453125 + }, + { + "x": 646.0950927734375, + "y": 384.1448669433594 + }, + { + "x": 672.6875, + "y": 383.6693115234375 + }, + { + "x": 698.999267578125, + "y": 382.9957275390625 + }, + { + "x": 540.2636108398438, + "y": 411.8901062011719 + }, + { + "x": 566.956298828125, + "y": 411.2196044921875 + }, + { + "x": 593.9081420898438, + "y": 410.50390625 + }, + { + "x": 620.131103515625, + "y": 409.9512023925781 + }, + { + "x": 646.7210693359375, + "y": 409.2102966308594 + }, + { + "x": 673.2513427734375, + "y": 408.7016906738281 + }, + { + "x": 699.7938842773438, + "y": 407.9663391113281 + }, + { + "x": 539.6817016601562, + "y": 437.5574645996094 + }, + { + "x": 566.8892822265625, + "y": 436.7666931152344 + }, + { + "x": 593.2547607421875, + "y": 436.1280212402344 + }, + { + "x": 620.2872924804688, + "y": 435.72100830078125 + }, + { + "x": 647.0093383789062, + "y": 434.97509765625 + }, + { + "x": 673.973388671875, + "y": 434.1756896972656 + }, + { + "x": 700.901611328125, + "y": 433.9509582519531 + }, + { + "x": 539.1255493164062, + "y": 463.76556396484375 + }, + { + "x": 566.2310791015625, + "y": 462.913330078125 + }, + { + "x": 593.2897338867188, + "y": 462.0643310546875 + }, + { + "x": 620.3660278320312, + "y": 461.4202575683594 + }, + { + "x": 647.6451416015625, + "y": 460.8134765625 + }, + { + "x": 538.699462890625, + "y": 490.0899963378906 + }, + { + "x": 566.0735473632812, + "y": 489.53900146484375 + }, + { + "x": 593.2415771484375, + "y": 488.92205810546875 + }, + { + "x": 620.795166015625, + "y": 488.076904296875 + }, + { + "x": 647.5752563476562, + "y": 487.2652587890625 + }, + { + "x": 537.9345703125, + "y": 517.6021118164062 + }, + { + "x": 565.469482421875, + "y": 516.32080078125 + }, + { + "x": 593.1114501953125, + "y": 515.8767700195312 + }, + { + "x": 620.8661499023438, + "y": 515.1575927734375 + }, + { + "x": 648.1304931640625, + "y": 514.4427490234375 + }, + { + "x": 675.6422119140625, + "y": 513.6366577148438 + }, + { + "x": 703.5401611328125, + "y": 512.859619140625 + } + ], + "reprojectionErrors": [ + { + "x": 0.24468994140625, + "y": 0.02142333984375 + }, + { + "x": -0.4112548828125, + "y": -0.0594482421875 + }, + { + "x": -0.2352294921875, + "y": 0.180633544921875 + }, + { + "x": 0.02197265625, + "y": 0.181121826171875 + }, + { + "x": -0.0570068359375, + "y": -0.20361328125 + }, + { + "x": 0.02691650390625, + "y": -0.01031494140625 + }, + { + "x": 0.0992431640625, + "y": -0.023956298828125 + }, + { + "x": 0.291259765625, + "y": -0.042755126953125 + }, + { + "x": 0.05377197265625, + "y": 0.254058837890625 + }, + { + "x": 0.04248046875, + "y": 0.040283203125 + }, + { + "x": 0.18597412109375, + "y": -0.401519775390625 + }, + { + "x": 0.1527099609375, + "y": 0.0106201171875 + }, + { + "x": -0.10986328125, + "y": -0.143157958984375 + }, + { + "x": -0.09442138671875, + "y": -0.09332275390625 + }, + { + "x": 0.092529296875, + "y": -0.04620361328125 + }, + { + "x": -0.02996826171875, + "y": -0.03228759765625 + }, + { + "x": -0.40850830078125, + "y": 0.031890869140625 + }, + { + "x": -0.05645751953125, + "y": -0.0618896484375 + }, + { + "x": -0.0711669921875, + "y": 0.03765869140625 + }, + { + "x": -0.02740478515625, + "y": -0.089935302734375 + }, + { + "x": 0.00146484375, + "y": 0.014373779296875 + }, + { + "x": 0.0904541015625, + "y": -0.1236572265625 + }, + { + "x": -0.29852294921875, + "y": 0.005218505859375 + }, + { + "x": 0.1578369140625, + "y": -0.013427734375 + }, + { + "x": -0.05120849609375, + "y": -0.259063720703125 + }, + { + "x": 0.050537109375, + "y": -0.161102294921875 + }, + { + "x": -0.0909423828125, + "y": -0.00494384765625 + }, + { + "x": -0.1993408203125, + "y": -0.418670654296875 + }, + { + "x": 0.0535888671875, + "y": -0.255523681640625 + }, + { + "x": 0.0194091796875, + "y": -0.07061767578125 + }, + { + "x": 0.03533935546875, + "y": 0.115234375 + }, + { + "x": 0.035400390625, + "y": 0.100372314453125 + }, + { + "x": -0.1671142578125, + "y": 0.052459716796875 + }, + { + "x": -0.00445556640625, + "y": -0.17864990234375 + }, + { + "x": -0.2244873046875, + "y": 0.00115966796875 + }, + { + "x": 0.32928466796875, + "y": 0.151275634765625 + }, + { + "x": 0.03021240234375, + "y": -0.42919921875 + }, + { + "x": 0.0855712890625, + "y": 0.1737060546875 + }, + { + "x": 0.2091064453125, + "y": 0.0362548828125 + }, + { + "x": 0.2916259765625, + "y": 0.1771240234375 + }, + { + "x": -0.01495361328125, + "y": 0.29241943359375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.12441921431239142, + "y": -0.027962515378733965, + "z": 0.8806683782930107 + }, + "rotation": { + "quaternion": { + "W": 0.9871273099032158, + "X": -0.1594787257277644, + "Y": 0.0015348920740917453, + "Z": -0.011993923036688578 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img44.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img44.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 368.5379333496094, + "y": 363.9289855957031 + }, + { + "x": 396.0111999511719, + "y": 364.18035888671875 + }, + { + "x": 422.9949645996094, + "y": 364.6248474121094 + }, + { + "x": 450.1890869140625, + "y": 364.91259765625 + }, + { + "x": 476.8822021484375, + "y": 365.39178466796875 + }, + { + "x": 503.48211669921875, + "y": 365.69598388671875 + }, + { + "x": 529.9425048828125, + "y": 366.2544860839844 + }, + { + "x": 366.18792724609375, + "y": 389.0238342285156 + }, + { + "x": 393.67486572265625, + "y": 389.2679748535156 + }, + { + "x": 421.01776123046875, + "y": 389.3232421875 + }, + { + "x": 448.4174499511719, + "y": 390.0674133300781 + }, + { + "x": 475.3177490234375, + "y": 389.9172058105469 + }, + { + "x": 502.19921875, + "y": 390.5968933105469 + }, + { + "x": 529.2723388671875, + "y": 390.84625244140625 + }, + { + "x": 363.9319152832031, + "y": 414.56903076171875 + }, + { + "x": 391.79559326171875, + "y": 414.84869384765625 + }, + { + "x": 419.4056701660156, + "y": 414.94970703125 + }, + { + "x": 446.8373718261719, + "y": 415.1903381347656 + }, + { + "x": 474.1365966796875, + "y": 415.37567138671875 + }, + { + "x": 500.9555358886719, + "y": 415.9342041015625 + }, + { + "x": 528.34912109375, + "y": 416.0270690917969 + }, + { + "x": 361.30291748046875, + "y": 440.9690246582031 + }, + { + "x": 389.6386413574219, + "y": 440.89178466796875 + }, + { + "x": 417.277587890625, + "y": 441.35687255859375 + }, + { + "x": 445.157470703125, + "y": 441.4682922363281 + }, + { + "x": 472.9530029296875, + "y": 441.25030517578125 + }, + { + "x": 500.3765563964844, + "y": 441.7958679199219 + }, + { + "x": 527.64697265625, + "y": 441.89813232421875 + }, + { + "x": 358.4726257324219, + "y": 467.2392272949219 + }, + { + "x": 387.23577880859375, + "y": 467.447265625 + }, + { + "x": 415.3649597167969, + "y": 467.38629150390625 + }, + { + "x": 443.4435729980469, + "y": 467.3660888671875 + }, + { + "x": 471.6549377441406, + "y": 467.5877990722656 + }, + { + "x": 498.9534606933594, + "y": 467.8819274902344 + }, + { + "x": 526.4264526367188, + "y": 467.9034729003906 + }, + { + "x": 356.3973693847656, + "y": 494.27850341796875 + }, + { + "x": 385.0185852050781, + "y": 494.3875427246094 + }, + { + "x": 413.51025390625, + "y": 494.306396484375 + }, + { + "x": 442.02496337890625, + "y": 494.4906921386719 + }, + { + "x": 469.9567565917969, + "y": 494.6087951660156 + }, + { + "x": 498.1419677734375, + "y": 494.3731384277344 + }, + { + "x": 525.7360229492188, + "y": 494.5495300292969 + }, + { + "x": 353.6346130371094, + "y": 522.314208984375 + }, + { + "x": 382.594482421875, + "y": 521.8651733398438 + }, + { + "x": 411.243896484375, + "y": 522.1008911132812 + }, + { + "x": 439.9864196777344, + "y": 521.8636474609375 + }, + { + "x": 468.44830322265625, + "y": 521.88818359375 + }, + { + "x": 496.67999267578125, + "y": 521.6735229492188 + }, + { + "x": 524.8323364257812, + "y": 521.7916870117188 + } + ], + "reprojectionErrors": [ + { + "x": 0.09161376953125, + "y": -0.069366455078125 + }, + { + "x": -0.12896728515625, + "y": 0.048187255859375 + }, + { + "x": -0.00469970703125, + "y": -0.0233154296875 + }, + { + "x": -0.2357177734375, + "y": 0.06591796875 + }, + { + "x": -0.11090087890625, + "y": -0.032318115234375 + }, + { + "x": -0.038360595703125, + "y": 0.04833984375 + }, + { + "x": 0.028076171875, + "y": -0.121490478515625 + }, + { + "x": 0.059600830078125, + "y": -0.074462890625 + }, + { + "x": 0.094879150390625, + "y": -0.01483154296875 + }, + { + "x": 0.126739501953125, + "y": 0.2376708984375 + }, + { + "x": -0.045989990234375, + "y": -0.194793701171875 + }, + { + "x": 0.1326904296875, + "y": 0.271026611328125 + }, + { + "x": 0.18194580078125, + "y": -0.08917236328125 + }, + { + "x": -0.10888671875, + "y": -0.0152587890625 + }, + { + "x": -0.109954833984375, + "y": -0.035491943359375 + }, + { + "x": -0.1768798828125, + "y": -0.079193115234375 + }, + { + "x": -0.140594482421875, + "y": 0.0596923828125 + }, + { + "x": -0.07659912109375, + "y": 0.0628662109375 + }, + { + "x": -0.03106689453125, + "y": 0.12518310546875 + }, + { + "x": 0.343658447265625, + "y": -0.181854248046875 + }, + { + "x": -0.00762939453125, + "y": -0.01947021484375 + }, + { + "x": 0.048797607421875, + "y": -0.34344482421875 + }, + { + "x": -0.21051025390625, + "y": -0.100799560546875 + }, + { + "x": 0.07354736328125, + "y": -0.396575927734375 + }, + { + "x": -0.037017822265625, + "y": -0.3348388671875 + }, + { + "x": -0.217071533203125, + "y": 0.06011962890625 + }, + { + "x": -0.17926025390625, + "y": -0.3046875 + }, + { + "x": -0.14263916015625, + "y": -0.22247314453125 + }, + { + "x": 0.3629150390625, + "y": 3.662109375E-4 + }, + { + "x": -0.0389404296875, + "y": -0.115692138671875 + }, + { + "x": 0.036712646484375, + "y": 0.041107177734375 + }, + { + "x": 0.0062255859375, + "y": 0.16094970703125 + }, + { + "x": -0.313995361328125, + "y": 0.04266357421875 + }, + { + "x": 0.1214599609375, + "y": -0.144287109375 + }, + { + "x": 0.22509765625, + "y": -0.054962158203125 + }, + { + "x": -0.12518310546875, + "y": 0.111572265625 + }, + { + "x": -0.09478759765625, + "y": 0.01806640625 + }, + { + "x": -0.094451904296875, + "y": 0.118560791015625 + }, + { + "x": -0.277069091796875, + "y": -0.042572021484375 + }, + { + "x": -0.036865234375, + "y": -0.1337890625 + }, + { + "x": -0.21038818359375, + "y": 0.13250732421875 + }, + { + "x": 0.0467529296875, + "y": -0.009552001953125 + }, + { + "x": 0.025665283203125, + "y": -0.22210693359375 + }, + { + "x": 0.013336181640625, + "y": 0.16290283203125 + }, + { + "x": 0.148529052734375, + "y": -0.133056640625 + }, + { + "x": 0.027496337890625, + "y": 0.0477294921875 + }, + { + "x": 0.02374267578125, + "y": -0.029541015625 + }, + { + "x": 0.086639404296875, + "y": 0.1361083984375 + }, + { + "x": 0.065185546875, + "y": -0.02740478515625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.28687156662240704, + "y": -0.025700869730165502, + "z": 0.8632162158924642 + }, + "rotation": { + "quaternion": { + "W": 0.9851970648999652, + "X": -0.16469372274016983, + "Y": -0.04752801129262799, + "Z": -0.0019517031141522425 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img45.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img45.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 333.0405578613281, + "y": 305.67633056640625 + }, + { + "x": 359.26422119140625, + "y": 305.9444274902344 + }, + { + "x": 385.6247863769531, + "y": 306.04107666015625 + }, + { + "x": 411.6567077636719, + "y": 306.6542663574219 + }, + { + "x": 437.2380065917969, + "y": 307.0491027832031 + }, + { + "x": 463.07061767578125, + "y": 307.161376953125 + }, + { + "x": 489.05865478515625, + "y": 307.2983703613281 + }, + { + "x": 330.42974853515625, + "y": 329.13360595703125 + }, + { + "x": 356.99310302734375, + "y": 329.9023132324219 + }, + { + "x": 383.5, + "y": 330.05767822265625 + }, + { + "x": 409.8439636230469, + "y": 329.9941101074219 + }, + { + "x": 435.9251708984375, + "y": 330.269287109375 + }, + { + "x": 462.0750427246094, + "y": 330.8213195800781 + }, + { + "x": 488.04638671875, + "y": 330.95196533203125 + }, + { + "x": 328.22967529296875, + "y": 353.78753662109375 + }, + { + "x": 355.0801696777344, + "y": 353.8494873046875 + }, + { + "x": 381.6546325683594, + "y": 353.7526550292969 + }, + { + "x": 407.90130615234375, + "y": 354.0382385253906 + }, + { + "x": 434.5634460449219, + "y": 354.0588684082031 + }, + { + "x": 460.71942138671875, + "y": 354.0625915527344 + }, + { + "x": 487.0901184082031, + "y": 354.4375305175781 + }, + { + "x": 325.65093994140625, + "y": 377.9571838378906 + }, + { + "x": 352.8702087402344, + "y": 378.2255859375 + }, + { + "x": 379.840087890625, + "y": 378.4389953613281 + }, + { + "x": 406.71331787109375, + "y": 378.50140380859375 + }, + { + "x": 432.87408447265625, + "y": 378.56884765625 + }, + { + "x": 459.8232727050781, + "y": 378.76007080078125 + }, + { + "x": 485.8587951660156, + "y": 378.85595703125 + }, + { + "x": 323.45513916015625, + "y": 403.10247802734375 + }, + { + "x": 350.6533508300781, + "y": 403.1402893066406 + }, + { + "x": 377.80316162109375, + "y": 403.1808776855469 + }, + { + "x": 404.7989501953125, + "y": 403.2178649902344 + }, + { + "x": 431.3494873046875, + "y": 403.30108642578125 + }, + { + "x": 458.479248046875, + "y": 403.583984375 + }, + { + "x": 484.6603698730469, + "y": 403.2204895019531 + }, + { + "x": 320.85076904296875, + "y": 428.8176574707031 + }, + { + "x": 348.30206298828125, + "y": 428.8584899902344 + }, + { + "x": 375.694091796875, + "y": 428.7677307128906 + }, + { + "x": 402.9354248046875, + "y": 428.9032287597656 + }, + { + "x": 429.956298828125, + "y": 428.7310791015625 + }, + { + "x": 457.1788330078125, + "y": 428.80609130859375 + }, + { + "x": 483.8736877441406, + "y": 428.5926208496094 + }, + { + "x": 318.29345703125, + "y": 454.59185791015625 + }, + { + "x": 346.1477355957031, + "y": 454.58233642578125 + }, + { + "x": 373.65887451171875, + "y": 454.4954833984375 + }, + { + "x": 400.9800720214844, + "y": 454.3852233886719 + }, + { + "x": 428.2568054199219, + "y": 454.2118835449219 + }, + { + "x": 455.6239013671875, + "y": 453.9464416503906 + }, + { + "x": 483.0334777832031, + "y": 453.8943176269531 + } + ], + "reprojectionErrors": [ + { + "x": -0.0264892578125, + "y": 0.030029296875 + }, + { + "x": 0.0296630859375, + "y": 0.025299072265625 + }, + { + "x": -0.175537109375, + "y": 0.197418212890625 + }, + { + "x": -0.177032470703125, + "y": -0.141693115234375 + }, + { + "x": 0.146759033203125, + "y": -0.25714111328125 + }, + { + "x": 0.093475341796875, + "y": -0.0848388671875 + }, + { + "x": -0.24139404296875, + "y": 0.067962646484375 + }, + { + "x": 0.21270751953125, + "y": 0.274932861328125 + }, + { + "x": 0.17071533203125, + "y": -0.28643798828125 + }, + { + "x": 0.05841064453125, + "y": -0.229156494140625 + }, + { + "x": -0.01812744140625, + "y": 0.05230712890625 + }, + { + "x": 0.040496826171875, + "y": 2.44140625E-4 + }, + { + "x": -0.09759521484375, + "y": -0.32354736328125 + }, + { + "x": -0.185577392578125, + "y": -0.220855712890625 + }, + { + "x": 0.001678466796875, + "y": -0.242218017578125 + }, + { + "x": -0.08184814453125, + "y": -0.154937744140625 + }, + { + "x": -0.01837158203125, + "y": 0.096343994140625 + }, + { + "x": 0.24334716796875, + "y": -0.029632568359375 + }, + { + "x": -0.04034423828125, + "y": 0.114471435546875 + }, + { + "x": 0.051788330078125, + "y": 0.280548095703125 + }, + { + "x": -0.201507568359375, + "y": 0.080413818359375 + }, + { + "x": 0.128814697265625, + "y": 0.17047119140625 + }, + { + "x": -0.073638916015625, + "y": -0.009002685546875 + }, + { + "x": -0.15814208984375, + "y": -0.128326416015625 + }, + { + "x": -0.27789306640625, + "y": -0.09161376953125 + }, + { + "x": 0.1824951171875, + "y": -0.05487060546875 + }, + { + "x": -0.278289794921875, + "y": -0.13690185546875 + }, + { + "x": 0.041473388671875, + "y": -0.118682861328125 + }, + { + "x": -0.168487548828125, + "y": 0.064361572265625 + }, + { + "x": -0.095733642578125, + "y": 0.05291748046875 + }, + { + "x": -0.108428955078125, + "y": 0.04376220703125 + }, + { + "x": -0.10150146484375, + "y": 0.043182373046875 + }, + { + "x": 0.2159423828125, + "y": 0.0013427734375 + }, + { + "x": -0.181060791015625, + "y": -0.235260009765625 + }, + { + "x": 0.23504638671875, + "y": 0.179412841796875 + }, + { + "x": -0.09979248046875, + "y": -0.143157958984375 + }, + { + "x": -0.021514892578125, + "y": -0.222503662109375 + }, + { + "x": -0.020355224609375, + "y": -0.165313720703125 + }, + { + "x": -0.005401611328125, + "y": -0.3294677734375 + }, + { + "x": 0.092742919921875, + "y": -0.18109130859375 + }, + { + "x": -0.148468017578125, + "y": -0.2750244140625 + }, + { + "x": -6.103515625E-5, + "y": -0.07568359375 + }, + { + "x": -0.121795654296875, + "y": 0.0709228515625 + }, + { + "x": -0.183349609375, + "y": -0.02545166015625 + }, + { + "x": -0.040740966796875, + "y": -0.03961181640625 + }, + { + "x": 0.15234375, + "y": -0.0255126953125 + }, + { + "x": 0.250030517578125, + "y": 0.05645751953125 + }, + { + "x": 0.1170654296875, + "y": 0.235321044921875 + }, + { + "x": -0.199005126953125, + "y": 0.205596923828125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.3334672332907623, + "y": -0.0845103803451142, + "z": 0.8971642164671456 + }, + "rotation": { + "quaternion": { + "W": 0.9862743250599206, + "X": -0.15908678538005344, + "Y": -0.043845316639271395, + "Z": -0.005651429362632442 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img46.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img46.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 181.69639587402344, + "y": 380.29364013671875 + }, + { + "x": 209.24578857421875, + "y": 379.8513488769531 + }, + { + "x": 236.6610107421875, + "y": 380.18817138671875 + }, + { + "x": 264.01715087890625, + "y": 379.9288024902344 + }, + { + "x": 291.2950439453125, + "y": 380.0123291015625 + }, + { + "x": 318.1691589355469, + "y": 380.0486145019531 + }, + { + "x": 345.5300598144531, + "y": 380.3331604003906 + }, + { + "x": 233.30845642089844, + "y": 405.2090759277344 + }, + { + "x": 260.9805603027344, + "y": 405.35565185546875 + }, + { + "x": 288.7879333496094, + "y": 405.2369079589844 + }, + { + "x": 315.67901611328125, + "y": 405.3807067871094 + }, + { + "x": 343.0108642578125, + "y": 405.1648254394531 + }, + { + "x": 230.02708435058594, + "y": 430.8783874511719 + }, + { + "x": 257.9150085449219, + "y": 430.6014709472656 + }, + { + "x": 285.8395690917969, + "y": 430.69158935546875 + }, + { + "x": 313.5113220214844, + "y": 430.6093444824219 + }, + { + "x": 340.948974609375, + "y": 430.39434814453125 + }, + { + "x": 170.1673126220703, + "y": 457.41107177734375 + }, + { + "x": 198.58071899414062, + "y": 457.140869140625 + }, + { + "x": 226.62222290039062, + "y": 457.0419616699219 + }, + { + "x": 254.62686157226562, + "y": 457.0404357910156 + }, + { + "x": 283.01190185546875, + "y": 457.05902099609375 + }, + { + "x": 310.616455078125, + "y": 456.8335266113281 + }, + { + "x": 338.2434387207031, + "y": 456.0457763671875 + }, + { + "x": 166.32081604003906, + "y": 483.9586486816406 + }, + { + "x": 194.73773193359375, + "y": 483.5129089355469 + }, + { + "x": 223.2384490966797, + "y": 483.61761474609375 + }, + { + "x": 251.48008728027344, + "y": 483.0973815917969 + }, + { + "x": 279.69677734375, + "y": 483.2369689941406 + }, + { + "x": 308.2110900878906, + "y": 482.95556640625 + }, + { + "x": 336.2097473144531, + "y": 482.878173828125 + }, + { + "x": 162.18710327148438, + "y": 511.2271423339844 + }, + { + "x": 191.10763549804688, + "y": 511.0355224609375 + }, + { + "x": 276.7627868652344, + "y": 509.98681640625 + }, + { + "x": 305.3432922363281, + "y": 509.8269958496094 + }, + { + "x": 333.5946350097656, + "y": 509.50030517578125 + }, + { + "x": 158.18739318847656, + "y": 539.0061645507812 + }, + { + "x": 186.79981994628906, + "y": 538.6495361328125 + }, + { + "x": 273.8291931152344, + "y": 537.924560546875 + }, + { + "x": 302.1466369628906, + "y": 537.3722534179688 + }, + { + "x": 330.9212646484375, + "y": 536.9432373046875 + } + ], + "reprojectionErrors": [ + { + "x": 0.0659027099609375, + "y": -0.34014892578125 + }, + { + "x": 0.0756683349609375, + "y": 0.13006591796875 + }, + { + "x": 0.0953216552734375, + "y": -0.17340087890625 + }, + { + "x": 0.049163818359375, + "y": 0.124664306640625 + }, + { + "x": -0.044189453125, + "y": 0.08514404296875 + }, + { + "x": 0.140228271484375, + "y": 0.098175048828125 + }, + { + "x": -0.2886962890625, + "y": -0.1318359375 + }, + { + "x": -0.320037841796875, + "y": -0.08905029296875 + }, + { + "x": 0.100830078125, + "y": -0.244415283203125 + }, + { + "x": -0.047943115234375, + "y": -0.03497314453125 + }, + { + "x": 0.0795135498046875, + "y": -0.049896240234375 + }, + { + "x": 0.0223388671875, + "y": 0.142120361328125 + }, + { + "x": -0.302764892578125, + "y": 0.12506103515625 + }, + { + "x": -0.062835693359375, + "y": -0.14306640625 + }, + { + "x": -0.114593505859375, + "y": -0.033111572265625 + }, + { + "x": 0.074066162109375, + "y": -0.089385986328125 + }, + { + "x": 0.1674652099609375, + "y": -0.238037109375 + }, + { + "x": -0.252197265625, + "y": -0.401824951171875 + }, + { + "x": -0.024627685546875, + "y": -0.316558837890625 + }, + { + "x": 0.0467529296875, + "y": 0.335906982421875 + }, + { + "x": -0.237274169921875, + "y": 0.06329345703125 + }, + { + "x": -0.015411376953125, + "y": 0.281280517578125 + }, + { + "x": -0.011383056640625, + "y": -0.0462646484375 + }, + { + "x": 0.1170654296875, + "y": 0.25604248046875 + }, + { + "x": 0.13525390625, + "y": -0.096588134765625 + }, + { + "x": -0.279937744140625, + "y": -0.02337646484375 + }, + { + "x": -0.3157958984375, + "y": -0.149322509765625 + }, + { + "x": -0.1949005126953125, + "y": 0.061431884765625 + }, + { + "x": -0.1945037841796875, + "y": -0.044769287109375 + }, + { + "x": 0.09088134765625, + "y": 0.139251708984375 + }, + { + "x": -0.118804931640625, + "y": 0.020355224609375 + }, + { + "x": -0.13824462890625, + "y": 0.073089599609375 + }, + { + "x": -0.35882568359375, + "y": 0.07537841796875 + }, + { + "x": 0.324005126953125, + "y": -0.09674072265625 + }, + { + "x": 0.055206298828125, + "y": -0.01495361328125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.4664385592540957, + "y": -0.010339050952608312, + "z": 0.8656171626005003 + }, + "rotation": { + "quaternion": { + "W": 0.9866571634780262, + "X": -0.1574157028573006, + "Y": -0.041102693366764614, + "Z": -0.006205388741665844 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true + ], + "snapshotName": "img47.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img47.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 384.3523254394531, + "y": 246.27780151367188 + }, + { + "x": 407.609130859375, + "y": 243.71737670898438 + }, + { + "x": 432.50408935546875, + "y": 243.94371032714844 + }, + { + "x": 458.540771484375, + "y": 242.17037963867188 + }, + { + "x": 483.0560302734375, + "y": 240.92579650878906 + }, + { + "x": 382.4452209472656, + "y": 269.2780456542969 + }, + { + "x": 407.9594421386719, + "y": 268.0743103027344 + }, + { + "x": 432.3648986816406, + "y": 266.9917907714844 + }, + { + "x": 457.7112121582031, + "y": 265.7183837890625 + }, + { + "x": 482.4927062988281, + "y": 264.0597229003906 + }, + { + "x": 381.68084716796875, + "y": 292.77154541015625 + }, + { + "x": 406.54302978515625, + "y": 291.37353515625 + }, + { + "x": 431.69873046875, + "y": 290.1417541503906 + }, + { + "x": 506.8955993652344, + "y": 285.87939453125 + }, + { + "x": 532.557861328125, + "y": 284.9130554199219 + }, + { + "x": 379.9658203125, + "y": 316.31072998046875 + }, + { + "x": 405.8340759277344, + "y": 315.3907470703125 + }, + { + "x": 430.6299743652344, + "y": 313.953369140625 + }, + { + "x": 506.57818603515625, + "y": 310.136962890625 + }, + { + "x": 531.8065795898438, + "y": 308.8339538574219 + }, + { + "x": 379.0207214355469, + "y": 341.0173645019531 + }, + { + "x": 403.71728515625, + "y": 339.2676696777344 + }, + { + "x": 429.6788635253906, + "y": 338.4024353027344 + }, + { + "x": 454.9940490722656, + "y": 337.0 + }, + { + "x": 480.7091369628906, + "y": 335.92401123046875 + }, + { + "x": 506.22613525390625, + "y": 334.5889587402344 + }, + { + "x": 531.8401489257812, + "y": 333.249267578125 + }, + { + "x": 377.6379699707031, + "y": 365.2436828613281 + }, + { + "x": 403.15521240234375, + "y": 364.1036071777344 + }, + { + "x": 428.5198059082031, + "y": 363.0321960449219 + }, + { + "x": 454.1886291503906, + "y": 361.5097961425781 + }, + { + "x": 479.9548645019531, + "y": 360.1792297363281 + }, + { + "x": 505.8079833984375, + "y": 359.07122802734375 + }, + { + "x": 531.7752685546875, + "y": 358.2224426269531 + }, + { + "x": 375.9524841308594, + "y": 390.24749755859375 + }, + { + "x": 401.7905578613281, + "y": 389.05023193359375 + }, + { + "x": 427.5318908691406, + "y": 387.6261291503906 + }, + { + "x": 453.0041809082031, + "y": 386.2737731933594 + }, + { + "x": 479.1990051269531, + "y": 385.40667724609375 + }, + { + "x": 504.909912109375, + "y": 383.7725830078125 + }, + { + "x": 531.0429077148438, + "y": 382.78704833984375 + } + ], + "reprojectionErrors": [ + { + "x": -0.23760986328125, + "y": -0.123748779296875 + }, + { + "x": -0.479248046875, + "y": -0.0409393310546875 + }, + { + "x": -0.2099609375, + "y": -0.1309967041015625 + }, + { + "x": 0.032012939453125, + "y": -0.384002685546875 + }, + { + "x": -0.413787841796875, + "y": -0.4290771484375 + }, + { + "x": -0.22662353515625, + "y": -0.085723876953125 + }, + { + "x": -0.201995849609375, + "y": -0.0673828125 + }, + { + "x": -0.119476318359375, + "y": 0.02716064453125 + }, + { + "x": -0.364013671875, + "y": 0.012054443359375 + }, + { + "x": 0.172271728515625, + "y": 0.20098876953125 + }, + { + "x": -0.565460205078125, + "y": -0.160552978515625 + }, + { + "x": 0.1771240234375, + "y": 0.025054931640625 + }, + { + "x": -0.239044189453125, + "y": -0.3336181640625 + }, + { + "x": 0.383270263671875, + "y": 0.157318115234375 + }, + { + "x": -0.1861572265625, + "y": -0.2342529296875 + }, + { + "x": -0.03692626953125, + "y": -0.0865478515625 + }, + { + "x": -0.06719970703125, + "y": -0.08697509765625 + }, + { + "x": -0.228607177734375, + "y": -0.01611328125 + }, + { + "x": -0.236175537109375, + "y": -0.11114501953125 + }, + { + "x": -0.016693115234375, + "y": -0.27325439453125 + }, + { + "x": -0.028106689453125, + "y": 0.017303466796875 + }, + { + "x": -0.064697265625, + "y": 0.1177978515625 + }, + { + "x": -0.1170654296875, + "y": -0.002471923828125 + }, + { + "x": -0.213623046875, + "y": -0.380035400390625 + }, + { + "x": 0.06829833984375, + "y": -0.096771240234375 + }, + { + "x": -0.066741943359375, + "y": -0.110107421875 + }, + { + "x": -0.029510498046875, + "y": 0.104644775390625 + }, + { + "x": 0.3511962890625, + "y": 0.248931884765625 + }, + { + "x": 0.082672119140625, + "y": -0.09063720703125 + }, + { + "x": 0.370269775390625, + "y": 0.338226318359375 + }, + { + "x": 0.30682373046875, + "y": 0.12005615234375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.2900807686228318, + "y": -0.14739953959208654, + "z": 0.9202636648899198 + }, + "rotation": { + "quaternion": { + "W": 0.9905088495775288, + "X": -0.13361594878600083, + "Y": 0.025513829402831558, + "Z": -0.019698772749096052 + } + } + }, + "cornersUsed": [ + true, + false, + false, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img48.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img48.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -4.9626247346168384E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -8.271041588159278E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -9.925249469233677E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -8.271040860563517E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -4.962624370818958E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -3.789690890698694E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.3714941451326013E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -8.752315625315532E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -6.316151848295704E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.1278776946710423E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2542007607407868E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -7.579381781397387E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.7504631250631064E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.5850423369556665E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2542006152216345E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -6.316151120699942E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.4587193436454982E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.624140131752938E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.458719198126346E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.1278776219114661E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.2060732842655852E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.371493999613449E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.2060732115060091E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -8.752315625315532E-5 + } + ], + "locationInImageSpace": [ + { + "x": 228.470703125, + "y": 258.43231201171875 + }, + { + "x": 252.66738891601562, + "y": 257.8433532714844 + }, + { + "x": 277.1480712890625, + "y": 257.2458190917969 + }, + { + "x": 301.9417724609375, + "y": 256.11566162109375 + }, + { + "x": 326.5147399902344, + "y": 255.72547912597656 + }, + { + "x": 350.39019775390625, + "y": 254.55447387695312 + }, + { + "x": 374.7546081542969, + "y": 254.20962524414062 + }, + { + "x": 226.76864624023438, + "y": 280.7858581542969 + }, + { + "x": 251.79481506347656, + "y": 279.7404479980469 + }, + { + "x": 276.41790771484375, + "y": 279.05474853515625 + }, + { + "x": 300.9403381347656, + "y": 278.5249328613281 + }, + { + "x": 324.6551818847656, + "y": 277.4036560058594 + }, + { + "x": 349.9950866699219, + "y": 277.0682373046875 + }, + { + "x": 374.1478271484375, + "y": 276.18701171875 + }, + { + "x": 225.0283203125, + "y": 303.1795349121094 + }, + { + "x": 249.80844116210938, + "y": 302.37933349609375 + }, + { + "x": 275.0523376464844, + "y": 301.7913818359375 + }, + { + "x": 299.7330322265625, + "y": 300.88446044921875 + }, + { + "x": 324.1490173339844, + "y": 300.08740234375 + }, + { + "x": 349.112060546875, + "y": 299.5065002441406 + }, + { + "x": 373.4641418457031, + "y": 298.7934875488281 + }, + { + "x": 223.19454956054688, + "y": 325.980224609375 + }, + { + "x": 248.46705627441406, + "y": 325.16741943359375 + }, + { + "x": 273.51971435546875, + "y": 324.4095153808594 + }, + { + "x": 298.4198913574219, + "y": 323.8679504394531 + }, + { + "x": 323.2004089355469, + "y": 322.94451904296875 + }, + { + "x": 348.2811279296875, + "y": 322.2543029785156 + }, + { + "x": 373.1083068847656, + "y": 320.9771423339844 + }, + { + "x": 221.49490356445312, + "y": 349.4034729003906 + }, + { + "x": 246.68545532226562, + "y": 348.3773498535156 + }, + { + "x": 272.3031921386719, + "y": 347.6249084472656 + }, + { + "x": 297.6560363769531, + "y": 347.2414855957031 + }, + { + "x": 322.3937683105469, + "y": 345.7737121582031 + }, + { + "x": 347.18389892578125, + "y": 345.0922546386719 + }, + { + "x": 372.25372314453125, + "y": 344.025146484375 + }, + { + "x": 219.884033203125, + "y": 372.9402770996094 + }, + { + "x": 245.40484619140625, + "y": 372.07061767578125 + }, + { + "x": 270.45135498046875, + "y": 370.95709228515625 + }, + { + "x": 296.0635681152344, + "y": 370.2153625488281 + }, + { + "x": 321.44793701171875, + "y": 369.6730651855469 + }, + { + "x": 346.8609924316406, + "y": 368.1522216796875 + }, + { + "x": 371.22503662109375, + "y": 367.1775207519531 + }, + { + "x": 244.0224151611328, + "y": 396.039794921875 + }, + { + "x": 269.11358642578125, + "y": 394.822021484375 + }, + { + "x": 294.92291259765625, + "y": 393.8627014160156 + }, + { + "x": 320.205322265625, + "y": 392.7732238769531 + }, + { + "x": 345.59295654296875, + "y": 391.987060546875 + }, + { + "x": 370.9603271484375, + "y": 390.86456298828125 + } + ], + "reprojectionErrors": [ + { + "x": -0.188568115234375, + "y": -0.067138671875 + }, + { + "x": 0.243072509765625, + "y": -0.193817138671875 + }, + { + "x": 0.306060791015625, + "y": -0.30303955078125 + }, + { + "x": -0.029388427734375, + "y": 0.129180908203125 + }, + { + "x": -0.230224609375, + "y": -0.1697540283203125 + }, + { + "x": 0.1795654296875, + "y": 0.320953369140625 + }, + { + "x": 0.012847900390625, + "y": -0.0056915283203125 + }, + { + "x": -0.1444091796875, + "y": -0.136199951171875 + }, + { + "x": -0.370361328125, + "y": 0.147491455078125 + }, + { + "x": -0.279083251953125, + "y": 0.080169677734375 + }, + { + "x": -0.173736572265625, + "y": -0.134307861328125 + }, + { + "x": 0.65185546875, + "y": 0.251373291015625 + }, + { + "x": -0.2357177734375, + "y": -0.140106201171875 + }, + { + "x": -0.02490234375, + "y": 0.022857666015625 + }, + { + "x": -0.07989501953125, + "y": 0.067047119140625 + }, + { + "x": 0.1141815185546875, + "y": 0.058258056640625 + }, + { + "x": -0.242584228515625, + "y": -0.15423583984375 + }, + { + "x": -0.12396240234375, + "y": -0.0391845703125 + }, + { + "x": 0.170806884765625, + "y": -0.025421142578125 + }, + { + "x": -0.170806884765625, + "y": -0.219268798828125 + }, + { + "x": 0.008514404296875, + "y": -0.272491455078125 + }, + { + "x": 0.059814453125, + "y": 0.181396484375 + }, + { + "x": -0.0623779296875, + "y": 0.13665771484375 + }, + { + "x": -0.05303955078125, + "y": 0.045440673828125 + }, + { + "x": 0.01971435546875, + "y": -0.253662109375 + }, + { + "x": 0.122314453125, + "y": -0.162506103515625 + }, + { + "x": -0.165863037109375, + "y": -0.296112060546875 + }, + { + "x": -0.291778564453125, + "y": 0.16558837890625 + }, + { + "x": 0.0468597412109375, + "y": -0.0029296875 + }, + { + "x": 0.18487548828125, + "y": 0.1158447265625 + }, + { + "x": -0.19384765625, + "y": -0.030792236328125 + }, + { + "x": -0.39801025390625, + "y": -0.53814697265625 + }, + { + "x": -0.078155517578125, + "y": 0.047119140625 + }, + { + "x": 0.097412109375, + "y": -0.1456298828125 + }, + { + "x": -0.0992431640625, + "y": 0.055511474609375 + }, + { + "x": -0.0737457275390625, + "y": 0.028961181640625 + }, + { + "x": -0.08551025390625, + "y": -0.05987548828125 + }, + { + "x": 0.286163330078125, + "y": 0.10333251953125 + }, + { + "x": 5.18798828125E-4, + "y": -0.097137451171875 + }, + { + "x": -0.149688720703125, + "y": -0.488922119140625 + }, + { + "x": -0.4217529296875, + "y": 0.10601806640625 + }, + { + "x": 0.261322021484375, + "y": 0.162933349609375 + }, + { + "x": 0.23736572265625, + "y": 0.037811279296875 + }, + { + "x": -0.065338134765625, + "y": 0.002166748046875 + }, + { + "x": 0.065185546875, + "y": 0.10467529296875 + }, + { + "x": -0.0040283203125, + "y": -0.088165283203125 + }, + { + "x": -0.148193359375, + "y": 0.0633544921875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.4679473040769877, + "y": -0.14077946397031607, + "z": 0.9600139575053975 + }, + "rotation": { + "quaternion": { + "W": 0.9906446109979943, + "X": -0.13020279334440396, + "Y": -0.032823917618546736, + "Z": -0.024353187432408514 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img49.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/faa1402d-31f7-41b8-99cf-df00de7de0bf/imgs/1280x800/img49.png" + } + ], + "calobjectSize": { + "width": 7.0, + "height": 7.0 + }, + "calobjectSpacing": 0.0254, + "lensmodel": "LENSMODEL_OPENCV" +} diff --git a/camera_calibrations/rearcamera_1280x800.json b/camera_calibrations/rearcamera_1280x800.json new file mode 100644 index 0000000..b067533 --- /dev/null +++ b/camera_calibrations/rearcamera_1280x800.json @@ -0,0 +1,12956 @@ +{ + "resolution": { + "width": 1280.0, + "height": 800.0 + }, + "cameraIntrinsics": { + "rows": 3, + "cols": 3, + "type": 6, + "data": [ + 690.4033913579483, + 0.0, + 704.0001635733704, + 0.0, + 689.7112711910397, + 405.7666854748816, + 0.0, + 0.0, + 1.0 + ] + }, + "distCoeffs": { + "rows": 1, + "cols": 8, + "type": 6, + "data": [ + -0.059861072509357495, + -0.04417256920742929, + -2.3662501847575466E-4, + 7.309482182185924E-5, + 0.00474388651120468, + 0.3046924894296989, + -0.13542360190694022, + 0.009941499316263225 + ] + }, + "calobjectWarp": [ + -3.743261815898499E-5, + -2.656697467348669E-4 + ], + "observations": [ + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + } + ], + "locationInImageSpace": [ + { + "x": 603.9915771484375, + "y": 166.9385986328125 + }, + { + "x": 659.5496826171875, + "y": 164.24459838867188 + }, + { + "x": 713.6287231445312, + "y": 163.4082489013672 + }, + { + "x": 767.5697631835938, + "y": 163.48516845703125 + }, + { + "x": 819.9819946289062, + "y": 163.99172973632812 + }, + { + "x": 870.2723388671875, + "y": 165.75848388671875 + }, + { + "x": 919.4141235351562, + "y": 168.8279571533203 + }, + { + "x": 605.24267578125, + "y": 218.8679962158203 + }, + { + "x": 660.1045532226562, + "y": 217.189208984375 + }, + { + "x": 715.2073364257812, + "y": 216.032470703125 + }, + { + "x": 769.494384765625, + "y": 215.2493133544922 + }, + { + "x": 821.8699340820312, + "y": 215.3927459716797 + }, + { + "x": 873.8526611328125, + "y": 216.60874938964844 + }, + { + "x": 606.5322265625, + "y": 272.6792907714844 + }, + { + "x": 661.2634887695312, + "y": 270.2684631347656 + }, + { + "x": 716.6866455078125, + "y": 269.0271911621094 + }, + { + "x": 770.7677001953125, + "y": 268.2019958496094 + }, + { + "x": 823.525634765625, + "y": 268.6169738769531 + }, + { + "x": 875.4766845703125, + "y": 269.0400085449219 + }, + { + "x": 607.6632690429688, + "y": 327.7048645019531 + }, + { + "x": 663.0808715820312, + "y": 325.8839111328125 + }, + { + "x": 718.0858154296875, + "y": 324.12969970703125 + }, + { + "x": 772.4926147460938, + "y": 323.1944885253906 + }, + { + "x": 924.8982543945312, + "y": 322.0762634277344 + }, + { + "x": 610.4027099609375, + "y": 381.83221435546875 + }, + { + "x": 664.9487915039062, + "y": 380.4199523925781 + }, + { + "x": 719.0371704101562, + "y": 379.2206726074219 + }, + { + "x": 772.7572631835938, + "y": 377.2952880859375 + }, + { + "x": 612.1065673828125, + "y": 436.065185546875 + }, + { + "x": 666.6683349609375, + "y": 434.269775390625 + }, + { + "x": 720.3836669921875, + "y": 432.2665710449219 + }, + { + "x": 774.300048828125, + "y": 430.2528991699219 + }, + { + "x": 826.1166381835938, + "y": 428.2655029296875 + }, + { + "x": 615.2666015625, + "y": 488.12396240234375 + }, + { + "x": 668.6627197265625, + "y": 486.4102478027344 + }, + { + "x": 721.85595703125, + "y": 484.6096496582031 + }, + { + "x": 774.0072021484375, + "y": 482.5387878417969 + }, + { + "x": 825.6576538085938, + "y": 479.9268493652344 + } + ], + "reprojectionErrors": [ + { + "x": 1.15509033203125, + "y": -3.74212646484375 + }, + { + "x": 0.13909912109375, + "y": -0.841827392578125 + }, + { + "x": -0.13580322265625, + "y": 0.20257568359375 + }, + { + "x": -0.99884033203125, + "y": 0.335418701171875 + }, + { + "x": -1.04742431640625, + "y": 0.0402679443359375 + }, + { + "x": 0.3228759765625, + "y": -1.513458251953125 + }, + { + "x": 2.14996337890625, + "y": -4.36834716796875 + }, + { + "x": 1.351806640625, + "y": -1.3439483642578125 + }, + { + "x": 1.0399169921875, + "y": 0.1717071533203125 + }, + { + "x": -0.251220703125, + "y": 1.1710662841796875 + }, + { + "x": -1.45306396484375, + "y": 1.8024749755859375 + }, + { + "x": -1.4581298828125, + "y": 1.5128173828125 + }, + { + "x": -1.77374267578125, + "y": 0.156005859375 + }, + { + "x": 1.3350830078125, + "y": 1.10382080078125 + }, + { + "x": -0.2760009765625, + "y": 1.82171630859375 + }, + { + "x": -1.2716064453125, + "y": 2.133148193359375 + }, + { + "x": -1.65899658203125, + "y": 1.213775634765625 + }, + { + "x": -1.9429931640625, + "y": 0.295623779296875 + }, + { + "x": 1.84326171875, + "y": -1.3863525390625 + }, + { + "x": -0.22998046875, + "y": 0.395965576171875 + }, + { + "x": -1.5579833984375, + "y": 0.45513916015625 + }, + { + "x": 1.02886962890625, + "y": -0.975921630859375 + }, + { + "x": 0.56695556640625, + "y": -1.090576171875 + }, + { + "x": -0.40093994140625, + "y": -0.321075439453125 + }, + { + "x": 0.33013916015625, + "y": -0.912445068359375 + }, + { + "x": 0.27691650390625, + "y": -0.76025390625 + }, + { + "x": 0.33233642578125, + "y": -0.378570556640625 + }, + { + "x": -0.53936767578125, + "y": 0.03497314453125 + }, + { + "x": 0.27386474609375, + "y": 0.921295166015625 + }, + { + "x": 1.13995361328125, + "y": 1.03076171875 + }, + { + "x": 1.79315185546875, + "y": 1.70623779296875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.04610188157657914, + "y": -0.11323995471533646, + "z": 0.32198047076111325 + }, + "rotation": { + "quaternion": { + "W": 0.9989511483496165, + "X": -1.1049897075110515E-4, + "Y": -0.043793259681504645, + "Z": -0.013369420609298275 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img0.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img0.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + } + ], + "locationInImageSpace": [ + { + "x": 809.7509155273438, + "y": 125.36871337890625 + }, + { + "x": 856.812255859375, + "y": 127.5853042602539 + }, + { + "x": 901.1655883789062, + "y": 130.09483337402344 + }, + { + "x": 943.318603515625, + "y": 133.3955078125 + }, + { + "x": 984.0018310546875, + "y": 137.92478942871094 + }, + { + "x": 1021.8718872070312, + "y": 141.85362243652344 + }, + { + "x": 811.3689575195312, + "y": 171.6231689453125 + }, + { + "x": 858.0364990234375, + "y": 173.64376831054688 + }, + { + "x": 902.71337890625, + "y": 174.79017639160156 + }, + { + "x": 945.63671875, + "y": 178.30470275878906 + }, + { + "x": 986.366455078125, + "y": 181.3516082763672 + }, + { + "x": 1024.533447265625, + "y": 185.0660400390625 + }, + { + "x": 813.0226440429688, + "y": 219.08474731445312 + }, + { + "x": 859.2008666992188, + "y": 219.58079528808594 + }, + { + "x": 904.8713989257812, + "y": 221.16207885742188 + }, + { + "x": 946.9918823242188, + "y": 223.4085693359375 + }, + { + "x": 986.7406616210938, + "y": 226.32684326171875 + }, + { + "x": 813.2846069335938, + "y": 267.5968322753906 + }, + { + "x": 860.2972412109375, + "y": 268.0951843261719 + }, + { + "x": 904.7244262695312, + "y": 268.0628662109375 + }, + { + "x": 948.197509765625, + "y": 269.50921630859375 + }, + { + "x": 814.3411865234375, + "y": 315.7756652832031 + }, + { + "x": 860.6483764648438, + "y": 315.2020568847656 + }, + { + "x": 905.1701049804688, + "y": 315.7203674316406 + }, + { + "x": 947.639404296875, + "y": 315.3100280761719 + }, + { + "x": 813.9367065429688, + "y": 363.12969970703125 + }, + { + "x": 861.0393676757812, + "y": 362.2574157714844 + }, + { + "x": 905.756591796875, + "y": 363.0584716796875 + }, + { + "x": 946.2987670898438, + "y": 361.348876953125 + }, + { + "x": 986.5801391601562, + "y": 361.0685119628906 + }, + { + "x": 814.00439453125, + "y": 410.7806396484375 + }, + { + "x": 860.0736083984375, + "y": 409.4540100097656 + }, + { + "x": 902.757568359375, + "y": 407.6799011230469 + }, + { + "x": 944.0619506835938, + "y": 404.9649658203125 + }, + { + "x": 984.0244750976562, + "y": 403.88067626953125 + } + ], + "reprojectionErrors": [ + { + "x": 3.23675537109375, + "y": -1.4251937866210938 + }, + { + "x": 0.80889892578125, + "y": -0.5100021362304688 + }, + { + "x": -0.0845947265625, + "y": 0.0346221923828125 + }, + { + "x": 0.092041015625, + "y": -0.2866668701171875 + }, + { + "x": 0.64959716796875, + "y": -1.908599853515625 + }, + { + "x": 2.97100830078125, + "y": -2.9995269775390625 + }, + { + "x": 0.21826171875, + "y": 0.3527374267578125 + }, + { + "x": -1.0048828125, + "y": 1.645721435546875 + }, + { + "x": -1.6046142578125, + "y": 0.511016845703125 + }, + { + "x": -1.09942626953125, + "y": -0.2134857177734375 + }, + { + "x": 0.919189453125, + "y": -1.6608428955078125 + }, + { + "x": 1.2159423828125, + "y": -0.0113677978515625 + }, + { + "x": -2.57318115234375, + "y": 1.605438232421875 + }, + { + "x": -2.3802490234375, + "y": 1.13861083984375 + }, + { + "x": -0.90399169921875, + "y": -0.042755126953125 + }, + { + "x": 1.536376953125, + "y": -0.9354248046875 + }, + { + "x": -0.87542724609375, + "y": -0.19500732421875 + }, + { + "x": 1.033203125, + "y": -1.532806396484375 + }, + { + "x": -0.69342041015625, + "y": -0.351531982421875 + }, + { + "x": -1.80633544921875, + "y": -0.27667236328125 + }, + { + "x": -1.9952392578125, + "y": 0.712890625 + }, + { + "x": -0.201904296875, + "y": 0.387847900390625 + }, + { + "x": 0.68829345703125, + "y": 0.64910888671875 + }, + { + "x": 2.3892822265625, + "y": -1.46044921875 + }, + { + "x": 0.84613037109375, + "y": -0.785919189453125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.05813847175947151, + "y": -0.15048710905834323, + "z": 0.3682900004246182 + }, + "rotation": { + "quaternion": { + "W": 0.9951370768924481, + "X": 0.0015175021496849988, + "Y": -0.09828399404989868, + "Z": -0.006336552278566127 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img1.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img1.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + } + ], + "locationInImageSpace": [ + { + "x": 1035.9664306640625, + "y": 185.69317626953125 + }, + { + "x": 1163.4024658203125, + "y": 191.1353759765625 + }, + { + "x": 1202.405517578125, + "y": 195.0327911376953 + }, + { + "x": 1239.2003173828125, + "y": 197.62681579589844 + }, + { + "x": 1037.595947265625, + "y": 231.5496368408203 + }, + { + "x": 1165.477294921875, + "y": 237.22886657714844 + }, + { + "x": 1203.8001708984375, + "y": 239.98231506347656 + }, + { + "x": 1241.1136474609375, + "y": 243.57305908203125 + }, + { + "x": 1039.517333984375, + "y": 278.5403137207031 + }, + { + "x": 1165.380615234375, + "y": 283.2799072265625 + }, + { + "x": 1204.132080078125, + "y": 286.2508239746094 + }, + { + "x": 1240.7484130859375, + "y": 288.45263671875 + }, + { + "x": 1039.8426513671875, + "y": 324.00286865234375 + }, + { + "x": 1164.391357421875, + "y": 329.08184814453125 + }, + { + "x": 1039.013916015625, + "y": 368.4515686035156 + }, + { + "x": 1081.6407470703125, + "y": 370.1179504394531 + }, + { + "x": 1122.353759765625, + "y": 371.5660705566406 + }, + { + "x": 1036.44580078125, + "y": 412.0794982910156 + }, + { + "x": 1078.6837158203125, + "y": 413.53631591796875 + }, + { + "x": 1034.2025146484375, + "y": 453.7981872558594 + }, + { + "x": 1075.95458984375, + "y": 456.55804443359375 + } + ], + "reprojectionErrors": [ + { + "x": 3.726806640625, + "y": 0.8850555419921875 + }, + { + "x": 3.5626220703125, + "y": 1.5604400634765625 + }, + { + "x": 1.6895751953125, + "y": 0.08203125 + }, + { + "x": -2.2681884765625, + "y": 1.0239105224609375 + }, + { + "x": 1.4703369140625, + "y": -1.064056396484375 + }, + { + "x": -1.2059326171875, + "y": -2.08966064453125 + }, + { + "x": 1.5894775390625, + "y": -2.517364501953125 + }, + { + "x": -1.515869140625, + "y": -1.938568115234375 + }, + { + "x": -1.238037109375, + "y": -1.037689208984375 + }, + { + "x": 0.7315673828125, + "y": 0.752777099609375 + }, + { + "x": 0.6204833984375, + "y": 0.095184326171875 + }, + { + "x": 2.3287353515625, + "y": 4.506256103515625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.18822152813318943, + "y": -0.12302124361249767, + "z": 0.38710588783025396 + }, + "rotation": { + "quaternion": { + "W": 0.998043538957057, + "X": -0.0052085864093345995, + "Y": -0.061624116245659694, + "Z": 0.009188757839416273 + } + } + }, + "cornersUsed": [ + true, + false, + false, + true, + true, + true, + false, + true, + false, + false, + true, + true, + true, + false, + true, + false, + false, + true, + true, + true, + false, + true, + false, + false, + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false + ], + "snapshotName": "img2.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img2.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + } + ], + "locationInImageSpace": [ + { + "x": 1055.9605712890625, + "y": 196.33932495117188 + }, + { + "x": 1101.7408447265625, + "y": 196.8722686767578 + }, + { + "x": 1146.3651123046875, + "y": 199.2562255859375 + }, + { + "x": 1190.2392578125, + "y": 202.2752227783203 + }, + { + "x": 1059.1910400390625, + "y": 244.12118530273438 + }, + { + "x": 1103.724609375, + "y": 245.7765350341797 + }, + { + "x": 1148.4166259765625, + "y": 247.82225036621094 + }, + { + "x": 1191.48828125, + "y": 251.3717041015625 + }, + { + "x": 1233.6207275390625, + "y": 254.30093383789062 + }, + { + "x": 1060.1942138671875, + "y": 291.3939208984375 + }, + { + "x": 1104.610595703125, + "y": 293.67816162109375 + }, + { + "x": 1148.6695556640625, + "y": 295.8662109375 + }, + { + "x": 1191.8443603515625, + "y": 299.1617736816406 + }, + { + "x": 1232.942626953125, + "y": 302.82464599609375 + }, + { + "x": 1059.7005615234375, + "y": 338.2898864746094 + }, + { + "x": 1104.8680419921875, + "y": 340.8802185058594 + }, + { + "x": 1147.1536865234375, + "y": 343.93206787109375 + }, + { + "x": 1189.979248046875, + "y": 346.9101257324219 + }, + { + "x": 1058.5025634765625, + "y": 384.441650390625 + }, + { + "x": 1102.0382080078125, + "y": 387.3905029296875 + }, + { + "x": 1145.0648193359375, + "y": 390.0333251953125 + }, + { + "x": 1056.420654296875, + "y": 428.36871337890625 + }, + { + "x": 1099.2745361328125, + "y": 432.14166259765625 + }, + { + "x": 1140.9979248046875, + "y": 435.3959655761719 + }, + { + "x": 1094.697509765625, + "y": 474.5502014160156 + }, + { + "x": 1135.4244384765625, + "y": 478.7477111816406 + }, + { + "x": 1175.8096923828125, + "y": 482.2624816894531 + }, + { + "x": 1215.2147216796875, + "y": 484.8045349121094 + } + ], + "reprojectionErrors": [ + { + "x": 7.496826171875, + "y": -0.4059295654296875 + }, + { + "x": 5.4365234375, + "y": 2.2133636474609375 + }, + { + "x": 3.835205078125, + "y": 2.935089111328125 + }, + { + "x": 2.3013916015625, + "y": 2.9761505126953125 + }, + { + "x": -0.7481689453125, + "y": 0.077850341796875 + }, + { + "x": -1.21875, + "y": -0.1977691650390625 + }, + { + "x": -0.3216552734375, + "y": -0.876129150390625 + }, + { + "x": -1.0455322265625, + "y": -0.761810302734375 + }, + { + "x": -2.107666015625, + "y": -0.58746337890625 + }, + { + "x": -1.692626953125, + "y": -0.561492919921875 + }, + { + "x": -3.1883544921875, + "y": -1.129119873046875 + }, + { + "x": -2.496826171875, + "y": -2.189239501953125 + }, + { + "x": -3.0257568359375, + "y": -3.20587158203125 + }, + { + "x": -2.4063720703125, + "y": 0.42120361328125 + }, + { + "x": -2.28271484375, + "y": 3.536346435546875 + }, + { + "x": -1.5198974609375, + "y": 1.037750244140625 + }, + { + "x": -0.319091796875, + "y": -0.96282958984375 + }, + { + "x": 1.0189208984375, + "y": 5.191131591796875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.19305739984311168, + "y": -0.11281041809089794, + "z": 0.3708020498303858 + }, + "rotation": { + "quaternion": { + "W": 0.9981094006487604, + "X": 0.007802778927675932, + "Y": -0.058732998505706444, + "Z": 0.016345515106802933 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img3.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img3.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + } + ], + "locationInImageSpace": [ + { + "x": 1055.805419921875, + "y": 197.7366485595703 + }, + { + "x": 1103.853759765625, + "y": 199.98110961914062 + }, + { + "x": 1151.0333251953125, + "y": 202.23016357421875 + }, + { + "x": 1196.6021728515625, + "y": 205.67515563964844 + }, + { + "x": 1240.5819091796875, + "y": 209.42349243164062 + }, + { + "x": 1152.05224609375, + "y": 253.79478454589844 + }, + { + "x": 1197.1768798828125, + "y": 257.61785888671875 + }, + { + "x": 1240.8348388671875, + "y": 260.73236083984375 + }, + { + "x": 1152.2125244140625, + "y": 304.71624755859375 + }, + { + "x": 1197.0357666015625, + "y": 308.40081787109375 + }, + { + "x": 1238.8349609375, + "y": 312.02215576171875 + }, + { + "x": 1058.0804443359375, + "y": 349.93377685546875 + }, + { + "x": 1104.445068359375, + "y": 351.6521911621094 + }, + { + "x": 1150.26025390625, + "y": 355.4009094238281 + }, + { + "x": 1194.1982421875, + "y": 358.0153503417969 + }, + { + "x": 1235.624267578125, + "y": 360.6018981933594 + }, + { + "x": 1055.531982421875, + "y": 397.70123291015625 + }, + { + "x": 1101.2611083984375, + "y": 400.1329650878906 + }, + { + "x": 1146.9461669921875, + "y": 403.1134033203125 + }, + { + "x": 1189.264892578125, + "y": 406.124755859375 + }, + { + "x": 1231.126953125, + "y": 408.7915954589844 + }, + { + "x": 1052.7120361328125, + "y": 443.4289245605469 + }, + { + "x": 1098.139892578125, + "y": 446.4423522949219 + }, + { + "x": 1224.0096435546875, + "y": 455.3697814941406 + }, + { + "x": 1050.1217041015625, + "y": 486.3067321777344 + }, + { + "x": 1092.3603515625, + "y": 489.9925231933594 + }, + { + "x": 1216.8990478515625, + "y": 498.87744140625 + } + ], + "reprojectionErrors": [ + { + "x": 8.5928955078125, + "y": 0.372467041015625 + }, + { + "x": 6.1990966796875, + "y": 2.064483642578125 + }, + { + "x": 3.8724365234375, + "y": 3.68670654296875 + }, + { + "x": 2.37353515625, + "y": 4.0492706298828125 + }, + { + "x": 1.6986083984375, + "y": 4.04620361328125 + }, + { + "x": -3.2344970703125, + "y": -1.95123291015625 + }, + { + "x": -1.7572021484375, + "y": -2.662078857421875 + }, + { + "x": -1.3719482421875, + "y": -2.98284912109375 + }, + { + "x": -1.4830322265625, + "y": -1.3218994140625 + }, + { + "x": -1.646240234375, + "y": -1.561614990234375 + }, + { + "x": -2.562255859375, + "y": -2.38812255859375 + }, + { + "x": -1.3687744140625, + "y": 2.256561279296875 + }, + { + "x": -1.2655029296875, + "y": 1.002899169921875 + }, + { + "x": 4.7601318359375, + "y": -2.83056640625 + }, + { + "x": -1.529296875, + "y": 8.545196533203125 + }, + { + "x": 1.7235107421875, + "y": 6.189117431640625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.18432434169603557, + "y": -0.10631228079059038, + "z": 0.3531042840801981 + }, + "rotation": { + "quaternion": { + "W": 0.9978043804585648, + "X": 0.00955609308259941, + "Y": -0.06167385458778094, + "Z": 0.022168335142306914 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + false, + false, + true, + false, + false, + true, + true, + false, + false, + true, + false, + false + ], + "snapshotName": "img4.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img4.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + } + ], + "locationInImageSpace": [ + { + "x": 917.920166015625, + "y": 62.011348724365234 + }, + { + "x": 963.8876342773438, + "y": 57.98472595214844 + }, + { + "x": 1008.5311279296875, + "y": 54.395076751708984 + }, + { + "x": 1052.1358642578125, + "y": 52.35371398925781 + }, + { + "x": 1095.088134765625, + "y": 51.473670959472656 + }, + { + "x": 1136.2564697265625, + "y": 51.888431549072266 + }, + { + "x": 1175.384033203125, + "y": 53.88482666015625 + }, + { + "x": 926.0780029296875, + "y": 106.67282104492188 + }, + { + "x": 972.2671508789062, + "y": 102.01783752441406 + }, + { + "x": 1016.6974487304688, + "y": 99.20716857910156 + }, + { + "x": 1061.0123291015625, + "y": 97.52264404296875 + }, + { + "x": 1103.9256591796875, + "y": 96.87351989746094 + }, + { + "x": 1145.30322265625, + "y": 95.81890869140625 + }, + { + "x": 933.59423828125, + "y": 151.47479248046875 + }, + { + "x": 979.0298461914062, + "y": 147.81109619140625 + }, + { + "x": 1024.1220703125, + "y": 145.74383544921875 + }, + { + "x": 1068.02490234375, + "y": 142.80043029785156 + }, + { + "x": 1111.240478515625, + "y": 141.90670776367188 + }, + { + "x": 1151.97216796875, + "y": 141.83547973632812 + }, + { + "x": 939.7723999023438, + "y": 197.55287170410156 + }, + { + "x": 985.4383544921875, + "y": 194.30076599121094 + }, + { + "x": 1030.3448486328125, + "y": 191.5970916748047 + }, + { + "x": 1074.6016845703125, + "y": 189.4176788330078 + }, + { + "x": 1116.40625, + "y": 188.01048278808594 + }, + { + "x": 1157.185302734375, + "y": 188.6709747314453 + }, + { + "x": 946.31103515625, + "y": 243.12869262695312 + }, + { + "x": 990.85986328125, + "y": 240.05906677246094 + }, + { + "x": 1035.5330810546875, + "y": 237.27822875976562 + }, + { + "x": 1078.704833984375, + "y": 235.92117309570312 + }, + { + "x": 1121.3182373046875, + "y": 234.50814819335938 + }, + { + "x": 950.57568359375, + "y": 288.9009094238281 + }, + { + "x": 995.4234008789062, + "y": 286.4818420410156 + }, + { + "x": 1039.12939453125, + "y": 283.8762512207031 + }, + { + "x": 1082.2325439453125, + "y": 282.26947021484375 + }, + { + "x": 1124.0599365234375, + "y": 280.8573303222656 + }, + { + "x": 954.90869140625, + "y": 333.9348449707031 + }, + { + "x": 998.0098266601562, + "y": 330.95379638671875 + }, + { + "x": 1042.094482421875, + "y": 329.1995849609375 + }, + { + "x": 1083.943359375, + "y": 327.0946960449219 + }, + { + "x": 1125.3055419921875, + "y": 325.748779296875 + } + ], + "reprojectionErrors": [ + { + "x": 5.16131591796875, + "y": -3.6270217895507812 + }, + { + "x": 3.64593505859375, + "y": -0.793304443359375 + }, + { + "x": 2.73876953125, + "y": 1.6288108825683594 + }, + { + "x": 2.1695556640625, + "y": 2.5274620056152344 + }, + { + "x": 1.5665283203125, + "y": 2.2890853881835938 + }, + { + "x": 2.0753173828125, + "y": 0.7796783447265625 + }, + { + "x": 3.966552734375, + "y": -2.288097381591797 + }, + { + "x": 2.3096923828125, + "y": -2.7685623168945312 + }, + { + "x": 0.711669921875, + "y": 0.3209075927734375 + }, + { + "x": 0.15155029296875, + "y": 1.5967864990234375 + }, + { + "x": -0.9990234375, + "y": 1.776580810546875 + }, + { + "x": -1.439208984375, + "y": 0.950408935546875 + }, + { + "x": -1.0203857421875, + "y": 0.5585174560546875 + }, + { + "x": -0.60186767578125, + "y": 0.08111572265625 + }, + { + "x": -1.69403076171875, + "y": 0.2402801513671875 + }, + { + "x": -2.3076171875, + "y": 1.3110198974609375 + }, + { + "x": -2.929931640625, + "y": 0.36676025390625 + }, + { + "x": -1.7496337890625, + "y": -1.36602783203125 + }, + { + "x": -0.75018310546875, + "y": -1.38287353515625 + }, + { + "x": -2.33984375, + "y": -0.043548583984375 + }, + { + "x": -3.1865234375, + "y": -0.110504150390625 + }, + { + "x": -2.2813720703125, + "y": -0.9096221923828125 + }, + { + "x": -1.0367431640625, + "y": -3.737213134765625 + }, + { + "x": -1.96405029296875, + "y": -0.235565185546875 + }, + { + "x": -1.52935791015625, + "y": 0.1142120361328125 + }, + { + "x": -1.5997314453125, + "y": -1.045867919921875 + }, + { + "x": -1.3909912109375, + "y": -2.2129974365234375 + }, + { + "x": -0.90142822265625, + "y": 1.092987060546875 + }, + { + "x": -0.64337158203125, + "y": 0.395782470703125 + }, + { + "x": 0.015625, + "y": -0.061431884765625 + }, + { + "x": 0.0936279296875, + "y": 3.52496337890625 + }, + { + "x": 2.216064453125, + "y": 2.98779296875 + }, + { + "x": 2.609619140625, + "y": 1.283233642578125 + }, + { + "x": 4.5093994140625, + "y": -0.012481689453125 + }, + { + "x": 6.18212890625, + "y": -2.01025390625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.11815313026761637, + "y": -0.18753537401412582, + "z": 0.3723426324733688 + }, + "rotation": { + "quaternion": { + "W": 0.9968214329307359, + "X": -0.030292682753288006, + "Y": -0.05864097480735574, + "Z": -0.0446163680185458 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img5.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img5.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + } + ], + "locationInImageSpace": [ + { + "x": 701.6234741210938, + "y": 58.95845031738281 + }, + { + "x": 746.6878051757812, + "y": 60.06426239013672 + }, + { + "x": 792.1591186523438, + "y": 60.69530487060547 + }, + { + "x": 836.9396362304688, + "y": 64.98957061767578 + }, + { + "x": 879.268310546875, + "y": 68.87206268310547 + }, + { + "x": 923.10546875, + "y": 72.72171783447266 + }, + { + "x": 963.5950927734375, + "y": 79.20240783691406 + }, + { + "x": 700.5193481445312, + "y": 101.57726287841797 + }, + { + "x": 745.7207641601562, + "y": 102.74262237548828 + }, + { + "x": 791.3858032226562, + "y": 104.67169189453125 + }, + { + "x": 835.6337890625, + "y": 106.93171691894531 + }, + { + "x": 878.7188110351562, + "y": 109.9400863647461 + }, + { + "x": 922.620361328125, + "y": 114.03289031982422 + }, + { + "x": 963.2340087890625, + "y": 120.21330261230469 + }, + { + "x": 700.0593872070312, + "y": 144.2525634765625 + }, + { + "x": 745.6235961914062, + "y": 146.06094360351562 + }, + { + "x": 789.8001708984375, + "y": 147.7869873046875 + }, + { + "x": 834.8472900390625, + "y": 150.23728942871094 + }, + { + "x": 878.3696899414062, + "y": 152.94580078125 + }, + { + "x": 920.5691528320312, + "y": 156.39170837402344 + }, + { + "x": 961.8109130859375, + "y": 160.8599090576172 + }, + { + "x": 699.0584106445312, + "y": 187.68295288085938 + }, + { + "x": 744.2182006835938, + "y": 189.2749786376953 + }, + { + "x": 789.1480102539062, + "y": 191.2164764404297 + }, + { + "x": 833.1279907226562, + "y": 192.98495483398438 + }, + { + "x": 875.73583984375, + "y": 195.629150390625 + }, + { + "x": 918.6487426757812, + "y": 198.8977508544922 + }, + { + "x": 959.1181030273438, + "y": 203.51861572265625 + }, + { + "x": 700.5884399414062, + "y": 229.75418090820312 + }, + { + "x": 743.2233276367188, + "y": 231.85972595214844 + }, + { + "x": 787.16015625, + "y": 233.521240234375 + }, + { + "x": 830.4586181640625, + "y": 235.70315551757812 + }, + { + "x": 873.9484252929688, + "y": 238.27166748046875 + }, + { + "x": 698.7236938476562, + "y": 273.849609375 + }, + { + "x": 742.3246459960938, + "y": 275.0007019042969 + }, + { + "x": 785.8618774414062, + "y": 276.771728515625 + }, + { + "x": 829.023193359375, + "y": 278.2148132324219 + }, + { + "x": 870.9382934570312, + "y": 280.78509521484375 + }, + { + "x": 698.3345336914062, + "y": 315.77996826171875 + }, + { + "x": 741.1188354492188, + "y": 316.8443603515625 + }, + { + "x": 783.900390625, + "y": 318.1582946777344 + }, + { + "x": 825.870361328125, + "y": 319.40997314453125 + }, + { + "x": 867.1312255859375, + "y": 322.39178466796875 + } + ], + "reprojectionErrors": [ + { + "x": 4.86578369140625, + "y": -1.2655258178710938 + }, + { + "x": 3.17803955078125, + "y": 0.5318145751953125 + }, + { + "x": 0.84393310546875, + "y": 2.79376220703125 + }, + { + "x": -1.038818359375, + "y": 1.3822708129882812 + }, + { + "x": -0.70904541015625, + "y": 0.37230682373046875 + }, + { + "x": -2.1270751953125, + "y": -0.6151275634765625 + }, + { + "x": -0.436767578125, + "y": -4.243934631347656 + }, + { + "x": 4.1396484375, + "y": -1.6778182983398438 + }, + { + "x": 2.4921875, + "y": -0.04486846923828125 + }, + { + "x": 0.13983154296875, + "y": 0.814117431640625 + }, + { + "x": -1.0367431640625, + "y": 1.3318405151367188 + }, + { + "x": -1.2916259765625, + "y": 1.09088134765625 + }, + { + "x": -2.60418701171875, + "y": -0.244903564453125 + }, + { + "x": -0.869873046875, + "y": -3.6787109375 + }, + { + "x": 2.75128173828125, + "y": -1.77618408203125 + }, + { + "x": 0.91522216796875, + "y": -0.8932342529296875 + }, + { + "x": 0.22357177734375, + "y": 0.0616912841796875 + }, + { + "x": -1.58172607421875, + "y": 0.2819671630859375 + }, + { + "x": -2.10540771484375, + "y": 0.233612060546875 + }, + { + "x": -1.5491943359375, + "y": -0.562591552734375 + }, + { + "x": -0.27813720703125, + "y": -2.3915863037109375 + }, + { + "x": 1.88629150390625, + "y": -2.268798828125 + }, + { + "x": 0.62542724609375, + "y": -1.278594970703125 + }, + { + "x": -0.65045166015625, + "y": -0.6483154296875 + }, + { + "x": -1.2215576171875, + "y": 0.1445159912109375 + }, + { + "x": -0.6654052734375, + "y": 0.0511322021484375 + }, + { + "x": -0.65911865234375, + "y": -0.67718505859375 + }, + { + "x": 1.54595947265625, + "y": -2.7683258056640625 + }, + { + "x": -1.52691650390625, + "y": -1.051300048828125 + }, + { + "x": -0.09552001953125, + "y": -0.6858062744140625 + }, + { + "x": -0.212890625, + "y": 0.113189697265625 + }, + { + "x": 0.061279296875, + "y": 0.381256103515625 + }, + { + "x": -0.10260009765625, + "y": 0.2521514892578125 + }, + { + "x": -0.48883056640625, + "y": 0.2655029296875 + }, + { + "x": 0.082763671875, + "y": 1.159027099609375 + }, + { + "x": 1.652099609375, + "y": 0.914764404296875 + }, + { + "x": -3.08929443359375, + "y": 0.51141357421875 + }, + { + "x": -1.4833984375, + "y": 1.68963623046875 + }, + { + "x": 4.17303466796875, + "y": 2.806060791015625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.0014504600882515825, + "y": -0.20303503554667068, + "z": 0.4023157396439081 + }, + "rotation": { + "quaternion": { + "W": 0.9990981560554473, + "X": -0.028404397939450095, + "Y": -0.0228094723447229, + "Z": 0.021812673280865027 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img6.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img6.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + } + ], + "locationInImageSpace": [ + { + "x": 511.18463134765625, + "y": 109.8494873046875 + }, + { + "x": 555.1312866210938, + "y": 108.72003936767578 + }, + { + "x": 599.8493041992188, + "y": 107.62158966064453 + }, + { + "x": 469.09014892578125, + "y": 153.75901794433594 + }, + { + "x": 511.2040100097656, + "y": 153.26515197753906 + }, + { + "x": 553.9358520507812, + "y": 151.41273498535156 + }, + { + "x": 598.852783203125, + "y": 152.10084533691406 + }, + { + "x": 430.99761962890625, + "y": 196.36814880371094 + }, + { + "x": 468.9833679199219, + "y": 196.27828979492188 + }, + { + "x": 510.76080322265625, + "y": 195.00656127929688 + }, + { + "x": 552.723388671875, + "y": 193.94483947753906 + }, + { + "x": 597.6514282226562, + "y": 193.77188110351562 + }, + { + "x": 357.9973449707031, + "y": 242.4427490234375 + }, + { + "x": 393.95416259765625, + "y": 241.0845947265625 + }, + { + "x": 429.7157897949219, + "y": 238.3284149169922 + }, + { + "x": 470.2226257324219, + "y": 238.61984252929688 + }, + { + "x": 510.1854553222656, + "y": 236.90237426757812 + }, + { + "x": 553.01220703125, + "y": 237.2129364013672 + }, + { + "x": 596.158203125, + "y": 237.08535766601562 + }, + { + "x": 361.1180725097656, + "y": 282.2738952636719 + }, + { + "x": 394.8966064453125, + "y": 279.55908203125 + }, + { + "x": 432.56463623046875, + "y": 280.3835144042969 + }, + { + "x": 365.15496826171875, + "y": 320.5513610839844 + }, + { + "x": 400.23748779296875, + "y": 319.70880126953125 + }, + { + "x": 435.9681396484375, + "y": 319.7610168457031 + }, + { + "x": 370.1453552246094, + "y": 356.47314453125 + }, + { + "x": 403.720947265625, + "y": 357.67681884765625 + }, + { + "x": 439.11767578125, + "y": 357.98968505859375 + }, + { + "x": 477.0504150390625, + "y": 358.73590087890625 + }, + { + "x": 515.83984375, + "y": 358.34759521484375 + } + ], + "reprojectionErrors": [ + { + "x": 0.21343994140625, + "y": -0.87750244140625 + }, + { + "x": -1.6806640625, + "y": 0.4379730224609375 + }, + { + "x": -5.2943115234375, + "y": -0.7907867431640625 + }, + { + "x": 0.3134765625, + "y": 1.26788330078125 + }, + { + "x": -3.6270751953125, + "y": 1.1476287841796875 + }, + { + "x": -0.873748779296875, + "y": -4.249847412109375 + }, + { + "x": 1.641357421875, + "y": -2.9473876953125 + }, + { + "x": 0.81622314453125, + "y": 0.7063140869140625 + }, + { + "x": -1.6572265625, + "y": 0.7806549072265625 + }, + { + "x": -1.724029541015625, + "y": -3.162139892578125 + }, + { + "x": 2.68853759765625, + "y": -0.279876708984375 + }, + { + "x": 3.634246826171875, + "y": -0.9345703125 + }, + { + "x": -3.4849853515625, + "y": -1.13677978515625 + }, + { + "x": 1.9398193359375, + "y": 0.42529296875 + }, + { + "x": -6.19476318359375, + "y": 2.630584716796875 + }, + { + "x": -2.139129638671875, + "y": 2.020477294921875 + }, + { + "x": 0.50543212890625, + "y": 2.306915283203125 + }, + { + "x": 1.029083251953125, + "y": 2.1658935546875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.2177061263229382, + "y": -0.18119680656112322, + "z": 0.4250143352177931 + }, + "rotation": { + "quaternion": { + "W": 0.9967366846945546, + "X": 0.06521517541383615, + "Y": 0.046964740431061046, + "Z": 0.007568053652932747 + } + } + }, + "cornersUsed": [ + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + true, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img7.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img7.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + } + ], + "locationInImageSpace": [ + { + "x": 430.57928466796875, + "y": 86.82776641845703 + }, + { + "x": 469.61968994140625, + "y": 83.35438537597656 + }, + { + "x": 513.0307006835938, + "y": 81.00112915039062 + }, + { + "x": 649.5501098632812, + "y": 80.74559783935547 + }, + { + "x": 428.3121643066406, + "y": 128.02920532226562 + }, + { + "x": 469.69061279296875, + "y": 126.71227264404297 + }, + { + "x": 510.8767395019531, + "y": 124.69375610351562 + }, + { + "x": 555.117919921875, + "y": 124.3800048828125 + }, + { + "x": 601.8436889648438, + "y": 123.05558013916016 + }, + { + "x": 646.8164672851562, + "y": 125.54418182373047 + }, + { + "x": 390.0098876953125, + "y": 172.353271484375 + }, + { + "x": 428.28656005859375, + "y": 170.5491485595703 + }, + { + "x": 467.78668212890625, + "y": 169.3861541748047 + }, + { + "x": 510.07666015625, + "y": 168.58253479003906 + }, + { + "x": 553.7610473632812, + "y": 167.74288940429688 + }, + { + "x": 598.4044189453125, + "y": 168.89450073242188 + }, + { + "x": 644.3228149414062, + "y": 170.41357421875 + }, + { + "x": 391.38616943359375, + "y": 214.18507385253906 + }, + { + "x": 428.0914306640625, + "y": 213.9517364501953 + }, + { + "x": 468.6864318847656, + "y": 213.06556701660156 + }, + { + "x": 510.3106384277344, + "y": 211.47108459472656 + }, + { + "x": 552.2935791015625, + "y": 212.4102325439453 + }, + { + "x": 597.6996459960938, + "y": 213.39105224609375 + }, + { + "x": 642.1472778320312, + "y": 215.1319122314453 + }, + { + "x": 393.06982421875, + "y": 254.1891326904297 + }, + { + "x": 430.49267578125, + "y": 255.4158172607422 + }, + { + "x": 469.4460754394531, + "y": 254.64198303222656 + }, + { + "x": 509.7601013183594, + "y": 255.01376342773438 + }, + { + "x": 551.9818725585938, + "y": 256.40350341796875 + }, + { + "x": 595.7640380859375, + "y": 256.9089050292969 + }, + { + "x": 640.7745361328125, + "y": 258.73468017578125 + }, + { + "x": 395.2033386230469, + "y": 294.6549987792969 + }, + { + "x": 432.583740234375, + "y": 295.02520751953125 + }, + { + "x": 469.937255859375, + "y": 295.7059631347656 + }, + { + "x": 510.6716003417969, + "y": 297.0778503417969 + }, + { + "x": 638.7781982421875, + "y": 302.0195617675781 + }, + { + "x": 399.6572570800781, + "y": 332.8968200683594 + }, + { + "x": 434.8806457519531, + "y": 335.2433166503906 + }, + { + "x": 473.58843994140625, + "y": 335.0979309082031 + } + ], + "reprojectionErrors": [ + { + "x": 1.768310546875, + "y": -2.3579025268554688 + }, + { + "x": 0.15130615234375, + "y": -0.327117919921875 + }, + { + "x": -8.2947998046875, + "y": -1.0354156494140625 + }, + { + "x": 2.218780517578125, + "y": 0.4311065673828125 + }, + { + "x": -4.26629638671875, + "y": 1.8975067138671875 + }, + { + "x": -6.32470703125, + "y": -0.6733322143554688 + }, + { + "x": 0.236236572265625, + "y": -3.6229248046875 + }, + { + "x": 2.461883544921875, + "y": -1.6879119873046875 + }, + { + "x": 2.95953369140625, + "y": 0.5524444580078125 + }, + { + "x": 1.0704345703125, + "y": 1.5350494384765625 + }, + { + "x": -1.3369140625, + "y": 0.5305328369140625 + }, + { + "x": -4.57330322265625, + "y": -0.837249755859375 + }, + { + "x": -0.525543212890625, + "y": -2.55810546875 + }, + { + "x": 3.06036376953125, + "y": -1.973541259765625 + }, + { + "x": 3.17816162109375, + "y": -0.7305450439453125 + }, + { + "x": 2.693145751953125, + "y": 1.226409912109375 + }, + { + "x": 2.2806396484375, + "y": 0.655487060546875 + }, + { + "x": -1.118896484375, + "y": 0.0487060546875 + }, + { + "x": -3.118896484375, + "y": -1.3122406005859375 + }, + { + "x": -1.56304931640625, + "y": -0.10546875 + }, + { + "x": 1.092376708984375, + "y": -0.765228271484375 + }, + { + "x": 2.6343994140625, + "y": 0.58270263671875 + }, + { + "x": 3.237640380859375, + "y": 0.7922515869140625 + }, + { + "x": 2.35968017578125, + "y": -0.008819580078125 + }, + { + "x": 0.352783203125, + "y": 0.081878662109375 + }, + { + "x": -2.44622802734375, + "y": -1.140289306640625 + }, + { + "x": -3.019439697265625, + "y": 1.439483642578125 + }, + { + "x": -0.5361328125, + "y": 1.84722900390625 + }, + { + "x": 2.38671875, + "y": 1.953125 + }, + { + "x": 2.346038818359375, + "y": 1.37664794921875 + }, + { + "x": -1.1290283203125, + "y": -1.12518310546875 + }, + { + "x": -6.766021728515625, + "y": 4.75701904296875 + }, + { + "x": -2.341796875, + "y": 3.3948974609375 + }, + { + "x": -0.993804931640625, + "y": 4.534759521484375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.18810232158877419, + "y": -0.19381525977473432, + "z": 0.41242463786768674 + }, + "rotation": { + "quaternion": { + "W": 0.9980321711259985, + "X": 0.04374377293406884, + "Y": 0.042618906158010346, + "Z": 0.01420903110395158 + } + } + }, + "cornersUsed": [ + false, + true, + true, + true, + false, + false, + true, + false, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + false, + false, + false, + false + ], + "snapshotName": "img8.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img8.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + } + ], + "locationInImageSpace": [ + { + "x": 205.65733337402344, + "y": 101.98507690429688 + }, + { + "x": 242.58201599121094, + "y": 102.48628997802734 + }, + { + "x": 280.7842102050781, + "y": 103.15202331542969 + }, + { + "x": 321.6078796386719, + "y": 107.39933013916016 + }, + { + "x": 361.9154052734375, + "y": 109.25899505615234 + }, + { + "x": 404.97747802734375, + "y": 113.3453598022461 + }, + { + "x": 448.4002380371094, + "y": 118.40402221679688 + }, + { + "x": 198.4351806640625, + "y": 144.9241180419922 + }, + { + "x": 234.23504638671875, + "y": 146.10311889648438 + }, + { + "x": 271.85943603515625, + "y": 147.142578125 + }, + { + "x": 312.1398620605469, + "y": 150.43324279785156 + }, + { + "x": 352.7771911621094, + "y": 153.1943817138672 + }, + { + "x": 396.19256591796875, + "y": 157.90101623535156 + }, + { + "x": 439.3783264160156, + "y": 162.3773193359375 + }, + { + "x": 192.84771728515625, + "y": 188.2484130859375 + }, + { + "x": 228.29173278808594, + "y": 190.64312744140625 + }, + { + "x": 265.0690612792969, + "y": 192.5806121826172 + }, + { + "x": 305.1553955078125, + "y": 195.15867614746094 + }, + { + "x": 345.75738525390625, + "y": 198.65992736816406 + }, + { + "x": 388.0247802734375, + "y": 202.65054321289062 + }, + { + "x": 431.7466125488281, + "y": 207.97938537597656 + }, + { + "x": 187.5189666748047, + "y": 231.9015655517578 + }, + { + "x": 222.7601776123047, + "y": 234.42779541015625 + }, + { + "x": 259.6995849609375, + "y": 236.10020446777344 + }, + { + "x": 299.1557922363281, + "y": 239.9890594482422 + }, + { + "x": 340.31878662109375, + "y": 244.20164489746094 + }, + { + "x": 381.74371337890625, + "y": 248.1939697265625 + }, + { + "x": 425.16082763671875, + "y": 252.5057830810547 + }, + { + "x": 184.97032165527344, + "y": 275.0789794921875 + }, + { + "x": 294.7586669921875, + "y": 283.82379150390625 + }, + { + "x": 334.9886474609375, + "y": 287.7547607421875 + }, + { + "x": 376.3202819824219, + "y": 291.67041015625 + }, + { + "x": 419.4827575683594, + "y": 295.9228210449219 + }, + { + "x": 183.0597686767578, + "y": 316.72784423828125 + }, + { + "x": 331.4010925292969, + "y": 330.6342468261719 + }, + { + "x": 372.19970703125, + "y": 334.9526672363281 + }, + { + "x": 413.60382080078125, + "y": 338.9715270996094 + }, + { + "x": 182.72840881347656, + "y": 358.112060546875 + }, + { + "x": 217.46923828125, + "y": 361.2857971191406 + }, + { + "x": 330.0559997558594, + "y": 372.1034851074219 + }, + { + "x": 369.3785095214844, + "y": 376.9922790527344 + }, + { + "x": 410.1493835449219, + "y": 380.7534484863281 + } + ], + "reprojectionErrors": [ + { + "x": -2.4907073974609375, + "y": -0.36678314208984375 + }, + { + "x": -1.7567901611328125, + "y": 1.30419921875 + }, + { + "x": -1.571014404296875, + "y": 2.8568649291992188 + }, + { + "x": -3.659942626953125, + "y": 1.3303146362304688 + }, + { + "x": -6.02685546875, + "y": -0.39142608642578125 + }, + { + "x": -7.943359375, + "y": -3.034027099609375 + }, + { + "x": -0.194915771484375, + "y": -0.7792816162109375 + }, + { + "x": 1.60791015625, + "y": 0.6167449951171875 + }, + { + "x": 2.314422607421875, + "y": 2.2055816650390625 + }, + { + "x": 1.1124267578125, + "y": 1.5978851318359375 + }, + { + "x": 0.321136474609375, + "y": 1.5758819580078125 + }, + { + "x": -2.459930419921875, + "y": -0.33392333984375 + }, + { + "x": -4.2015380859375, + "y": -1.9541473388671875 + }, + { + "x": 0.532989501953125, + "y": -1.5739593505859375 + }, + { + "x": 2.632476806640625, + "y": -0.9912872314453125 + }, + { + "x": 4.125518798828125, + "y": 0.1089019775390625 + }, + { + "x": 3.055755615234375, + "y": 0.6304168701171875 + }, + { + "x": 2.23651123046875, + "y": 0.292327880859375 + }, + { + "x": 0.538726806640625, + "y": -0.4698486328125 + }, + { + "x": -1.80517578125, + "y": -2.503173828125 + }, + { + "x": 1.0704498291015625, + "y": -2.7078094482421875 + }, + { + "x": 3.310272216796875, + "y": -1.8550262451171875 + }, + { + "x": 4.57733154296875, + "y": -0.0811309814453125 + }, + { + "x": 4.072265625, + "y": -0.4545745849609375 + }, + { + "x": 2.625030517578125, + "y": -1.080810546875 + }, + { + "x": 1.70111083984375, + "y": -1.413909912109375 + }, + { + "x": -0.4083251953125, + "y": -1.9916534423828125 + }, + { + "x": -1.102508544921875, + "y": -3.389495849609375 + }, + { + "x": 2.057952880859375, + "y": -0.319854736328125 + }, + { + "x": 0.128936767578125, + "y": -0.400787353515625 + }, + { + "x": -3.8425140380859375, + "y": -2.57952880859375 + }, + { + "x": 1.611785888671875, + "y": 0.7261962890625 + }, + { + "x": 1.165618896484375, + "y": 0.924896240234375 + }, + { + "x": -1.920928955078125, + "y": 3.299407958984375 + }, + { + "x": -0.970916748046875, + "y": 3.354278564453125 + }, + { + "x": -0.6685791015625, + "y": 4.634735107421875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.2971920860044676, + "y": -0.1806612262248058, + "z": 0.4096818816962636 + }, + "rotation": { + "quaternion": { + "W": 0.9953854680998805, + "X": 1.730974496377664E-5, + "Y": 0.07578691688908985, + "Z": 0.058856714352746274 + } + } + }, + "cornersUsed": [ + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true + ], + "snapshotName": "img9.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img9.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + } + ], + "locationInImageSpace": [ + { + "x": 470.875244140625, + "y": 40.04233169555664 + }, + { + "x": 515.119140625, + "y": 45.71659851074219 + }, + { + "x": 560.2156982421875, + "y": 53.009403228759766 + }, + { + "x": 290.24072265625, + "y": 70.14517974853516 + }, + { + "x": 330.0726623535156, + "y": 70.92967224121094 + }, + { + "x": 371.9256591796875, + "y": 73.59062194824219 + }, + { + "x": 416.1824951171875, + "y": 76.98582458496094 + }, + { + "x": 460.2749328613281, + "y": 82.23905944824219 + }, + { + "x": 505.2431335449219, + "y": 87.6708984375 + }, + { + "x": 550.9845581054688, + "y": 94.07791900634766 + }, + { + "x": 278.281982421875, + "y": 112.92475891113281 + }, + { + "x": 319.0964660644531, + "y": 114.65679931640625 + }, + { + "x": 361.3644714355469, + "y": 117.24556732177734 + }, + { + "x": 405.3141174316406, + "y": 120.58992004394531 + }, + { + "x": 450.4163513183594, + "y": 125.33475494384766 + }, + { + "x": 496.3177795410156, + "y": 130.99127197265625 + }, + { + "x": 542.2431640625, + "y": 137.7801055908203 + }, + { + "x": 268.72906494140625, + "y": 157.36257934570312 + }, + { + "x": 309.30865478515625, + "y": 159.6797332763672 + }, + { + "x": 351.78466796875, + "y": 162.86837768554688 + }, + { + "x": 395.753662109375, + "y": 166.4735107421875 + }, + { + "x": 441.64154052734375, + "y": 171.5552520751953 + }, + { + "x": 487.4524230957031, + "y": 176.97528076171875 + }, + { + "x": 534.1696166992188, + "y": 183.1046905517578 + }, + { + "x": 260.5211486816406, + "y": 203.07308959960938 + }, + { + "x": 301.0541076660156, + "y": 205.9484100341797 + }, + { + "x": 343.18524169921875, + "y": 209.37548828125 + }, + { + "x": 387.4280090332031, + "y": 212.9066162109375 + }, + { + "x": 433.3089294433594, + "y": 217.8037872314453 + }, + { + "x": 479.2252502441406, + "y": 223.11880493164062 + }, + { + "x": 526.1517944335938, + "y": 229.36532592773438 + }, + { + "x": 253.38352966308594, + "y": 250.642822265625 + }, + { + "x": 293.84869384765625, + "y": 252.99661254882812 + }, + { + "x": 335.7153015136719, + "y": 256.3493347167969 + }, + { + "x": 380.13458251953125, + "y": 261.4543762207031 + }, + { + "x": 425.46075439453125, + "y": 265.9084777832031 + }, + { + "x": 472.1906433105469, + "y": 271.3983154296875 + }, + { + "x": 518.5379028320312, + "y": 276.2681884765625 + }, + { + "x": 247.1676483154297, + "y": 296.965087890625 + }, + { + "x": 287.7516784667969, + "y": 300.06219482421875 + }, + { + "x": 329.724853515625, + "y": 304.6952209472656 + }, + { + "x": 373.9179992675781, + "y": 308.8250732421875 + }, + { + "x": 419.8765563964844, + "y": 313.53912353515625 + }, + { + "x": 465.4385070800781, + "y": 318.0829772949219 + }, + { + "x": 512.5055541992188, + "y": 323.99884033203125 + } + ], + "reprojectionErrors": [ + { + "x": -1.269989013671875, + "y": 1.606536865234375 + }, + { + "x": -0.271636962890625, + "y": 2.3805389404296875 + }, + { + "x": -0.987548828125, + "y": 2.481475830078125 + }, + { + "x": -0.83502197265625, + "y": 0.7868881225585938 + }, + { + "x": -0.83935546875, + "y": -1.0224685668945312 + }, + { + "x": -0.88275146484375, + "y": -3.7417984008789062 + }, + { + "x": -0.576080322265625, + "y": -0.31046295166015625 + }, + { + "x": 0.96075439453125, + "y": 1.6960983276367188 + }, + { + "x": 1.7264404296875, + "y": 2.9113082885742188 + }, + { + "x": 1.5072021484375, + "y": 3.4376907348632812 + }, + { + "x": 0.846832275390625, + "y": 2.63177490234375 + }, + { + "x": 0.11383056640625, + "y": 0.98382568359375 + }, + { + "x": 0.09893798828125, + "y": -1.7252960205078125 + }, + { + "x": 0.009735107421875, + "y": -0.7532196044921875 + }, + { + "x": 1.953704833984375, + "y": 1.0399322509765625 + }, + { + "x": 2.690521240234375, + "y": 2.0325775146484375 + }, + { + "x": 2.638153076171875, + "y": 2.681243896484375 + }, + { + "x": 1.385711669921875, + "y": 1.9273529052734375 + }, + { + "x": 0.9444580078125, + "y": 0.91082763671875 + }, + { + "x": 0.34686279296875, + "y": -0.7377777099609375 + }, + { + "x": -0.79339599609375, + "y": -1.932403564453125 + }, + { + "x": 1.3662109375, + "y": -0.317626953125 + }, + { + "x": 2.623687744140625, + "y": 0.8221588134765625 + }, + { + "x": 2.48040771484375, + "y": 1.9363250732421875 + }, + { + "x": 1.425079345703125, + "y": 1.764556884765625 + }, + { + "x": 1.076080322265625, + "y": 1.256805419921875 + }, + { + "x": 0.47467041015625, + "y": -0.09881591796875 + }, + { + "x": -2.7083892822265625, + "y": -4.4407958984375 + }, + { + "x": -0.31536865234375, + "y": -1.91668701171875 + }, + { + "x": 1.3790283203125, + "y": -0.308746337890625 + }, + { + "x": 1.23858642578125, + "y": -0.368621826171875 + }, + { + "x": 0.92462158203125, + "y": 0.308837890625 + }, + { + "x": -0.0438232421875, + "y": 0.038818359375 + }, + { + "x": 0.13592529296875, + "y": 0.478912353515625 + }, + { + "x": -5.5842742919921875, + "y": -5.178436279296875 + }, + { + "x": -3.14794921875, + "y": -3.0018310546875 + }, + { + "x": -1.391265869140625, + "y": -2.27227783203125 + }, + { + "x": -1.1297607421875, + "y": -0.948699951171875 + }, + { + "x": -1.893157958984375, + "y": -0.11651611328125 + }, + { + "x": -1.503265380859375, + "y": 0.980682373046875 + }, + { + "x": -1.84515380859375, + "y": 0.802825927734375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.22778723530175576, + "y": -0.21183454062488416, + "z": 0.3849809967674025 + }, + "rotation": { + "quaternion": { + "W": 0.9950720854126657, + "X": -0.04568306044653252, + "Y": 0.05562032334330392, + "Z": 0.06819811179140912 + } + } + }, + "cornersUsed": [ + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img10.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img10.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + } + ], + "locationInImageSpace": [ + { + "x": 191.54608154296875, + "y": 48.223655700683594 + }, + { + "x": 226.12367248535156, + "y": 51.80628204345703 + }, + { + "x": 262.3226318359375, + "y": 56.676307678222656 + }, + { + "x": 298.8866882324219, + "y": 61.30208969116211 + }, + { + "x": 335.8154296875, + "y": 67.34883880615234 + }, + { + "x": 145.34144592285156, + "y": 86.19513702392578 + }, + { + "x": 179.2484893798828, + "y": 88.18334197998047 + }, + { + "x": 214.70391845703125, + "y": 91.9592514038086 + }, + { + "x": 250.9999237060547, + "y": 95.40325927734375 + }, + { + "x": 288.05694580078125, + "y": 100.7345199584961 + }, + { + "x": 325.9854431152344, + "y": 106.97622680664062 + }, + { + "x": 134.8574676513672, + "y": 126.30992889404297 + }, + { + "x": 169.04275512695312, + "y": 129.60708618164062 + }, + { + "x": 204.0927734375, + "y": 132.89474487304688 + }, + { + "x": 241.00509643554688, + "y": 136.47225952148438 + }, + { + "x": 277.9744873046875, + "y": 140.8112335205078 + }, + { + "x": 315.2088317871094, + "y": 146.11676025390625 + }, + { + "x": 159.73422241210938, + "y": 171.5793914794922 + }, + { + "x": 194.60733032226562, + "y": 174.56785583496094 + }, + { + "x": 231.2140655517578, + "y": 177.643310546875 + }, + { + "x": 269.0670471191406, + "y": 182.39544677734375 + }, + { + "x": 306.77484130859375, + "y": 187.40428161621094 + }, + { + "x": 152.81185913085938, + "y": 213.93014526367188 + }, + { + "x": 187.15753173828125, + "y": 217.17445373535156 + }, + { + "x": 223.60189819335938, + "y": 220.2257537841797 + }, + { + "x": 261.1710510253906, + "y": 224.16209411621094 + }, + { + "x": 298.3327941894531, + "y": 228.06507873535156 + }, + { + "x": 113.08570861816406, + "y": 253.8448486328125 + }, + { + "x": 145.92892456054688, + "y": 256.96075439453125 + }, + { + "x": 181.15185546875, + "y": 259.60723876953125 + }, + { + "x": 217.08680725097656, + "y": 262.0463562011719 + }, + { + "x": 254.65093994140625, + "y": 266.0808410644531 + }, + { + "x": 291.9352111816406, + "y": 269.1934814453125 + }, + { + "x": 75.72663116455078, + "y": 294.6175842285156 + }, + { + "x": 107.78740692138672, + "y": 296.99951171875 + }, + { + "x": 141.86561584472656, + "y": 298.63665771484375 + }, + { + "x": 176.76914978027344, + "y": 301.7654113769531 + }, + { + "x": 212.6586151123047, + "y": 304.2866516113281 + }, + { + "x": 249.63360595703125, + "y": 307.0351257324219 + }, + { + "x": 286.2728271484375, + "y": 310.10125732421875 + } + ], + "reprojectionErrors": [ + { + "x": -4.11419677734375, + "y": -0.978668212890625 + }, + { + "x": -3.95703125, + "y": -3.5833663940429688 + }, + { + "x": -3.30523681640625, + "y": -7.556171417236328 + }, + { + "x": -0.572174072265625, + "y": 3.2050323486328125 + }, + { + "x": -0.151519775390625, + "y": 3.5362472534179688 + }, + { + "x": -0.8698883056640625, + "y": 1.1300506591796875 + }, + { + "x": -1.16986083984375, + "y": -1.703094482421875 + }, + { + "x": -1.477935791015625, + "y": -5.383155822753906 + }, + { + "x": 1.7620697021484375, + "y": 2.8543319702148438 + }, + { + "x": 1.9264678955078125, + "y": 2.329742431640625 + }, + { + "x": 2.0135040283203125, + "y": 1.8821868896484375 + }, + { + "x": 0.871063232421875, + "y": -0.1425933837890625 + }, + { + "x": 1.29327392578125, + "y": -2.3918304443359375 + }, + { + "x": 3.121124267578125, + "y": 0.870391845703125 + }, + { + "x": 3.4069976806640625, + "y": 1.191162109375 + }, + { + "x": 2.7754058837890625, + "y": 1.50506591796875 + }, + { + "x": 1.740509033203125, + "y": 0.225067138671875 + }, + { + "x": 2.778045654296875, + "y": -0.1412811279296875 + }, + { + "x": 2.3305816650390625, + "y": 0.6824188232421875 + }, + { + "x": 1.6046142578125, + "y": 0.71478271484375 + }, + { + "x": 2.160552978515625, + "y": 0.877349853515625 + }, + { + "x": -0.8026580810546875, + "y": -3.687408447265625 + }, + { + "x": 0.801055908203125, + "y": 0.90948486328125 + }, + { + "x": 0.10162353515625, + "y": 1.346405029296875 + }, + { + "x": 0.5599365234375, + "y": 2.8134765625 + }, + { + "x": -5.141456604003906, + "y": -8.13140869140625 + }, + { + "x": -3.5701141357421875, + "y": -5.976287841796875 + }, + { + "x": -2.94097900390625, + "y": -1.348358154296875 + }, + { + "x": -2.8003692626953125, + "y": 0.994171142578125 + }, + { + "x": -2.8927459716796875, + "y": 3.22564697265625 + }, + { + "x": -1.76824951171875, + "y": 5.259490966796875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.3651584558065546, + "y": -0.22362290914163546, + "z": 0.43123711371131024 + }, + "rotation": { + "quaternion": { + "W": 0.9926386073563273, + "X": -0.032455807920457005, + "Y": 0.0904491630584651, + "Z": 0.07371678655465692 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img11.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img11.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + } + ], + "locationInImageSpace": [ + { + "x": 45.968414306640625, + "y": 119.40257263183594 + }, + { + "x": 159.8541717529297, + "y": 123.08873748779297 + }, + { + "x": 200.26182556152344, + "y": 125.73695373535156 + }, + { + "x": 241.15176391601562, + "y": 129.6498260498047 + }, + { + "x": 281.796142578125, + "y": 134.31515502929688 + }, + { + "x": 35.81759262084961, + "y": 168.8022918701172 + }, + { + "x": 150.27268981933594, + "y": 170.6433563232422 + }, + { + "x": 191.03720092773438, + "y": 172.2159881591797 + }, + { + "x": 232.13397216796875, + "y": 176.10296630859375 + }, + { + "x": 273.36309814453125, + "y": 179.7511444091797 + }, + { + "x": 142.46273803710938, + "y": 218.783203125 + }, + { + "x": 183.89041137695312, + "y": 220.44566345214844 + }, + { + "x": 225.28445434570312, + "y": 222.72918701171875 + }, + { + "x": 266.11431884765625, + "y": 226.04052734375 + }, + { + "x": 137.0093536376953, + "y": 268.5015563964844 + }, + { + "x": 177.90736389160156, + "y": 269.5794372558594 + }, + { + "x": 219.56520080566406, + "y": 271.1720886230469 + }, + { + "x": 55.130855560302734, + "y": 319.09991455078125 + }, + { + "x": 93.666015625, + "y": 318.3462829589844 + }, + { + "x": 133.45054626464844, + "y": 318.2558898925781 + }, + { + "x": 174.27305603027344, + "y": 318.82733154296875 + }, + { + "x": 215.1798858642578, + "y": 318.9669189453125 + }, + { + "x": 53.95832061767578, + "y": 369.46685791015625 + }, + { + "x": 92.15872192382812, + "y": 368.8391418457031 + }, + { + "x": 132.22305297851562, + "y": 367.7190856933594 + }, + { + "x": 254.8064422607422, + "y": 366.968017578125 + }, + { + "x": 55.29644012451172, + "y": 418.702392578125 + }, + { + "x": 92.98968505859375, + "y": 417.9389953613281 + }, + { + "x": 132.07276916503906, + "y": 416.50262451171875 + }, + { + "x": 254.38380432128906, + "y": 412.7811584472656 + } + ], + "reprojectionErrors": [ + { + "x": -5.1971893310546875, + "y": 10.43389892578125 + }, + { + "x": -4.535919189453125, + "y": -4.311370849609375 + }, + { + "x": -2.64410400390625, + "y": -9.936767578125 + }, + { + "x": -0.05513763427734375, + "y": 6.478302001953125 + }, + { + "x": -0.1215362548828125, + "y": 3.8541717529296875 + }, + { + "x": -0.61932373046875, + "y": 2.014892578125 + }, + { + "x": 2.85107421875, + "y": 3.3099517822265625 + }, + { + "x": 1.734039306640625, + "y": 2.0404815673828125 + }, + { + "x": 1.7953338623046875, + "y": 0.164703369140625 + }, + { + "x": 3.6123046875, + "y": -2.7235565185546875 + }, + { + "x": 3.1858253479003906, + "y": -4.3145751953125 + }, + { + "x": 2.8640975952148438, + "y": -1.923095703125 + }, + { + "x": 2.3584442138671875, + "y": -0.147705078125 + }, + { + "x": 1.9229583740234375, + "y": 1.014923095703125 + }, + { + "x": -1.077301025390625, + "y": -1.22137451171875 + }, + { + "x": 1.116058349609375, + "y": 6.985748291015625 + }, + { + "x": -6.3459320068359375, + "y": -9.532501220703125 + }, + { + "x": -2.965362548828125, + "y": 11.914306640625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.36413628291555816, + "y": -0.1516475271611503, + "z": 0.37905602520103443 + }, + "rotation": { + "quaternion": { + "W": 0.994501868067487, + "X": -0.020962509018378303, + "Y": 0.09741398728810068, + "Z": 0.03220438955433086 + } + } + }, + "cornersUsed": [ + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + false, + false, + true, + false, + true, + true, + true, + false, + false, + true + ], + "snapshotName": "img12.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img12.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + } + ], + "locationInImageSpace": [ + { + "x": 82.04698944091797, + "y": 154.7081756591797 + }, + { + "x": 119.41973876953125, + "y": 155.7683868408203 + }, + { + "x": 158.20973205566406, + "y": 157.7181854248047 + }, + { + "x": 197.7158203125, + "y": 160.537353515625 + }, + { + "x": 238.39315795898438, + "y": 164.0262451171875 + }, + { + "x": 278.7632141113281, + "y": 167.7851104736328 + }, + { + "x": 319.47698974609375, + "y": 172.83285522460938 + }, + { + "x": 149.3612823486328, + "y": 204.5803985595703 + }, + { + "x": 189.74099731445312, + "y": 207.2208251953125 + }, + { + "x": 230.4219207763672, + "y": 210.31492614746094 + }, + { + "x": 271.2530517578125, + "y": 213.6715850830078 + }, + { + "x": 312.198486328125, + "y": 217.29702758789062 + }, + { + "x": 142.75086975097656, + "y": 252.90133666992188 + }, + { + "x": 183.2298583984375, + "y": 254.2393798828125 + }, + { + "x": 224.11537170410156, + "y": 256.8555908203125 + }, + { + "x": 265.09014892578125, + "y": 259.1648864746094 + }, + { + "x": 306.6827087402344, + "y": 262.1957092285156 + }, + { + "x": 99.3419418334961, + "y": 300.83648681640625 + }, + { + "x": 138.19908142089844, + "y": 301.9249267578125 + }, + { + "x": 178.1568603515625, + "y": 303.37542724609375 + }, + { + "x": 219.5133514404297, + "y": 304.2850646972656 + }, + { + "x": 260.56549072265625, + "y": 306.1828918457031 + }, + { + "x": 301.5401306152344, + "y": 308.27606201171875 + }, + { + "x": 59.125450134277344, + "y": 349.14459228515625 + }, + { + "x": 96.662841796875, + "y": 349.8551025390625 + }, + { + "x": 135.5569305419922, + "y": 350.1336975097656 + }, + { + "x": 175.6158447265625, + "y": 350.6911315917969 + }, + { + "x": 216.02108764648438, + "y": 351.8227233886719 + }, + { + "x": 257.8207092285156, + "y": 352.3645935058594 + }, + { + "x": 298.3262634277344, + "y": 353.6907958984375 + }, + { + "x": 58.90114974975586, + "y": 398.7422180175781 + }, + { + "x": 96.35860443115234, + "y": 398.2659606933594 + }, + { + "x": 134.66978454589844, + "y": 398.31182861328125 + }, + { + "x": 174.44528198242188, + "y": 398.5647888183594 + }, + { + "x": 214.87478637695312, + "y": 398.2879333496094 + }, + { + "x": 255.62840270996094, + "y": 398.79669189453125 + }, + { + "x": 296.1556091308594, + "y": 398.80426025390625 + }, + { + "x": 61.38348388671875, + "y": 445.5594482421875 + }, + { + "x": 97.68761444091797, + "y": 445.8621826171875 + }, + { + "x": 136.238525390625, + "y": 445.597412109375 + }, + { + "x": 174.60520935058594, + "y": 444.8600158691406 + }, + { + "x": 215.04066467285156, + "y": 444.595703125 + }, + { + "x": 255.654541015625, + "y": 443.98309326171875 + }, + { + "x": 295.445556640625, + "y": 442.9941711425781 + } + ], + "reprojectionErrors": [ + { + "x": -4.410682678222656, + "y": 11.011154174804688 + }, + { + "x": -4.341705322265625, + "y": 9.396072387695312 + }, + { + "x": -4.7776641845703125, + "y": 6.8823089599609375 + }, + { + "x": -4.985931396484375, + "y": 3.48974609375 + }, + { + "x": -5.3887481689453125, + "y": -0.582275390625 + }, + { + "x": -4.47314453125, + "y": -4.934326171875 + }, + { + "x": -2.85400390625, + "y": -10.585678100585938 + }, + { + "x": -1.24786376953125, + "y": -0.0968475341796875 + }, + { + "x": -0.74310302734375, + "y": -3.4656219482421875 + }, + { + "x": 0.698455810546875, + "y": -7.0997772216796875 + }, + { + "x": 2.900177001953125, + "y": 3.2314453125 + }, + { + "x": 1.8017578125, + "y": 2.434967041015625 + }, + { + "x": 2.5318603515625, + "y": -3.79681396484375 + }, + { + "x": 4.045379638671875, + "y": 0.31396484375 + }, + { + "x": 3.6519317626953125, + "y": 0.303680419921875 + }, + { + "x": 3.1107330322265625, + "y": -0.040130615234375 + }, + { + "x": 2.1572113037109375, + "y": 0.1864013671875 + }, + { + "x": 4.037384033203125, + "y": -1.439422607421875 + }, + { + "x": 2.9247512817382812, + "y": -3.849212646484375 + }, + { + "x": 2.957305908203125, + "y": -2.96484375 + }, + { + "x": 2.556610107421875, + "y": -1.608489990234375 + }, + { + "x": 1.9466552734375, + "y": -0.489501953125 + }, + { + "x": 1.9796142578125, + "y": 0.0982666015625 + }, + { + "x": 1.64263916015625, + "y": 1.320220947265625 + }, + { + "x": 3.6611328125, + "y": 1.803924560546875 + }, + { + "x": -0.5743942260742188, + "y": -8.07330322265625 + }, + { + "x": -0.43798828125, + "y": -5.45391845703125 + }, + { + "x": -0.2295074462890625, + "y": -3.303924560546875 + }, + { + "x": -0.52728271484375, + "y": -1.306396484375 + }, + { + "x": -0.4871673583984375, + "y": 1.277435302734375 + }, + { + "x": 0.2560882568359375, + "y": 3.134185791015625 + }, + { + "x": 2.290130615234375, + "y": 5.552764892578125 + }, + { + "x": -6.7076416015625, + "y": -9.35321044921875 + }, + { + "x": -5.397270202636719, + "y": -6.96087646484375 + }, + { + "x": -5.40570068359375, + "y": -3.93548583984375 + }, + { + "x": -4.26953125, + "y": -0.36962890625 + }, + { + "x": -4.207794189453125, + "y": 2.793365478515625 + }, + { + "x": -3.29461669921875, + "y": 6.37738037109375 + }, + { + "x": -0.491424560546875, + "y": 10.4130859375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.35229821519204674, + "y": -0.1351500715650318, + "z": 0.38831723950733166 + }, + "rotation": { + "quaternion": { + "W": 0.9954829057116278, + "X": -0.01698614444183245, + "Y": 0.08946491492316591, + "Z": 0.02685673715711229 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img13.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img13.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + } + ], + "locationInImageSpace": [ + { + "x": 75.9175796508789, + "y": 386.9171142578125 + }, + { + "x": 114.66178131103516, + "y": 394.4635925292969 + }, + { + "x": 154.9334716796875, + "y": 401.8952941894531 + }, + { + "x": 197.2058563232422, + "y": 408.9953308105469 + }, + { + "x": 240.55722045898438, + "y": 416.650390625 + }, + { + "x": 285.0804138183594, + "y": 423.07965087890625 + }, + { + "x": 329.9122619628906, + "y": 429.6790771484375 + }, + { + "x": 68.90536499023438, + "y": 436.5635681152344 + }, + { + "x": 108.00479888916016, + "y": 444.9202880859375 + }, + { + "x": 148.754150390625, + "y": 451.9495544433594 + }, + { + "x": 191.6393585205078, + "y": 459.6384582519531 + }, + { + "x": 235.87185668945312, + "y": 466.0816650390625 + }, + { + "x": 281.510009765625, + "y": 472.1291198730469 + }, + { + "x": 325.5794982910156, + "y": 478.15985107421875 + }, + { + "x": 103.8230972290039, + "y": 495.6019592285156 + }, + { + "x": 145.20037841796875, + "y": 503.1943054199219 + }, + { + "x": 188.22047424316406, + "y": 509.8240661621094 + }, + { + "x": 232.90745544433594, + "y": 516.2431030273438 + }, + { + "x": 277.6924743652344, + "y": 522.204833984375 + }, + { + "x": 323.140380859375, + "y": 527.1178588867188 + }, + { + "x": 102.71566009521484, + "y": 547.1687622070312 + }, + { + "x": 143.0345001220703, + "y": 554.2160034179688 + }, + { + "x": 186.65513610839844, + "y": 561.2921142578125 + }, + { + "x": 230.87315368652344, + "y": 566.3945922851562 + }, + { + "x": 276.4485168457031, + "y": 572.0402221679688 + }, + { + "x": 322.0260314941406, + "y": 576.2507934570312 + }, + { + "x": 63.10514450073242, + "y": 590.8793334960938 + }, + { + "x": 102.01466369628906, + "y": 598.00439453125 + }, + { + "x": 144.1506805419922, + "y": 605.2791748046875 + }, + { + "x": 186.98016357421875, + "y": 611.1886596679688 + }, + { + "x": 231.7458953857422, + "y": 616.6806640625 + }, + { + "x": 276.64447021484375, + "y": 620.9174194335938 + }, + { + "x": 321.8417053222656, + "y": 624.9075317382812 + }, + { + "x": 66.14537811279297, + "y": 641.2368774414062 + }, + { + "x": 105.19803619384766, + "y": 648.2612915039062 + }, + { + "x": 145.95986938476562, + "y": 655.0164794921875 + }, + { + "x": 190.15582275390625, + "y": 660.4851684570312 + }, + { + "x": 233.70562744140625, + "y": 665.6871948242188 + }, + { + "x": 278.92425537109375, + "y": 668.9417724609375 + }, + { + "x": 323.412109375, + "y": 671.8579711914062 + }, + { + "x": 71.86480712890625, + "y": 688.2376098632812 + }, + { + "x": 109.85206604003906, + "y": 696.7083129882812 + }, + { + "x": 150.90359497070312, + "y": 703.1505126953125 + }, + { + "x": 193.9464111328125, + "y": 708.828125 + }, + { + "x": 237.54689025878906, + "y": 713.54833984375 + } + ], + "reprojectionErrors": [ + { + "x": -8.076904296875, + "y": 9.4112548828125 + }, + { + "x": -6.110748291015625, + "y": 5.761688232421875 + }, + { + "x": -4.5567626953125, + "y": 2.33184814453125 + }, + { + "x": -3.844482421875, + "y": -0.6572265625 + }, + { + "x": -3.00616455078125, + "y": -4.087890625 + }, + { + "x": -2.08624267578125, + "y": -6.174774169921875 + }, + { + "x": -0.170440673828125, + "y": -8.309051513671875 + }, + { + "x": -1.6523208618164062, + "y": 8.8919677734375 + }, + { + "x": -0.234161376953125, + "y": 5.06829833984375 + }, + { + "x": 0.639068603515625, + "y": 2.69287109375 + }, + { + "x": 0.5245208740234375, + "y": -0.216705322265625 + }, + { + "x": 0.2560882568359375, + "y": -1.7501220703125 + }, + { + "x": -0.176849365234375, + "y": -2.75213623046875 + }, + { + "x": 2.250335693359375, + "y": -3.596282958984375 + }, + { + "x": 3.302520751953125, + "y": 1.38458251953125 + }, + { + "x": 2.8370361328125, + "y": 0.189117431640625 + }, + { + "x": 1.8863983154296875, + "y": -0.648681640625 + }, + { + "x": 2.066436767578125, + "y": -0.8763427734375 + }, + { + "x": 2.861907958984375, + "y": 0.10357666015625 + }, + { + "x": 3.7783889770507812, + "y": 0.937255859375 + }, + { + "x": 3.386260986328125, + "y": -1.19140625 + }, + { + "x": 2.6748199462890625, + "y": -0.0552978515625 + }, + { + "x": 1.822296142578125, + "y": 0.70697021484375 + }, + { + "x": 2.232666015625, + "y": 3.08038330078125 + }, + { + "x": 2.9619483947753906, + "y": -0.80767822265625 + }, + { + "x": 3.9810028076171875, + "y": -1.5662841796875 + }, + { + "x": 2.8470916748046875, + "y": -2.30938720703125 + }, + { + "x": 2.134429931640625, + "y": -1.5155029296875 + }, + { + "x": 0.64361572265625, + "y": -0.12591552734375 + }, + { + "x": 0.2236328125, + "y": 2.7042236328125 + }, + { + "x": 0.756683349609375, + "y": 5.9736328125 + }, + { + "x": -0.28527069091796875, + "y": -3.91693115234375 + }, + { + "x": 0.3909912109375, + "y": -3.9893798828125 + }, + { + "x": 0.4209747314453125, + "y": -3.613525390625 + }, + { + "x": -1.8797149658203125, + "y": -1.76519775390625 + }, + { + "x": -2.3880767822265625, + "y": 0.54290771484375 + }, + { + "x": -3.374267578125, + "y": 4.9991455078125 + }, + { + "x": -2.391357421875, + "y": 10.00238037109375 + }, + { + "x": -6.11962890625, + "y": -4.1641845703125 + }, + { + "x": -4.5791473388671875, + "y": -5.11053466796875 + }, + { + "x": -5.0507354736328125, + "y": -3.83587646484375 + }, + { + "x": -6.421478271484375, + "y": -1.59686279296875 + }, + { + "x": -7.215728759765625, + "y": 1.80694580078125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.32595197965095035, + "y": -0.004840799079660037, + "z": 0.3537451806548604 + }, + "rotation": { + "quaternion": { + "W": 0.9944764965591518, + "X": 0.030553450722319853, + "Y": 0.09318021281139151, + "Z": 0.0374223513534086 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img14.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img14.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + } + ], + "locationInImageSpace": [ + { + "x": 291.04608154296875, + "y": 414.8402404785156 + }, + { + "x": 338.62432861328125, + "y": 417.9252014160156 + }, + { + "x": 388.2252197265625, + "y": 420.945556640625 + }, + { + "x": 439.9215393066406, + "y": 424.09185791015625 + }, + { + "x": 492.23345947265625, + "y": 426.81866455078125 + }, + { + "x": 544.80029296875, + "y": 429.2799987792969 + }, + { + "x": 597.3678588867188, + "y": 432.1069641113281 + }, + { + "x": 285.5734558105469, + "y": 467.0733642578125 + }, + { + "x": 334.0412292480469, + "y": 470.7879943847656 + }, + { + "x": 384.39398193359375, + "y": 473.8677062988281 + }, + { + "x": 437.15771484375, + "y": 477.2816162109375 + }, + { + "x": 490.18865966796875, + "y": 479.66064453125 + }, + { + "x": 544.1052856445312, + "y": 482.3535461425781 + }, + { + "x": 597.4149780273438, + "y": 484.04718017578125 + }, + { + "x": 282.00970458984375, + "y": 520.8576049804688 + }, + { + "x": 330.8650817871094, + "y": 524.675537109375 + }, + { + "x": 382.1567077636719, + "y": 528.4893798828125 + }, + { + "x": 435.34698486328125, + "y": 531.35693359375 + }, + { + "x": 489.8829650878906, + "y": 534.0648193359375 + }, + { + "x": 544.1024169921875, + "y": 535.9599609375 + }, + { + "x": 598.1766967773438, + "y": 537.1273803710938 + }, + { + "x": 380.89410400390625, + "y": 583.9715576171875 + }, + { + "x": 435.0992126464844, + "y": 587.3946533203125 + }, + { + "x": 489.5921325683594, + "y": 589.2313842773438 + }, + { + "x": 544.6075439453125, + "y": 590.9556884765625 + }, + { + "x": 599.1592407226562, + "y": 591.37158203125 + }, + { + "x": 382.23895263671875, + "y": 638.8117065429688 + }, + { + "x": 435.9740905761719, + "y": 642.207275390625 + }, + { + "x": 490.6982116699219, + "y": 644.3289184570312 + }, + { + "x": 545.5913696289062, + "y": 644.8638916015625 + }, + { + "x": 600.6558837890625, + "y": 644.8589477539062 + }, + { + "x": 282.3735046386719, + "y": 683.3511352539062 + }, + { + "x": 333.064697265625, + "y": 688.5858154296875 + }, + { + "x": 383.7515869140625, + "y": 693.3366088867188 + }, + { + "x": 438.2334289550781, + "y": 696.787109375 + }, + { + "x": 492.51910400390625, + "y": 698.095458984375 + }, + { + "x": 548.275634765625, + "y": 698.9908447265625 + }, + { + "x": 602.3460693359375, + "y": 697.6052856445312 + }, + { + "x": 286.5078430175781, + "y": 735.2908935546875 + }, + { + "x": 336.0260925292969, + "y": 741.0471801757812 + }, + { + "x": 388.3135986328125, + "y": 745.8011474609375 + }, + { + "x": 441.2658996582031, + "y": 748.9581909179688 + }, + { + "x": 496.23675537109375, + "y": 750.8495483398438 + }, + { + "x": 550.5379028320312, + "y": 750.1498413085938 + }, + { + "x": 605.6912231445312, + "y": 748.7543334960938 + } + ], + "reprojectionErrors": [ + { + "x": -8.98138427734375, + "y": 4.36834716796875 + }, + { + "x": -5.126800537109375, + "y": 2.371429443359375 + }, + { + "x": -2.605560302734375, + "y": 0.45269775390625 + }, + { + "x": -1.479705810546875, + "y": -1.578094482421875 + }, + { + "x": -0.258392333984375, + "y": -3.175384521484375 + }, + { + "x": 1.43017578125, + "y": -4.492919921875 + }, + { + "x": 3.8516845703125, + "y": -6.16156005859375 + }, + { + "x": -3.21136474609375, + "y": 5.917633056640625 + }, + { + "x": -0.3836669921875, + "y": 3.64141845703125 + }, + { + "x": 1.24462890625, + "y": 2.017303466796875 + }, + { + "x": 1.158233642578125, + "y": 0.076446533203125 + }, + { + "x": 1.511749267578125, + "y": -0.811798095703125 + }, + { + "x": 1.69781494140625, + "y": -1.9959716796875 + }, + { + "x": 3.2203369140625, + "y": -2.162567138671875 + }, + { + "x": 0.711639404296875, + "y": 5.60760498046875 + }, + { + "x": 3.008697509765625, + "y": 3.5743408203125 + }, + { + "x": 3.551239013671875, + "y": 1.56585693359375 + }, + { + "x": 2.887451171875, + "y": 0.52459716796875 + }, + { + "x": 1.5810546875, + "y": -0.33563232421875 + }, + { + "x": 1.3052978515625, + "y": -0.36151123046875 + }, + { + "x": 1.89996337890625, + "y": 0.36224365234375 + }, + { + "x": 1.673553466796875, + "y": -0.96661376953125 + }, + { + "x": 0.4366455078125, + "y": -0.4658203125 + }, + { + "x": 0.38427734375, + "y": 1.36895751953125 + }, + { + "x": 3.75689697265625, + "y": -1.44146728515625 + }, + { + "x": 2.229095458984375, + "y": -2.31793212890625 + }, + { + "x": -1.61993408203125, + "y": 2.75885009765625 + }, + { + "x": 1.789886474609375, + "y": 1.50421142578125 + }, + { + "x": 1.78900146484375, + "y": -0.9342041015625 + }, + { + "x": 2.4617919921875, + "y": -2.8580322265625 + }, + { + "x": 0.019256591796875, + "y": -3.450439453125 + }, + { + "x": -1.537017822265625, + "y": -1.86907958984375 + }, + { + "x": -3.86346435546875, + "y": 0.1573486328125 + }, + { + "x": -3.79217529296875, + "y": 4.49725341796875 + }, + { + "x": -1.744781494140625, + "y": 1.6248779296875 + }, + { + "x": -0.7374267578125, + "y": -1.0076904296875 + }, + { + "x": -1.834320068359375, + "y": -2.60400390625 + }, + { + "x": -2.9208984375, + "y": -2.56903076171875 + }, + { + "x": -5.340576171875, + "y": -1.2335205078125 + }, + { + "x": -6.39453125, + "y": 2.7283935546875 + }, + { + "x": -7.59393310546875, + "y": 7.42205810546875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.19826069785884096, + "y": 0.006322478672549121, + "z": 0.32440945740418814 + }, + "rotation": { + "quaternion": { + "W": 0.9989080164054976, + "X": 0.019455462099806555, + "Y": 0.041642016796287526, + "Z": 0.008378674862704962 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img15.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img15.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + } + ], + "locationInImageSpace": [ + { + "x": 593.7796020507812, + "y": 480.6527404785156 + }, + { + "x": 646.9713134765625, + "y": 480.1083984375 + }, + { + "x": 700.5220947265625, + "y": 479.06219482421875 + }, + { + "x": 753.8343505859375, + "y": 478.15771484375 + }, + { + "x": 806.10107421875, + "y": 476.46124267578125 + }, + { + "x": 857.1145629882812, + "y": 474.78326416015625 + }, + { + "x": 906.2230834960938, + "y": 472.79852294921875 + }, + { + "x": 592.8914794921875, + "y": 533.1935424804688 + }, + { + "x": 647.4542236328125, + "y": 532.9057006835938 + }, + { + "x": 701.7354736328125, + "y": 532.1744384765625 + }, + { + "x": 756.0531005859375, + "y": 530.5497436523438 + }, + { + "x": 809.073486328125, + "y": 528.7916259765625 + }, + { + "x": 861.1640014648438, + "y": 526.3187255859375 + }, + { + "x": 910.726806640625, + "y": 523.2158203125 + }, + { + "x": 593.2699584960938, + "y": 586.5685424804688 + }, + { + "x": 647.8773193359375, + "y": 586.6290283203125 + }, + { + "x": 703.0770874023438, + "y": 585.8672485351562 + }, + { + "x": 757.9403076171875, + "y": 584.0111694335938 + }, + { + "x": 811.9498901367188, + "y": 581.6220703125 + }, + { + "x": 864.4843139648438, + "y": 578.5746459960938 + }, + { + "x": 914.7554931640625, + "y": 574.5828857421875 + }, + { + "x": 594.0081787109375, + "y": 640.8677978515625 + }, + { + "x": 648.966064453125, + "y": 641.0064086914062 + }, + { + "x": 704.2623291015625, + "y": 640.2232055664062 + }, + { + "x": 759.77392578125, + "y": 638.5004272460938 + }, + { + "x": 814.0712280273438, + "y": 635.3109741210938 + }, + { + "x": 866.9940185546875, + "y": 631.4185791015625 + }, + { + "x": 917.577880859375, + "y": 626.5989990234375 + }, + { + "x": 594.7420043945312, + "y": 694.0604248046875 + }, + { + "x": 650.0449829101562, + "y": 694.6116943359375 + }, + { + "x": 706.1049194335938, + "y": 693.7506713867188 + }, + { + "x": 761.6683349609375, + "y": 691.5315551757812 + }, + { + "x": 816.2088623046875, + "y": 687.988525390625 + }, + { + "x": 868.8987426757812, + "y": 683.3198852539062 + }, + { + "x": 919.923583984375, + "y": 677.5567016601562 + }, + { + "x": 596.1834106445312, + "y": 746.0289306640625 + }, + { + "x": 651.9193725585938, + "y": 746.7982788085938 + }, + { + "x": 707.0210571289062, + "y": 746.0829467773438 + }, + { + "x": 762.8811645507812, + "y": 743.8963012695312 + }, + { + "x": 817.2556762695312, + "y": 739.967041015625 + }, + { + "x": 870.4423828125, + "y": 734.5783081054688 + }, + { + "x": 920.7374267578125, + "y": 728.1582641601562 + } + ], + "reprojectionErrors": [ + { + "x": -2.01666259765625, + "y": 0.773345947265625 + }, + { + "x": -0.89013671875, + "y": -0.58441162109375 + }, + { + "x": -0.49365234375, + "y": -1.42877197265625 + }, + { + "x": -0.22894287109375, + "y": -2.403350830078125 + }, + { + "x": 0.71197509765625, + "y": -2.574371337890625 + }, + { + "x": 2.53753662109375, + "y": -2.752410888671875 + }, + { + "x": 5.900390625, + "y": -2.612213134765625 + }, + { + "x": 0.5401611328125, + "y": 2.32366943359375 + }, + { + "x": 0.27886962890625, + "y": 0.52471923828125 + }, + { + "x": -0.07171630859375, + "y": -0.8189697265625 + }, + { + "x": -0.8287353515625, + "y": -1.25750732421875 + }, + { + "x": -0.65777587890625, + "y": -1.55084228515625 + }, + { + "x": 0.07464599609375, + "y": -1.1175537109375 + }, + { + "x": 2.96722412109375, + "y": -0.04254150390625 + }, + { + "x": 1.840087890625, + "y": 2.99261474609375 + }, + { + "x": 1.51019287109375, + "y": 0.66119384765625 + }, + { + "x": 0.21734619140625, + "y": -0.8359375 + }, + { + "x": -1.1087646484375, + "y": -1.2266845703125 + }, + { + "x": -1.95025634765625, + "y": -1.0723876953125 + }, + { + "x": -1.6846923828125, + "y": -0.24774169921875 + }, + { + "x": 0.47674560546875, + "y": 1.5333251953125 + }, + { + "x": 2.7894287109375, + "y": 2.6683349609375 + }, + { + "x": 2.0777587890625, + "y": 0.07537841796875 + }, + { + "x": 0.657470703125, + "y": -1.58355712890625 + }, + { + "x": -1.34759521484375, + "y": -2.29058837890625 + }, + { + "x": -2.5069580078125, + "y": -1.51861572265625 + }, + { + "x": -2.65966796875, + "y": -0.03143310546875 + }, + { + "x": -0.84039306640625, + "y": 2.395263671875 + }, + { + "x": 3.75146484375, + "y": 3.3603515625 + }, + { + "x": 2.65625, + "y": 0.17205810546875 + }, + { + "x": 0.43426513671875, + "y": -1.5914306640625 + }, + { + "x": -1.66015625, + "y": -1.9842529296875 + }, + { + "x": -3.09991455078125, + "y": -1.0406494140625 + }, + { + "x": -3.056396484375, + "y": 1.04119873046875 + }, + { + "x": -1.71429443359375, + "y": 4.2301025390625 + }, + { + "x": 4.013671875, + "y": 5.16455078125 + }, + { + "x": 2.43975830078125, + "y": 1.5765380859375 + }, + { + "x": 1.1309814453125, + "y": -0.5140380859375 + }, + { + "x": -1.30474853515625, + "y": -1.12054443359375 + }, + { + "x": -2.62249755859375, + "y": 0.02838134765625 + }, + { + "x": -3.11932373046875, + "y": 2.64959716796875 + }, + { + "x": -1.09039306640625, + "y": 6.31500244140625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.05260177458243687, + "y": 0.035494578029768194, + "z": 0.3235686020360334 + }, + "rotation": { + "quaternion": { + "W": 0.9996303687766653, + "X": 0.0035209619509244316, + "Y": -0.022293749743241095, + "Z": -0.015156429947516857 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false + ], + "snapshotName": "img16.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img16.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + } + ], + "locationInImageSpace": [ + { + "x": 462.0643615722656, + "y": 416.0632019042969 + }, + { + "x": 509.6138610839844, + "y": 415.5373840332031 + }, + { + "x": 558.65625, + "y": 414.5803527832031 + }, + { + "x": 609.2874145507812, + "y": 413.856201171875 + }, + { + "x": 660.5056762695312, + "y": 412.8943176269531 + }, + { + "x": 711.9785766601562, + "y": 411.9649963378906 + }, + { + "x": 763.0986328125, + "y": 410.9444580078125 + }, + { + "x": 459.6493835449219, + "y": 465.38427734375 + }, + { + "x": 508.14013671875, + "y": 465.2311706542969 + }, + { + "x": 557.3704833984375, + "y": 464.9488525390625 + }, + { + "x": 609.5035400390625, + "y": 464.2516784667969 + }, + { + "x": 660.9393310546875, + "y": 463.3507995605469 + }, + { + "x": 713.7908325195312, + "y": 462.78106689453125 + }, + { + "x": 765.6415405273438, + "y": 461.3432312011719 + }, + { + "x": 458.6437072753906, + "y": 515.3424072265625 + }, + { + "x": 506.9409484863281, + "y": 516.1713256835938 + }, + { + "x": 557.5607299804688, + "y": 516.4423828125 + }, + { + "x": 609.516357421875, + "y": 516.15966796875 + }, + { + "x": 662.29150390625, + "y": 515.6517333984375 + }, + { + "x": 715.4853515625, + "y": 514.27587890625 + }, + { + "x": 768.1068725585938, + "y": 512.67626953125 + }, + { + "x": 457.9925231933594, + "y": 566.8451538085938 + }, + { + "x": 506.1385192871094, + "y": 567.5294189453125 + }, + { + "x": 557.6846923828125, + "y": 568.8082885742188 + }, + { + "x": 610.8403930664062, + "y": 568.935302734375 + }, + { + "x": 663.6377563476562, + "y": 568.51513671875 + }, + { + "x": 717.3096923828125, + "y": 566.9331665039062 + }, + { + "x": 770.0057373046875, + "y": 564.9793701171875 + }, + { + "x": 458.75921630859375, + "y": 617.313720703125 + }, + { + "x": 507.59771728515625, + "y": 619.6459350585938 + }, + { + "x": 559.2080688476562, + "y": 621.0337524414062 + }, + { + "x": 611.589111328125, + "y": 621.291259765625 + }, + { + "x": 665.6365966796875, + "y": 620.6668090820312 + }, + { + "x": 718.8235473632812, + "y": 619.2295532226562 + }, + { + "x": 772.0052490234375, + "y": 617.0538330078125 + }, + { + "x": 460.05926513671875, + "y": 667.9711303710938 + }, + { + "x": 509.9136657714844, + "y": 670.4386596679688 + }, + { + "x": 560.4972534179688, + "y": 672.5323486328125 + }, + { + "x": 613.3883056640625, + "y": 673.5127563476562 + }, + { + "x": 666.604736328125, + "y": 672.7584838867188 + }, + { + "x": 720.61279296875, + "y": 671.1878662109375 + }, + { + "x": 773.4174194335938, + "y": 668.3164672851562 + }, + { + "x": 462.6054992675781, + "y": 716.7178344726562 + }, + { + "x": 511.9266357421875, + "y": 720.0469970703125 + }, + { + "x": 563.396484375, + "y": 722.1431884765625 + }, + { + "x": 615.2651977539062, + "y": 723.27197265625 + }, + { + "x": 668.712158203125, + "y": 723.1068725585938 + }, + { + "x": 721.9602661132812, + "y": 721.2771606445312 + }, + { + "x": 774.9486083984375, + "y": 718.0342407226562 + } + ], + "reprojectionErrors": [ + { + "x": -5.753021240234375, + "y": -1.330535888671875 + }, + { + "x": -2.7353515625, + "y": -1.70263671875 + }, + { + "x": -0.835205078125, + "y": -1.650299072265625 + }, + { + "x": -0.1470947265625, + "y": -1.83770751953125 + }, + { + "x": 0.33203125, + "y": -1.794219970703125 + }, + { + "x": 0.9359130859375, + "y": -1.7901611328125 + }, + { + "x": 2.27337646484375, + "y": -1.701812744140625 + }, + { + "x": -2.4207763671875, + "y": 0.649383544921875 + }, + { + "x": -0.3387451171875, + "y": 0.092620849609375 + }, + { + "x": 1.37908935546875, + "y": -0.341278076171875 + }, + { + "x": 0.57098388671875, + "y": -0.366729736328125 + }, + { + "x": 0.83831787109375, + "y": -0.194854736328125 + }, + { + "x": 0.0693359375, + "y": -0.360595703125 + }, + { + "x": 0.68194580078125, + "y": 0.3353271484375 + }, + { + "x": -0.462310791015625, + "y": 1.98211669921875 + }, + { + "x": 1.812530517578125, + "y": 0.63140869140625 + }, + { + "x": 2.14013671875, + "y": -0.16729736328125 + }, + { + "x": 1.5086669921875, + "y": -0.418212890625 + }, + { + "x": 0.43572998046875, + "y": -0.44989013671875 + }, + { + "x": -0.676513671875, + "y": 0.38037109375 + }, + { + "x": -0.835693359375, + "y": 1.42840576171875 + }, + { + "x": 1.17681884765625, + "y": 1.7406005859375 + }, + { + "x": 3.595855712890625, + "y": 0.7225341796875 + }, + { + "x": 2.98992919921875, + "y": -0.89556884765625 + }, + { + "x": 1.1510009765625, + "y": -1.3673095703125 + }, + { + "x": 0.04840087890625, + "y": -1.29736328125 + }, + { + "x": -1.549560546875, + "y": -0.07122802734375 + }, + { + "x": -1.791015625, + "y": 1.52117919921875 + }, + { + "x": 1.432769775390625, + "y": 2.48419189453125 + }, + { + "x": 3.14599609375, + "y": 0.00592041015625 + }, + { + "x": 2.46234130859375, + "y": -1.53289794921875 + }, + { + "x": 1.38427734375, + "y": -1.946533203125 + }, + { + "x": -0.9825439453125, + "y": -1.48321533203125 + }, + { + "x": -2.10980224609375, + "y": -0.21221923828125 + }, + { + "x": -2.85150146484375, + "y": 1.79205322265625 + }, + { + "x": 1.189697265625, + "y": 2.97039794921875 + }, + { + "x": 1.867401123046875, + "y": 0.54412841796875 + }, + { + "x": 2.1905517578125, + "y": -1.51275634765625 + }, + { + "x": 0.5821533203125, + "y": -2.4609375 + }, + { + "x": -0.9742431640625, + "y": -1.67913818359375 + }, + { + "x": -2.943603515625, + "y": -0.08563232421875 + }, + { + "x": -3.32958984375, + "y": 2.8038330078125 + }, + { + "x": -0.26568603515625, + "y": 5.27935791015625 + }, + { + "x": 0.91937255859375, + "y": 2.1783447265625 + }, + { + "x": 0.32989501953125, + "y": 0.3062744140625 + }, + { + "x": -0.28289794921875, + "y": -0.60260009765625 + }, + { + "x": -2.09698486328125, + "y": -0.22174072265625 + }, + { + "x": -3.3341064453125, + "y": 1.81939697265625 + }, + { + "x": -3.931884765625, + "y": 5.26947021484375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.1224999694971213, + "y": 0.00443877351644547, + "z": 0.3414542136391404 + }, + "rotation": { + "quaternion": { + "W": 0.9996631791213243, + "X": 0.0024836047052239105, + "Y": 0.02417642361501217, + "Z": -0.009102777482875078 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img17.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img17.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + } + ], + "locationInImageSpace": [ + { + "x": 845.5955810546875, + "y": 462.36517333984375 + }, + { + "x": 894.9669799804688, + "y": 455.6160888671875 + }, + { + "x": 943.0689697265625, + "y": 448.70306396484375 + }, + { + "x": 990.0306396484375, + "y": 441.6453857421875 + }, + { + "x": 1034.742919921875, + "y": 434.3875427246094 + }, + { + "x": 1077.1639404296875, + "y": 427.3378601074219 + }, + { + "x": 1117.41162109375, + "y": 420.7724304199219 + }, + { + "x": 851.6776733398438, + "y": 512.2394409179688 + }, + { + "x": 901.9147338867188, + "y": 505.200439453125 + }, + { + "x": 950.5663452148438, + "y": 497.93017578125 + }, + { + "x": 997.886962890625, + "y": 490.3072814941406 + }, + { + "x": 1042.97119140625, + "y": 482.6831970214844 + }, + { + "x": 1086.293701171875, + "y": 474.5602111816406 + }, + { + "x": 1126.48974609375, + "y": 467.0708923339844 + }, + { + "x": 857.2554321289062, + "y": 562.7090454101562 + }, + { + "x": 907.97021484375, + "y": 555.4921264648438 + }, + { + "x": 957.6624145507812, + "y": 547.4796142578125 + }, + { + "x": 1005.0750122070312, + "y": 539.6629028320312 + }, + { + "x": 1050.4654541015625, + "y": 531.0838012695312 + }, + { + "x": 1093.2962646484375, + "y": 522.625 + }, + { + "x": 1134.230712890625, + "y": 513.8753662109375 + }, + { + "x": 862.7207641601562, + "y": 613.1412353515625 + }, + { + "x": 913.6586303710938, + "y": 605.9598388671875 + }, + { + "x": 963.06884765625, + "y": 598.0842895507812 + }, + { + "x": 1010.9857177734375, + "y": 589.254150390625 + }, + { + "x": 1056.712890625, + "y": 580.3428955078125 + }, + { + "x": 1099.928955078125, + "y": 570.9719848632812 + }, + { + "x": 867.41552734375, + "y": 662.8734130859375 + }, + { + "x": 918.2086181640625, + "y": 655.5555419921875 + }, + { + "x": 967.9254150390625, + "y": 647.6690063476562 + }, + { + "x": 1015.8935546875, + "y": 638.3897094726562 + }, + { + "x": 1061.570556640625, + "y": 628.6287841796875 + }, + { + "x": 1104.69921875, + "y": 618.6351928710938 + }, + { + "x": 871.2030639648438, + "y": 711.733154296875 + }, + { + "x": 922.2749633789062, + "y": 704.506591796875 + }, + { + "x": 971.35205078125, + "y": 696.1719360351562 + }, + { + "x": 1019.4000854492188, + "y": 686.889892578125 + }, + { + "x": 1064.3782958984375, + "y": 676.8096923828125 + }, + { + "x": 1107.9910888671875, + "y": 665.9482421875 + }, + { + "x": 1148.489501953125, + "y": 654.3805541992188 + }, + { + "x": 924.9765014648438, + "y": 751.334716796875 + }, + { + "x": 974.2396240234375, + "y": 743.0202026367188 + }, + { + "x": 1021.5685424804688, + "y": 733.4901123046875 + }, + { + "x": 1066.806884765625, + "y": 722.9461669921875 + } + ], + "reprojectionErrors": [ + { + "x": 0.67816162109375, + "y": -0.382568359375 + }, + { + "x": 0.25579833984375, + "y": -1.002471923828125 + }, + { + "x": 0.10150146484375, + "y": -1.309539794921875 + }, + { + "x": 0.1138916015625, + "y": -1.327239990234375 + }, + { + "x": 1.428955078125, + "y": -1.0040283203125 + }, + { + "x": 4.1142578125, + "y": -0.752044677734375 + }, + { + "x": 8.076904296875, + "y": -0.851104736328125 + }, + { + "x": 0.88421630859375, + "y": 0.83740234375 + }, + { + "x": -0.59564208984375, + "y": 0.00311279296875 + }, + { + "x": -1.48504638671875, + "y": -0.44207763671875 + }, + { + "x": -2.0108642578125, + "y": -0.381195068359375 + }, + { + "x": -1.2412109375, + "y": -0.169830322265625 + }, + { + "x": 0.374755859375, + "y": 0.685638427734375 + }, + { + "x": 4.2265625, + "y": 1.04876708984375 + }, + { + "x": 1.5294189453125, + "y": 1.17218017578125 + }, + { + "x": -0.6243896484375, + "y": 0.01812744140625 + }, + { + "x": -2.7440185546875, + "y": -0.17376708984375 + }, + { + "x": -3.54522705078125, + "y": -0.3994140625 + }, + { + "x": -3.2591552734375, + "y": 0.294921875 + }, + { + "x": -1.322998046875, + "y": 1.02227783203125 + }, + { + "x": 1.62451171875, + "y": 2.189697265625 + }, + { + "x": 2.22015380859375, + "y": 1.2376708984375 + }, + { + "x": -0.35723876953125, + "y": -0.44268798828125 + }, + { + "x": -2.388671875, + "y": -1.253662109375 + }, + { + "x": -3.88153076171875, + "y": -0.93975830078125 + }, + { + "x": -4.11328125, + "y": -0.37896728515625 + }, + { + "x": -2.737548828125, + "y": 0.802734375 + }, + { + "x": 0.9754638671875, + "y": -0.3472900390625 + }, + { + "x": -1.56036376953125, + "y": -1.62249755859375 + }, + { + "x": -3.29559326171875, + "y": -1.326416015625 + }, + { + "x": -3.6619873046875, + "y": -0.37506103515625 + }, + { + "x": -2.3775634765625, + "y": 0.97802734375 + }, + { + "x": 5.8421630859375, + "y": 2.65594482421875 + }, + { + "x": 0.61968994140625, + "y": -1.2337646484375 + }, + { + "x": -1.39031982421875, + "y": -1.3948974609375 + }, + { + "x": -1.246337890625, + "y": -0.57647705078125 + }, + { + "x": -0.628173828125, + "y": 1.19976806640625 + }, + { + "x": 2.2369384765625, + "y": 3.8541259765625 + }, + { + "x": 5.748291015625, + "y": 2.245849609375 + }, + { + "x": 3.2591552734375, + "y": 0.4703369140625 + }, + { + "x": 1.4619140625, + "y": 0.94171142578125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.06963992080900015, + "y": 0.027544112112901316, + "z": 0.3379378649769458 + }, + "rotation": { + "quaternion": { + "W": 0.9952261051355678, + "X": 0.015518229683490129, + "Y": -0.07075430751465794, + "Z": -0.0654065147542631 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img18.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img18.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + } + ], + "locationInImageSpace": [ + { + "x": 921.3088989257812, + "y": 430.6518859863281 + }, + { + "x": 968.8081665039062, + "y": 419.4173583984375 + }, + { + "x": 1017.0866088867188, + "y": 407.9847106933594 + }, + { + "x": 1065.8785400390625, + "y": 395.9847412109375 + }, + { + "x": 1113.4591064453125, + "y": 384.0810546875 + }, + { + "x": 1160.5516357421875, + "y": 371.66552734375 + }, + { + "x": 1205.4488525390625, + "y": 359.55242919921875 + }, + { + "x": 928.6162719726562, + "y": 480.0400695800781 + }, + { + "x": 977.2906494140625, + "y": 469.9803771972656 + }, + { + "x": 1026.23486328125, + "y": 459.1028747558594 + }, + { + "x": 1075.9283447265625, + "y": 447.6558532714844 + }, + { + "x": 1124.6187744140625, + "y": 435.916015625 + }, + { + "x": 1172.2506103515625, + "y": 423.8533935546875 + }, + { + "x": 1218.0081787109375, + "y": 411.3457946777344 + }, + { + "x": 935.7440795898438, + "y": 530.6792602539062 + }, + { + "x": 984.8646240234375, + "y": 521.3162231445312 + }, + { + "x": 1034.7041015625, + "y": 510.9582214355469 + }, + { + "x": 1084.7906494140625, + "y": 500.572509765625 + }, + { + "x": 1134.25390625, + "y": 488.9957580566406 + }, + { + "x": 1182.434326171875, + "y": 476.8396911621094 + }, + { + "x": 1228.6214599609375, + "y": 464.1889953613281 + }, + { + "x": 941.5314331054688, + "y": 581.7658081054688 + }, + { + "x": 991.0004272460938, + "y": 573.6881713867188 + }, + { + "x": 1035.54833984375, + "y": 563.7811889648438 + }, + { + "x": 1092.4161376953125, + "y": 554.3005981445312 + }, + { + "x": 1142.08203125, + "y": 543.0343627929688 + }, + { + "x": 1190.729736328125, + "y": 531.0202026367188 + }, + { + "x": 946.7901000976562, + "y": 632.1387329101562 + }, + { + "x": 996.662109375, + "y": 625.133544921875 + }, + { + "x": 1047.2913818359375, + "y": 616.8757934570312 + }, + { + "x": 1097.9893798828125, + "y": 607.3253784179688 + }, + { + "x": 1148.2353515625, + "y": 596.4871826171875 + }, + { + "x": 1196.5443115234375, + "y": 584.6694946289062 + }, + { + "x": 950.6718139648438, + "y": 682.1365966796875 + }, + { + "x": 1000.933837890625, + "y": 676.1591186523438 + }, + { + "x": 1051.080078125, + "y": 668.885498046875 + }, + { + "x": 1102.0789794921875, + "y": 659.92822265625 + }, + { + "x": 1151.790283203125, + "y": 649.6390380859375 + }, + { + "x": 1200.70947265625, + "y": 638.3272094726562 + }, + { + "x": 953.8516845703125, + "y": 730.310302734375 + }, + { + "x": 1003.4984130859375, + "y": 725.6022338867188 + }, + { + "x": 1053.9693603515625, + "y": 718.771240234375 + }, + { + "x": 1103.9930419921875, + "y": 710.7576904296875 + }, + { + "x": 1154.0035400390625, + "y": 700.85302734375 + }, + { + "x": 1201.8206787109375, + "y": 689.46142578125 + } + ], + "reprojectionErrors": [ + { + "x": -6.789306640625, + "y": -7.862945556640625 + }, + { + "x": -1.98089599609375, + "y": -6.074188232421875 + }, + { + "x": 1.1761474609375, + "y": -3.931732177734375 + }, + { + "x": 2.966064453125, + "y": -1.069732666015625 + }, + { + "x": 5.1318359375, + "y": 1.84503173828125 + }, + { + "x": 6.9677734375, + "y": 5.417510986328125 + }, + { + "x": 10.1982421875, + "y": 8.83038330078125 + }, + { + "x": -6.111083984375, + "y": -2.88836669921875 + }, + { + "x": -2.80035400390625, + "y": -2.679046630859375 + }, + { + "x": -0.622314453125, + "y": -1.491455078125 + }, + { + "x": -0.0379638671875, + "y": 0.4227294921875 + }, + { + "x": 0.72265625, + "y": 2.783447265625 + }, + { + "x": 1.7325439453125, + "y": 5.617523193359375 + }, + { + "x": 3.82421875, + "y": 9.043975830078125 + }, + { + "x": -5.373291015625, + "y": 0.279052734375 + }, + { + "x": -2.8341064453125, + "y": -0.60296630859375 + }, + { + "x": -1.8671875, + "y": -0.324859619140625 + }, + { + "x": -1.982666015625, + "y": 0.142578125 + }, + { + "x": -2.2926025390625, + "y": 1.959320068359375 + }, + { + "x": -2.12060546875, + "y": 4.5103759765625 + }, + { + "x": -0.739501953125, + "y": 7.707855224609375 + }, + { + "x": -3.416259765625, + "y": 2.4296875 + }, + { + "x": -1.55352783203125, + "y": -0.12237548828125 + }, + { + "x": -2.8194580078125, + "y": -1.489013671875 + }, + { + "x": -3.63232421875, + "y": -0.35430908203125 + }, + { + "x": -4.2191162109375, + "y": 1.68756103515625 + }, + { + "x": 0.07623291015625, + "y": 0.712890625 + }, + { + "x": -0.3858642578125, + "y": -1.85980224609375 + }, + { + "x": -1.7335205078125, + "y": -2.9696044921875 + }, + { + "x": -3.4290771484375, + "y": -2.625 + }, + { + "x": -3.970947265625, + "y": -1.1375732421875 + }, + { + "x": 2.5633544921875, + "y": 6.77532958984375 + }, + { + "x": 2.66796875, + "y": -2.5328369140625 + }, + { + "x": 0.7056884765625, + "y": -4.5921630859375 + }, + { + "x": -0.759765625, + "y": -5.14898681640625 + }, + { + "x": -2.207763671875, + "y": -4.51605224609375 + }, + { + "x": 6.75701904296875, + "y": 10.057861328125 + }, + { + "x": 7.44427490234375, + "y": 3.0433349609375 + }, + { + "x": 5.189697265625, + "y": -5.01617431640625 + }, + { + "x": 3.1185302734375, + "y": -6.30035400390625 + }, + { + "x": 2.474853515625, + "y": -5.92681884765625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.09613233958178478, + "y": 0.007780897710525909, + "z": 0.3152682267249833 + }, + "rotation": { + "quaternion": { + "W": 0.9945731401392633, + "X": 0.02892010666928821, + "Y": -0.05522868174473638, + "Z": -0.08329279114365741 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false + ], + "snapshotName": "img19.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img19.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + } + ], + "locationInImageSpace": [ + { + "x": 908.482666015625, + "y": 492.5608825683594 + }, + { + "x": 959.2435913085938, + "y": 483.382080078125 + }, + { + "x": 1010.3671264648438, + "y": 474.0703125 + }, + { + "x": 1061.7041015625, + "y": 463.8179016113281 + }, + { + "x": 1111.1798095703125, + "y": 453.26263427734375 + }, + { + "x": 1159.641845703125, + "y": 442.25689697265625 + }, + { + "x": 1205.5523681640625, + "y": 431.2453308105469 + }, + { + "x": 914.3087158203125, + "y": 544.7205200195312 + }, + { + "x": 966.0632934570312, + "y": 536.046630859375 + }, + { + "x": 1017.9234008789062, + "y": 527.5577392578125 + }, + { + "x": 1069.543212890625, + "y": 517.7728271484375 + }, + { + "x": 1119.584228515625, + "y": 507.31585693359375 + }, + { + "x": 1168.765625, + "y": 496.50860595703125 + }, + { + "x": 1214.8280029296875, + "y": 485.1080017089844 + }, + { + "x": 920.0065307617188, + "y": 596.76708984375 + }, + { + "x": 971.1987915039062, + "y": 590.1743774414062 + }, + { + "x": 1023.9547729492188, + "y": 581.0652465820312 + }, + { + "x": 1075.6712646484375, + "y": 571.80322265625 + }, + { + "x": 1126.4373779296875, + "y": 561.5492553710938 + }, + { + "x": 1175.4134521484375, + "y": 550.393310546875 + }, + { + "x": 1222.1468505859375, + "y": 538.8348388671875 + }, + { + "x": 924.0891723632812, + "y": 648.9581909179688 + }, + { + "x": 976.37060546875, + "y": 642.4381103515625 + }, + { + "x": 1028.36181640625, + "y": 634.8557739257812 + }, + { + "x": 1080.58984375, + "y": 625.7521362304688 + }, + { + "x": 1131.1817626953125, + "y": 615.826171875 + }, + { + "x": 1180.4349365234375, + "y": 604.5291137695312 + }, + { + "x": 1227.127685546875, + "y": 592.7492065429688 + }, + { + "x": 927.6607055664062, + "y": 699.458740234375 + }, + { + "x": 979.4794921875, + "y": 693.8211059570312 + }, + { + "x": 1031.7962646484375, + "y": 686.685791015625 + }, + { + "x": 1083.2847900390625, + "y": 678.431884765625 + }, + { + "x": 1133.9927978515625, + "y": 668.6199951171875 + }, + { + "x": 1182.988037109375, + "y": 657.5142211914062 + }, + { + "x": 1229.5091552734375, + "y": 645.077392578125 + }, + { + "x": 929.8622436523438, + "y": 748.0791625976562 + }, + { + "x": 981.9861450195312, + "y": 743.4674072265625 + }, + { + "x": 1033.02783203125, + "y": 737.4291381835938 + }, + { + "x": 1084.792236328125, + "y": 729.51318359375 + }, + { + "x": 1134.6551513671875, + "y": 719.8973388671875 + }, + { + "x": 1183.4432373046875, + "y": 709.035888671875 + }, + { + "x": 1229.8809814453125, + "y": 696.5897216796875 + }, + { + "x": 1182.063720703125, + "y": 757.7778930664062 + }, + { + "x": 1227.9476318359375, + "y": 745.6649780273438 + } + ], + "reprojectionErrors": [ + { + "x": -2.8939208984375, + "y": -4.20477294921875 + }, + { + "x": 0.15228271484375, + "y": -3.662628173828125 + }, + { + "x": 1.828125, + "y": -2.8292236328125 + }, + { + "x": 2.3076171875, + "y": -0.900787353515625 + }, + { + "x": 3.6895751953125, + "y": 1.48114013671875 + }, + { + "x": 5.1497802734375, + "y": 4.46051025390625 + }, + { + "x": 8.2484130859375, + "y": 7.58917236328125 + }, + { + "x": -2.7030029296875, + "y": -0.88421630859375 + }, + { + "x": -1.067626953125, + "y": -1.30596923828125 + }, + { + "x": -0.53125, + "y": -1.748046875 + }, + { + "x": -0.7236328125, + "y": -0.73345947265625 + }, + { + "x": -0.28271484375, + "y": 1.1099853515625 + }, + { + "x": 0.094970703125, + "y": 3.4566650390625 + }, + { + "x": 2.6910400390625, + "y": 6.54608154296875 + }, + { + "x": -2.50640869140625, + "y": 1.76934814453125 + }, + { + "x": -0.7264404296875, + "y": -1.1778564453125 + }, + { + "x": -1.48931884765625, + "y": -1.43798828125 + }, + { + "x": -2.1680908203125, + "y": -1.37872314453125 + }, + { + "x": -2.828857421875, + "y": -0.1649169921875 + }, + { + "x": -2.6094970703125, + "y": 2.10955810546875 + }, + { + "x": -1.0360107421875, + "y": 4.94140625 + }, + { + "x": -0.817138671875, + "y": 3.49188232421875 + }, + { + "x": -0.54437255859375, + "y": 0.042236328125 + }, + { + "x": -0.9464111328125, + "y": -2.16876220703125 + }, + { + "x": -2.52685546875, + "y": -2.68634033203125 + }, + { + "x": -3.390380859375, + "y": -2.213623046875 + }, + { + "x": -3.8125, + "y": -0.205810546875 + }, + { + "x": -2.55029296875, + "y": 2.445068359375 + }, + { + "x": 1.260986328125, + "y": 6.1126708984375 + }, + { + "x": 1.578125, + "y": 1.3653564453125 + }, + { + "x": 0.4464111328125, + "y": -1.70257568359375 + }, + { + "x": -0.7850341796875, + "y": -3.474609375 + }, + { + "x": -2.1419677734375, + "y": -3.51556396484375 + }, + { + "x": -2.6708984375, + "y": -2.093505859375 + }, + { + "x": -1.5894775390625, + "y": 0.82470703125 + }, + { + "x": 4.58709716796875, + "y": 9.81634521484375 + }, + { + "x": 4.18084716796875, + "y": 3.64239501953125 + }, + { + "x": 3.9200439453125, + "y": -0.91845703125 + }, + { + "x": 2.0220947265625, + "y": -3.41937255859375 + }, + { + "x": 1.132568359375, + "y": -4.04248046875 + }, + { + "x": 0.4459228515625, + "y": -3.2462158203125 + }, + { + "x": 1.2578125, + "y": -0.6954345703125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.0895808470372996, + "y": 0.0367374752740158, + "z": 0.30679772443010933 + }, + "rotation": { + "quaternion": { + "W": 0.9950886116152435, + "X": 0.03983744502476936, + "Y": -0.06052747599191967, + "Z": -0.06743928867947166 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + true, + true + ], + "snapshotName": "img20.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img20.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + } + ], + "locationInImageSpace": [ + { + "x": 756.7271118164062, + "y": 483.6319580078125 + }, + { + "x": 806.389404296875, + "y": 476.06658935546875 + }, + { + "x": 857.828857421875, + "y": 468.0976257324219 + }, + { + "x": 910.292724609375, + "y": 459.4602355957031 + }, + { + "x": 963.0127563476562, + "y": 450.3633117675781 + }, + { + "x": 1014.9977416992188, + "y": 440.7379150390625 + }, + { + "x": 1066.085693359375, + "y": 430.97760009765625 + }, + { + "x": 761.6994018554688, + "y": 535.0521850585938 + }, + { + "x": 812.0030517578125, + "y": 528.6088256835938 + }, + { + "x": 970.7056274414062, + "y": 504.5523986816406 + }, + { + "x": 1023.4070434570312, + "y": 495.1907653808594 + }, + { + "x": 1074.697021484375, + "y": 485.28662109375 + }, + { + "x": 766.5269165039062, + "y": 586.1234741210938 + }, + { + "x": 817.580322265625, + "y": 581.134521484375 + }, + { + "x": 977.3701782226562, + "y": 558.9028930664062 + }, + { + "x": 1030.2086181640625, + "y": 549.671875 + }, + { + "x": 1082.6815185546875, + "y": 539.8603515625 + }, + { + "x": 771.1566162109375, + "y": 637.7416381835938 + }, + { + "x": 822.18359375, + "y": 633.38232421875 + }, + { + "x": 874.8922119140625, + "y": 628.1670532226562 + }, + { + "x": 928.852783203125, + "y": 621.77001953125 + }, + { + "x": 982.5968627929688, + "y": 613.59326171875 + }, + { + "x": 1036.165283203125, + "y": 604.5715942382812 + }, + { + "x": 1087.8785400390625, + "y": 594.8958129882812 + }, + { + "x": 775.3369140625, + "y": 687.7142333984375 + }, + { + "x": 826.5034790039062, + "y": 684.5039672851562 + }, + { + "x": 879.4808349609375, + "y": 680.0209350585938 + }, + { + "x": 932.8640747070312, + "y": 674.20654296875 + }, + { + "x": 986.7376708984375, + "y": 666.9323120117188 + }, + { + "x": 1039.7039794921875, + "y": 658.18896484375 + }, + { + "x": 1091.950927734375, + "y": 648.4549560546875 + }, + { + "x": 779.4288330078125, + "y": 736.3920288085938 + }, + { + "x": 830.4681396484375, + "y": 734.3767700195312 + }, + { + "x": 882.2891235351562, + "y": 730.50927734375 + }, + { + "x": 936.3465576171875, + "y": 725.6752319335938 + }, + { + "x": 989.2081909179688, + "y": 718.7889404296875 + }, + { + "x": 1042.2398681640625, + "y": 710.8174438476562 + }, + { + "x": 1093.905029296875, + "y": 700.900146484375 + } + ], + "reprojectionErrors": [ + { + "x": -6.79461669921875, + "y": -4.07342529296875 + }, + { + "x": -2.41375732421875, + "y": -3.35260009765625 + }, + { + "x": -0.04400634765625, + "y": -2.20068359375 + }, + { + "x": 1.06591796875, + "y": -0.352691650390625 + }, + { + "x": 1.68267822265625, + "y": 1.98272705078125 + }, + { + "x": 2.79608154296875, + "y": 4.874725341796875 + }, + { + "x": 4.566650390625, + "y": 7.929901123046875 + }, + { + "x": -5.30877685546875, + "y": -1.75677490234375 + }, + { + "x": -1.76953125, + "y": -2.248779296875 + }, + { + "x": 1.235595703125, + "y": 6.802001953125 + }, + { + "x": -3.73370361328125, + "y": 0.5101318359375 + }, + { + "x": -1.1500244140625, + "y": -1.52471923828125 + }, + { + "x": -1.41937255859375, + "y": -0.20758056640625 + }, + { + "x": -1.5528564453125, + "y": 2.1051025390625 + }, + { + "x": 0.38043212890625, + "y": -0.9361572265625 + }, + { + "x": 0.86834716796875, + "y": -2.805419921875 + }, + { + "x": -0.12640380859375, + "y": -3.46734619140625 + }, + { + "x": -1.13677978515625, + "y": -2.32379150390625 + }, + { + "x": -2.205078125, + "y": -0.309326171875 + }, + { + "x": -1.6533203125, + "y": 2.38543701171875 + }, + { + "x": 0.08721923828125, + "y": 4.33184814453125 + }, + { + "x": 2.1295166015625, + "y": 0.34881591796875 + }, + { + "x": 2.13360595703125, + "y": -2.3369140625 + }, + { + "x": 1.50274658203125, + "y": -3.66644287109375 + }, + { + "x": 0.151123046875, + "y": -3.51104736328125 + }, + { + "x": -0.525146484375, + "y": -1.86126708984375 + }, + { + "x": -0.7154541015625, + "y": 0.80474853515625 + }, + { + "x": 2.21990966796875, + "y": 7.69580078125 + }, + { + "x": 4.16741943359375, + "y": 2.436767578125 + }, + { + "x": 5.1075439453125, + "y": -0.9461669921875 + }, + { + "x": 3.58392333984375, + "y": -3.33843994140625 + }, + { + "x": 3.02734375, + "y": -3.654052734375 + }, + { + "x": 2.070556640625, + "y": -2.85992431640625 + }, + { + "x": 2.248779296875, + "y": -0.0950927734375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.021332490703668515, + "y": 0.03430574828933989, + "z": 0.3206460503717052 + }, + "rotation": { + "quaternion": { + "W": 0.9977340537979822, + "X": 0.023568045003547287, + "Y": -0.015356896310344098, + "Z": -0.061118498691226854 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false + ], + "snapshotName": "img21.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img21.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -1.833434362197295E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -3.66686872439459E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -3.0557239369954914E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -1.8334341802983545E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -1.6068120021373034E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -1.4845830446574837E-4 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -2.1687327534891665E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -2.474305219948292E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -2.3520761169493198E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -2.602479071356356E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -2.785822725854814E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -2.602479071356356E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -2.9691660893149674E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -2.9080515378154814E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -2.7858224348165095E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -2.168732462450862E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -2.535419480409473E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -2.474304928909987E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -2.3520759714301676E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -1.301239535678178E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -1.667926408117637E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -1.606811856618151E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -1.4845828991383314E-4 + } + ], + "locationInImageSpace": [ + { + "x": 474.0431823730469, + "y": 162.89498901367188 + }, + { + "x": 518.7388916015625, + "y": 159.73390197753906 + }, + { + "x": 564.6043701171875, + "y": 157.24847412109375 + }, + { + "x": 612.0364990234375, + "y": 155.43862915039062 + }, + { + "x": 660.0391235351562, + "y": 154.8328857421875 + }, + { + "x": 708.2427368164062, + "y": 154.7615966796875 + }, + { + "x": 756.585693359375, + "y": 156.01759338378906 + }, + { + "x": 472.71002197265625, + "y": 207.9141387939453 + }, + { + "x": 517.4940185546875, + "y": 205.6092987060547 + }, + { + "x": 563.4498901367188, + "y": 203.12054443359375 + }, + { + "x": 611.2780151367188, + "y": 202.06715393066406 + }, + { + "x": 659.396728515625, + "y": 201.23562622070312 + }, + { + "x": 708.238525390625, + "y": 201.74574279785156 + }, + { + "x": 756.3801879882812, + "y": 202.55447387695312 + }, + { + "x": 471.65789794921875, + "y": 254.5132598876953 + }, + { + "x": 610.9000244140625, + "y": 249.468017578125 + }, + { + "x": 659.0540161132812, + "y": 249.21502685546875 + }, + { + "x": 707.9265747070312, + "y": 249.13246154785156 + }, + { + "x": 756.3980712890625, + "y": 250.06407165527344 + }, + { + "x": 472.1578674316406, + "y": 300.9134521484375 + }, + { + "x": 610.7633666992188, + "y": 297.9256896972656 + }, + { + "x": 658.9305419921875, + "y": 297.4899597167969 + }, + { + "x": 707.8526000976562, + "y": 297.6480407714844 + }, + { + "x": 756.113037109375, + "y": 298.369384765625 + }, + { + "x": 472.6560974121094, + "y": 347.4707946777344 + }, + { + "x": 517.232666015625, + "y": 346.3688659667969 + }, + { + "x": 563.2492065429688, + "y": 346.4064025878906 + }, + { + "x": 610.6466674804688, + "y": 345.7823791503906 + }, + { + "x": 659.0911865234375, + "y": 345.4590759277344 + }, + { + "x": 707.0320434570312, + "y": 345.5029602050781 + }, + { + "x": 755.841796875, + "y": 346.10235595703125 + }, + { + "x": 474.3910217285156, + "y": 393.8165588378906 + }, + { + "x": 518.6892700195312, + "y": 393.712158203125 + }, + { + "x": 564.1784057617188, + "y": 393.7733459472656 + }, + { + "x": 611.546875, + "y": 393.6154479980469 + }, + { + "x": 658.8240356445312, + "y": 393.7298583984375 + }, + { + "x": 707.0335083007812, + "y": 394.1933898925781 + }, + { + "x": 754.5245361328125, + "y": 393.5422058105469 + }, + { + "x": 476.83538818359375, + "y": 439.0946960449219 + }, + { + "x": 520.645751953125, + "y": 439.74493408203125 + }, + { + "x": 565.98388671875, + "y": 440.0085754394531 + }, + { + "x": 611.8079833984375, + "y": 440.2082824707031 + }, + { + "x": 659.3987426757812, + "y": 440.6888122558594 + }, + { + "x": 706.8720092773438, + "y": 440.5292663574219 + }, + { + "x": 753.987548828125, + "y": 440.62384033203125 + } + ], + "reprojectionErrors": [ + { + "x": -1.029998779296875, + "y": -3.3731536865234375 + }, + { + "x": 0.17730712890625, + "y": -1.3235015869140625 + }, + { + "x": 0.64642333984375, + "y": 0.0441436767578125 + }, + { + "x": -0.015625, + "y": 0.729827880859375 + }, + { + "x": -0.80902099609375, + "y": 0.2050018310546875 + }, + { + "x": -1.3604736328125, + "y": -0.8607330322265625 + }, + { + "x": -1.6043701171875, + "y": -3.260223388671875 + }, + { + "x": 0.266754150390625, + "y": -1.57342529296875 + }, + { + "x": 1.38623046875, + "y": -0.1624755859375 + }, + { + "x": 1.76544189453125, + "y": 1.4272918701171875 + }, + { + "x": 0.70782470703125, + "y": 1.5765838623046875 + }, + { + "x": -0.20111083984375, + "y": 1.4988555908203125 + }, + { + "x": -1.39019775390625, + "y": 0.0743255615234375 + }, + { + "x": -1.43231201171875, + "y": -1.654022216796875 + }, + { + "x": 1.314605712890625, + "y": -1.33514404296875 + }, + { + "x": -1.1070556640625, + "y": 0.6262359619140625 + }, + { + "x": -1.48419189453125, + "y": -1.0009307861328125 + }, + { + "x": 0.842437744140625, + "y": -0.8956298828125 + }, + { + "x": 1.2012939453125, + "y": 0.70904541015625 + }, + { + "x": 0.2283935546875, + "y": 0.678558349609375 + }, + { + "x": 0.40411376953125, + "y": -0.627227783203125 + }, + { + "x": 1.7012939453125, + "y": 0.233856201171875 + }, + { + "x": 1.9896240234375, + "y": -0.04583740234375 + }, + { + "x": 1.33184814453125, + "y": 0.334686279296875 + }, + { + "x": 0.06561279296875, + "y": 0.413177490234375 + }, + { + "x": -0.2545166015625, + "y": 0.12310791015625 + }, + { + "x": -0.997314453125, + "y": -0.72381591796875 + }, + { + "x": -1.238861083984375, + "y": -0.17742919921875 + }, + { + "x": 0.31640625, + "y": -0.0965576171875 + }, + { + "x": 1.1114501953125, + "y": -0.18133544921875 + }, + { + "x": 0.461669921875, + "y": -0.047088623046875 + }, + { + "x": 0.34136962890625, + "y": -0.18524169921875 + }, + { + "x": -0.26922607421875, + "y": -0.672576904296875 + }, + { + "x": 0.28448486328125, + "y": -0.0452880859375 + }, + { + "x": -3.559356689453125, + "y": 1.29364013671875 + }, + { + "x": -1.5416259765625, + "y": 0.836761474609375 + }, + { + "x": -0.62139892578125, + "y": 0.767669677734375 + }, + { + "x": 0.24676513671875, + "y": 0.763702392578125 + }, + { + "x": -0.21392822265625, + "y": 0.480072021484375 + }, + { + "x": -0.11572265625, + "y": 0.837738037109375 + }, + { + "x": 0.78558349609375, + "y": 0.942474365234375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.125182903609116, + "y": -0.13358578552697983, + "z": 0.3741626419469769 + }, + "rotation": { + "quaternion": { + "W": 0.9994280462594541, + "X": 0.002447482641938045, + "Y": 0.03372714240756714, + "Z": 2.646577931811624E-4 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img22.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/f558dd3a-a8a6-4398-ba72-9a23775f9efe/imgs/1280x800/img22.png" + } + ], + "calobjectSize": { + "width": 7.0, + "height": 7.0 + }, + "calobjectSpacing": 0.0254, + "lensmodel": "LENSMODEL_OPENCV" +} diff --git a/camera_calibrations/rightcamera_1280x800.json b/camera_calibrations/rightcamera_1280x800.json new file mode 100644 index 0000000..380f61f --- /dev/null +++ b/camera_calibrations/rightcamera_1280x800.json @@ -0,0 +1,21800 @@ +{ + "resolution": { + "width": 1280.0, + "height": 800.0 + }, + "cameraIntrinsics": { + "rows": 3, + "cols": 3, + "type": 6, + "data": [ + 690.8856294335595, + 0.0, + 712.1966646421755, + 0.0, + 689.9332351145745, + 423.39354293041436, + 0.0, + 0.0, + 1.0 + ] + }, + "distCoeffs": { + "rows": 1, + "cols": 8, + "type": 6, + "data": [ + -0.3170668381732656, + 0.12394006858332766, + -1.0811960893171176E-4, + 8.862033446825764E-5, + 0.0371334799804284, + 0.048511648338798355, + -0.06019699584907233, + 0.1173307961472624 + ] + }, + "calobjectWarp": [ + -1.7742996252334583E-5, + -1.2218604692139045E-4 + ], + "observations": [ + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 664.55126953125, + "y": 118.82799530029297 + }, + { + "x": 713.4489135742188, + "y": 120.17323303222656 + }, + { + "x": 762.4402465820312, + "y": 123.00794982910156 + }, + { + "x": 810.4335327148438, + "y": 126.59146881103516 + }, + { + "x": 857.56884765625, + "y": 131.8928680419922 + }, + { + "x": 903.5275268554688, + "y": 137.26495361328125 + }, + { + "x": 947.62890625, + "y": 143.29318237304688 + }, + { + "x": 661.7354736328125, + "y": 163.77914428710938 + }, + { + "x": 711.2341918945312, + "y": 165.1116485595703 + }, + { + "x": 760.5411987304688, + "y": 167.44564819335938 + }, + { + "x": 809.9880981445312, + "y": 171.39207458496094 + }, + { + "x": 857.73828125, + "y": 175.3611602783203 + }, + { + "x": 904.9051513671875, + "y": 180.7660675048828 + }, + { + "x": 949.36572265625, + "y": 187.48106384277344 + }, + { + "x": 658.6044311523438, + "y": 210.02114868164062 + }, + { + "x": 709.0945434570312, + "y": 211.73764038085938 + }, + { + "x": 759.2994384765625, + "y": 213.91795349121094 + }, + { + "x": 808.8587036132812, + "y": 217.40121459960938 + }, + { + "x": 857.73388671875, + "y": 221.7254638671875 + }, + { + "x": 904.5376586914062, + "y": 225.995849609375 + }, + { + "x": 950.0772705078125, + "y": 231.4859619140625 + }, + { + "x": 655.5935668945312, + "y": 258.4277038574219 + }, + { + "x": 706.8626708984375, + "y": 260.5639953613281 + }, + { + "x": 757.3342895507812, + "y": 263.2371826171875 + }, + { + "x": 807.4747924804688, + "y": 266.42633056640625 + }, + { + "x": 856.5264282226562, + "y": 269.5342712402344 + }, + { + "x": 904.5526123046875, + "y": 274.16748046875 + }, + { + "x": 949.4771728515625, + "y": 278.70159912109375 + }, + { + "x": 653.2523803710938, + "y": 308.4579772949219 + }, + { + "x": 704.1715698242188, + "y": 310.38140869140625 + }, + { + "x": 755.704833984375, + "y": 312.9181213378906 + }, + { + "x": 806.0382080078125, + "y": 315.8707580566406 + }, + { + "x": 855.3111572265625, + "y": 319.083984375 + }, + { + "x": 902.8093872070312, + "y": 322.277099609375 + }, + { + "x": 948.6390380859375, + "y": 326.4706115722656 + }, + { + "x": 650.6627807617188, + "y": 359.1618957519531 + }, + { + "x": 701.9000244140625, + "y": 361.7091369628906 + }, + { + "x": 752.9059448242188, + "y": 363.622802734375 + }, + { + "x": 803.7293701171875, + "y": 366.2190856933594 + }, + { + "x": 853.0371704101562, + "y": 369.1415100097656 + }, + { + "x": 900.9905395507812, + "y": 372.1091613769531 + }, + { + "x": 946.3970947265625, + "y": 374.43701171875 + }, + { + "x": 648.75048828125, + "y": 410.4313049316406 + }, + { + "x": 699.3412475585938, + "y": 412.0291442871094 + }, + { + "x": 750.9415893554688, + "y": 414.62103271484375 + }, + { + "x": 801.255615234375, + "y": 416.8323059082031 + }, + { + "x": 850.7411499023438, + "y": 419.34686279296875 + }, + { + "x": 898.3656005859375, + "y": 421.59320068359375 + }, + { + "x": 944.165771484375, + "y": 423.7409362792969 + } + ], + "reprojectionErrors": [ + { + "x": -0.42144775390625, + "y": -4.805206298828125 + }, + { + "x": -0.08587646484375, + "y": -1.7601852416992188 + }, + { + "x": -0.4478759765625, + "y": -0.25547027587890625 + }, + { + "x": -0.40594482421875, + "y": 0.45044708251953125 + }, + { + "x": -0.09039306640625, + "y": -0.6107177734375 + }, + { + "x": 0.82684326171875, + "y": -1.79095458984375 + }, + { + "x": 3.03570556640625, + "y": -3.67498779296875 + }, + { + "x": -0.03375244140625, + "y": -2.597503662109375 + }, + { + "x": 0.0828857421875, + "y": 0.200225830078125 + }, + { + "x": -0.22186279296875, + "y": 1.948089599609375 + }, + { + "x": -1.26953125, + "y": 2.03594970703125 + }, + { + "x": -1.213623046875, + "y": 2.0543365478515625 + }, + { + "x": -1.15777587890625, + "y": 0.5908660888671875 + }, + { + "x": 1.0303955078125, + "y": -2.227996826171875 + }, + { + "x": 0.63189697265625, + "y": -0.9517822265625 + }, + { + "x": 0.1424560546875, + "y": 1.1932373046875 + }, + { + "x": -0.68426513671875, + "y": 2.82867431640625 + }, + { + "x": -1.4774169921875, + "y": 3.11614990234375 + }, + { + "x": -2.1884765625, + "y": 2.5183563232421875 + }, + { + "x": -1.420166015625, + "y": 1.9308624267578125 + }, + { + "x": 0.030029296875, + "y": 0.080810546875 + }, + { + "x": 1.1396484375, + "y": -0.733428955078125 + }, + { + "x": 0.2596435546875, + "y": 0.714202880859375 + }, + { + "x": -0.454833984375, + "y": 1.5819091796875 + }, + { + "x": -1.45947265625, + "y": 1.891326904296875 + }, + { + "x": -1.98614501953125, + "y": 2.2403564453125 + }, + { + "x": -2.08819580078125, + "y": 1.023223876953125 + }, + { + "x": 0.32049560546875, + "y": -0.135101318359375 + }, + { + "x": 0.9395751953125, + "y": -1.393280029296875 + }, + { + "x": 0.801025390625, + "y": -0.01947021484375 + }, + { + "x": -0.593017578125, + "y": 0.700927734375 + }, + { + "x": -1.4178466796875, + "y": 0.9659423828125 + }, + { + "x": -1.80230712890625, + "y": 0.931549072265625 + }, + { + "x": -1.02178955078125, + "y": 0.879150390625 + }, + { + "x": 0.827880859375, + "y": -0.211181640625 + }, + { + "x": 0.94927978515625, + "y": -1.972930908203125 + }, + { + "x": 0.88751220703125, + "y": -1.5189208984375 + }, + { + "x": 0.40582275390625, + "y": -0.468414306640625 + }, + { + "x": -0.53350830078125, + "y": -0.136962890625 + }, + { + "x": -0.58648681640625, + "y": -0.167510986328125 + }, + { + "x": 0.09625244140625, + "y": -0.27850341796875 + }, + { + "x": 2.71746826171875, + "y": 0.215667724609375 + }, + { + "x": 0.24267578125, + "y": -2.35589599609375 + }, + { + "x": 1.22540283203125, + "y": -1.257965087890625 + }, + { + "x": 0.53741455078125, + "y": -1.187957763671875 + }, + { + "x": 0.48590087890625, + "y": -0.7706298828125 + }, + { + "x": 0.62420654296875, + "y": -0.689300537109375 + }, + { + "x": 1.99578857421875, + "y": -0.37188720703125 + }, + { + "x": 4.574462890625, + "y": 0.01251220703125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.024669711548996387, + "y": -0.1589998341388105, + "z": 0.35458836369383123 + }, + "rotation": { + "quaternion": { + "W": 0.9974848665290015, + "X": -0.04989607835263392, + "Y": -0.044714074344293094, + "Z": 0.02312950423552245 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img0.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img0.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + } + ], + "locationInImageSpace": [ + { + "x": 895.8905029296875, + "y": 191.41342163085938 + }, + { + "x": 933.7001953125, + "y": 195.86624145507812 + }, + { + "x": 969.4146118164062, + "y": 201.90167236328125 + }, + { + "x": 1004.748779296875, + "y": 205.9972686767578 + }, + { + "x": 1037.6124267578125, + "y": 211.21591186523438 + }, + { + "x": 1068.37060546875, + "y": 216.37278747558594 + }, + { + "x": 1097.769287109375, + "y": 221.7975311279297 + }, + { + "x": 896.7932739257812, + "y": 231.2723846435547 + }, + { + "x": 934.7607421875, + "y": 235.41082763671875 + }, + { + "x": 972.0394287109375, + "y": 238.97979736328125 + }, + { + "x": 1006.7736206054688, + "y": 243.13172912597656 + }, + { + "x": 897.6560668945312, + "y": 271.0832214355469 + }, + { + "x": 936.2264404296875, + "y": 274.76806640625 + }, + { + "x": 972.9268188476562, + "y": 278.223388671875 + }, + { + "x": 1008.3385620117188, + "y": 281.7875061035156 + }, + { + "x": 897.0659790039062, + "y": 312.386962890625 + }, + { + "x": 936.79833984375, + "y": 315.7403259277344 + }, + { + "x": 973.6718139648438, + "y": 318.5596923828125 + }, + { + "x": 1009.20947265625, + "y": 321.4043273925781 + }, + { + "x": 1042.6815185546875, + "y": 325.4163513183594 + }, + { + "x": 1073.346923828125, + "y": 328.5904541015625 + }, + { + "x": 896.8480834960938, + "y": 355.0939025878906 + }, + { + "x": 935.791748046875, + "y": 356.4578857421875 + }, + { + "x": 973.6407470703125, + "y": 359.19073486328125 + }, + { + "x": 1008.654541015625, + "y": 360.945068359375 + }, + { + "x": 1042.60498046875, + "y": 363.582275390625 + }, + { + "x": 895.8516235351562, + "y": 397.6240539550781 + }, + { + "x": 935.5571899414062, + "y": 398.90032958984375 + }, + { + "x": 972.707763671875, + "y": 400.72625732421875 + }, + { + "x": 1007.9168090820312, + "y": 402.50933837890625 + }, + { + "x": 1041.1121826171875, + "y": 403.0231628417969 + }, + { + "x": 894.908447265625, + "y": 439.999755859375 + }, + { + "x": 934.267333984375, + "y": 441.4432067871094 + }, + { + "x": 971.3037109375, + "y": 441.90057373046875 + }, + { + "x": 1006.3507690429688, + "y": 441.919677734375 + }, + { + "x": 1040.1451416015625, + "y": 443.0595397949219 + } + ], + "reprojectionErrors": [ + { + "x": 1.85888671875, + "y": -1.0757598876953125 + }, + { + "x": 0.7003173828125, + "y": -0.2736663818359375 + }, + { + "x": 0.540283203125, + "y": -1.2092437744140625 + }, + { + "x": -0.2884521484375, + "y": -0.353302001953125 + }, + { + "x": 0.3492431640625, + "y": -0.762359619140625 + }, + { + "x": 2.1309814453125, + "y": -1.24560546875 + }, + { + "x": 4.3507080078125, + "y": -2.12701416015625 + }, + { + "x": 1.07623291015625, + "y": -0.6740570068359375 + }, + { + "x": -0.05230712890625, + "y": -0.1434478759765625 + }, + { + "x": -1.5999755859375, + "y": 0.818084716796875 + }, + { + "x": -1.66265869140625, + "y": 1.0641937255859375 + }, + { + "x": -2.5914306640625, + "y": 1.358062744140625 + }, + { + "x": 0.99615478515625, + "y": 0.0384521484375 + }, + { + "x": -1.52008056640625, + "y": 0.1434326171875 + }, + { + "x": -2.30804443359375, + "y": 0.67864990234375 + }, + { + "x": 1.2860107421875, + "y": -1.099700927734375 + }, + { + "x": -0.25213623046875, + "y": 0.36956787109375 + }, + { + "x": -1.8377685546875, + "y": 0.38446044921875 + }, + { + "x": -1.6795654296875, + "y": 1.296173095703125 + }, + { + "x": -1.501708984375, + "y": 1.246826171875 + }, + { + "x": 2.33782958984375, + "y": -1.622802734375 + }, + { + "x": -0.48126220703125, + "y": -0.40203857421875 + }, + { + "x": -0.350830078125, + "y": -0.12066650390625 + }, + { + "x": 0.739501953125, + "y": 1.369049072265625 + }, + { + "x": 3.319580078125, + "y": -1.55230712890625 + }, + { + "x": 1.74627685546875, + "y": -1.452850341796875 + }, + { + "x": 2.4395751953125, + "y": 1.284576416015625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.11359048372751025, + "y": -0.14286761606886242, + "z": 0.42294198076761164 + }, + "rotation": { + "quaternion": { + "W": 0.9905348000144629, + "X": -0.04068813315454384, + "Y": -0.13011275528561328, + "Z": 0.015998646589390146 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img1.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img1.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + } + ], + "locationInImageSpace": [ + { + "x": 1001.0814208984375, + "y": 231.1406707763672 + }, + { + "x": 1109.0645751953125, + "y": 230.1856231689453 + }, + { + "x": 1144.7410888671875, + "y": 229.96743774414062 + }, + { + "x": 1178.5947265625, + "y": 231.4023895263672 + }, + { + "x": 1147.6055908203125, + "y": 268.7500915527344 + }, + { + "x": 1182.3245849609375, + "y": 268.8053894042969 + }, + { + "x": 1149.2364501953125, + "y": 307.8381042480469 + }, + { + "x": 1184.313720703125, + "y": 307.7440490722656 + }, + { + "x": 1004.3935546875, + "y": 343.8812255859375 + }, + { + "x": 1041.6400146484375, + "y": 344.4395751953125 + }, + { + "x": 1078.14306640625, + "y": 344.70440673828125 + }, + { + "x": 1115.4149169921875, + "y": 345.4613952636719 + }, + { + "x": 1151.1885986328125, + "y": 346.2245788574219 + }, + { + "x": 1186.6239013671875, + "y": 347.8520202636719 + }, + { + "x": 1004.7478637695312, + "y": 382.63018798828125 + }, + { + "x": 1041.649169921875, + "y": 383.08056640625 + }, + { + "x": 1078.3856201171875, + "y": 384.89752197265625 + }, + { + "x": 1115.343994140625, + "y": 384.7173767089844 + }, + { + "x": 1152.2552490234375, + "y": 386.0196533203125 + }, + { + "x": 1003.6013793945312, + "y": 421.9501953125 + }, + { + "x": 1041.0047607421875, + "y": 423.491943359375 + }, + { + "x": 1078.123779296875, + "y": 424.8206787109375 + }, + { + "x": 1115.0421142578125, + "y": 425.3992919921875 + }, + { + "x": 1150.617431640625, + "y": 426.38616943359375 + }, + { + "x": 1039.2027587890625, + "y": 462.1321105957031 + }, + { + "x": 1076.4632568359375, + "y": 464.3827209472656 + }, + { + "x": 1113.6156005859375, + "y": 465.4043273925781 + }, + { + "x": 1149.0001220703125, + "y": 466.9687805175781 + }, + { + "x": 1184.4306640625, + "y": 468.1896057128906 + } + ], + "reprojectionErrors": [ + { + "x": 0.151611328125, + "y": -6.3928375244140625 + }, + { + "x": 3.4127197265625, + "y": 1.618438720703125 + }, + { + "x": 0.092041015625, + "y": 1.03466796875 + }, + { + "x": 0.5631103515625, + "y": 2.32220458984375 + }, + { + "x": -1.97802734375, + "y": 0.74993896484375 + }, + { + "x": -1.921875, + "y": 0.79833984375 + }, + { + "x": -2.2340087890625, + "y": -0.1412353515625 + }, + { + "x": 0.1275634765625, + "y": 1.9012451171875 + }, + { + "x": 0.1907958984375, + "y": -0.444793701171875 + }, + { + "x": -0.244384765625, + "y": -0.766632080078125 + }, + { + "x": 0.1380615234375, + "y": -1.500274658203125 + }, + { + "x": 2.614013671875, + "y": 1.9974365234375 + }, + { + "x": 2.4388427734375, + "y": -0.282989501953125 + }, + { + "x": 1.8336181640625, + "y": -1.334075927734375 + }, + { + "x": 2.5418701171875, + "y": -4.1773681640625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.18400084820641188, + "y": -0.12663263980530168, + "z": 0.43981852899786583 + }, + "rotation": { + "quaternion": { + "W": 0.9978439461365008, + "X": -0.01703820215700614, + "Y": -0.06334012834895111, + "Z": 0.002277491324121098 + } + } + }, + "cornersUsed": [ + true, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + true, + false + ], + "snapshotName": "img2.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img2.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 825.0657958984375, + "y": 85.46659851074219 + }, + { + "x": 868.8860473632812, + "y": 84.89534759521484 + }, + { + "x": 911.9277954101562, + "y": 84.56201934814453 + }, + { + "x": 954.8861694335938, + "y": 85.79644012451172 + }, + { + "x": 996.9085693359375, + "y": 88.85118865966797 + }, + { + "x": 1038.651611328125, + "y": 91.02997589111328 + }, + { + "x": 1079.82861328125, + "y": 95.47135925292969 + }, + { + "x": 827.066650390625, + "y": 126.1510009765625 + }, + { + "x": 871.025390625, + "y": 125.96778869628906 + }, + { + "x": 913.9526977539062, + "y": 126.13392639160156 + }, + { + "x": 957.0902709960938, + "y": 128.03469848632812 + }, + { + "x": 999.7464599609375, + "y": 129.69619750976562 + }, + { + "x": 1041.597900390625, + "y": 133.2682342529297 + }, + { + "x": 1081.4385986328125, + "y": 136.82241821289062 + }, + { + "x": 829.171630859375, + "y": 168.37823486328125 + }, + { + "x": 872.886474609375, + "y": 168.0645751953125 + }, + { + "x": 916.2456665039062, + "y": 168.57798767089844 + }, + { + "x": 958.9791870117188, + "y": 170.15411376953125 + }, + { + "x": 1001.4434204101562, + "y": 172.5081024169922 + }, + { + "x": 1043.0557861328125, + "y": 175.1283721923828 + }, + { + "x": 1082.9810791015625, + "y": 178.84461975097656 + }, + { + "x": 830.95458984375, + "y": 210.50808715820312 + }, + { + "x": 874.0679321289062, + "y": 210.9049835205078 + }, + { + "x": 916.840087890625, + "y": 211.13937377929688 + }, + { + "x": 960.2608032226562, + "y": 213.14859008789062 + }, + { + "x": 1002.1852416992188, + "y": 215.37034606933594 + }, + { + "x": 1043.3563232421875, + "y": 218.23031616210938 + }, + { + "x": 1083.185791015625, + "y": 221.5292205810547 + }, + { + "x": 832.6507568359375, + "y": 252.50677490234375 + }, + { + "x": 874.9208984375, + "y": 253.55569458007812 + }, + { + "x": 917.6944580078125, + "y": 254.33407592773438 + }, + { + "x": 960.039794921875, + "y": 255.8400421142578 + }, + { + "x": 1001.9471435546875, + "y": 258.11572265625 + }, + { + "x": 1042.82763671875, + "y": 260.4708251953125 + }, + { + "x": 1082.4495849609375, + "y": 263.65692138671875 + }, + { + "x": 832.840087890625, + "y": 294.8407897949219 + }, + { + "x": 875.3101196289062, + "y": 296.092529296875 + }, + { + "x": 917.4667358398438, + "y": 297.158203125 + }, + { + "x": 959.8532104492188, + "y": 298.826904296875 + }, + { + "x": 1000.8633422851562, + "y": 300.6372985839844 + }, + { + "x": 1041.59375, + "y": 303.17498779296875 + }, + { + "x": 1080.1749267578125, + "y": 305.425048828125 + }, + { + "x": 833.6693115234375, + "y": 336.20068359375 + }, + { + "x": 875.2047729492188, + "y": 337.0386962890625 + }, + { + "x": 916.9641723632812, + "y": 338.945556640625 + }, + { + "x": 958.36865234375, + "y": 340.4141540527344 + }, + { + "x": 999.353759765625, + "y": 342.3499450683594 + }, + { + "x": 1038.8992919921875, + "y": 344.34075927734375 + }, + { + "x": 1077.99560546875, + "y": 346.9241943359375 + } + ], + "reprojectionErrors": [ + { + "x": 5.746337890625, + "y": -4.036811828613281 + }, + { + "x": 4.37091064453125, + "y": -1.2615127563476562 + }, + { + "x": 3.366943359375, + "y": 1.2574462890625 + }, + { + "x": 2.0443115234375, + "y": 2.1904525756835938 + }, + { + "x": 1.2603759765625, + "y": 1.28515625 + }, + { + "x": 0.3634033203125, + "y": 1.2380447387695312 + }, + { + "x": -0.3553466796875, + "y": -1.0892333984375 + }, + { + "x": 3.74755859375, + "y": -2.4855270385742188 + }, + { + "x": 2.374267578125, + "y": -0.294189453125 + }, + { + "x": 1.62274169921875, + "y": 1.5308914184570312 + }, + { + "x": 0.2562255859375, + "y": 1.6046600341796875 + }, + { + "x": -1.0286865234375, + "y": 1.90118408203125 + }, + { + "x": -1.90380859375, + "y": 0.2708740234375 + }, + { + "x": -1.1585693359375, + "y": -1.357696533203125 + }, + { + "x": 1.6361083984375, + "y": -2.1803741455078125 + }, + { + "x": 0.64630126953125, + "y": -0.057342529296875 + }, + { + "x": -0.4002685546875, + "y": 1.2232818603515625 + }, + { + "x": -1.22845458984375, + "y": 1.426025390625 + }, + { + "x": -2.18975830078125, + "y": 0.8359375 + }, + { + "x": -2.6966552734375, + "y": -0.035247802734375 + }, + { + "x": -1.9093017578125, + "y": -2.01702880859375 + }, + { + "x": -0.16192626953125, + "y": -1.484527587890625 + }, + { + "x": -0.41180419921875, + "y": -0.27362060546875 + }, + { + "x": -0.735595703125, + "y": 1.0860595703125 + }, + { + "x": -2.11785888671875, + "y": 0.657318115234375 + }, + { + "x": -2.4088134765625, + "y": 0.00262451171875 + }, + { + "x": -2.346435546875, + "y": -1.3035430908203125 + }, + { + "x": -1.337646484375, + "y": -3.061767578125 + }, + { + "x": -1.8818359375, + "y": -0.3677215576171875 + }, + { + "x": -1.15130615234375, + "y": -0.01318359375 + }, + { + "x": -1.3419189453125, + "y": 0.59979248046875 + }, + { + "x": -1.516845703125, + "y": 0.4731903076171875 + }, + { + "x": -1.6612548828125, + "y": -0.4349365234375 + }, + { + "x": -1.181396484375, + "y": -1.4342041015625 + }, + { + "x": 0.159423828125, + "y": -3.2760009765625 + }, + { + "x": -2.1036376953125, + "y": 0.69989013671875 + }, + { + "x": -1.43701171875, + "y": 0.644500732421875 + }, + { + "x": -0.8773193359375, + "y": 0.764739990234375 + }, + { + "x": -0.96258544921875, + "y": 0.2716064453125 + }, + { + "x": -0.08154296875, + "y": -0.3734130859375 + }, + { + "x": 0.6741943359375, + "y": -1.755828857421875 + }, + { + "x": 3.1790771484375, + "y": -2.860595703125 + }, + { + "x": -2.97418212890625, + "y": 3.02398681640625 + }, + { + "x": -1.23822021484375, + "y": 3.1724853515625 + }, + { + "x": -0.149169921875, + "y": 2.243377685546875 + }, + { + "x": 0.8770751953125, + "y": 1.743865966796875 + }, + { + "x": 1.91021728515625, + "y": 0.76861572265625 + }, + { + "x": 3.975341796875, + "y": -0.27008056640625 + }, + { + "x": 6.0872802734375, + "y": -1.909759521484375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.06949584612569379, + "y": -0.20063036897571743, + "z": 0.4047842994266177 + }, + "rotation": { + "quaternion": { + "W": 0.9989182388213524, + "X": -0.02508887905969203, + "Y": -0.03875150352176009, + "Z": 0.005587599876397113 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img3.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img3.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + } + ], + "locationInImageSpace": [ + { + "x": 891.1095581054688, + "y": 67.10286712646484 + }, + { + "x": 932.519287109375, + "y": 67.4161376953125 + }, + { + "x": 973.7760620117188, + "y": 69.45291900634766 + }, + { + "x": 1014.5707397460938, + "y": 72.00004577636719 + }, + { + "x": 1129.6131591796875, + "y": 85.41121673583984 + }, + { + "x": 893.21630859375, + "y": 106.7145767211914 + }, + { + "x": 935.024169921875, + "y": 107.90372467041016 + }, + { + "x": 976.5814819335938, + "y": 109.12938690185547 + }, + { + "x": 1017.4073486328125, + "y": 112.00462341308594 + }, + { + "x": 1056.646484375, + "y": 115.22417449951172 + }, + { + "x": 1095.187744140625, + "y": 119.57071685791016 + }, + { + "x": 1131.754638671875, + "y": 124.36349487304688 + }, + { + "x": 895.1231689453125, + "y": 147.3966064453125 + }, + { + "x": 936.8572387695312, + "y": 147.82115173339844 + }, + { + "x": 978.5150146484375, + "y": 149.7134552001953 + }, + { + "x": 1018.8492431640625, + "y": 152.20477294921875 + }, + { + "x": 1058.368896484375, + "y": 155.498046875 + }, + { + "x": 1096.416015625, + "y": 159.3112030029297 + }, + { + "x": 1133.767822265625, + "y": 163.726318359375 + }, + { + "x": 896.4546508789062, + "y": 188.04489135742188 + }, + { + "x": 938.4854125976562, + "y": 189.1212615966797 + }, + { + "x": 979.3762817382812, + "y": 191.08091735839844 + }, + { + "x": 1019.5570068359375, + "y": 194.01673889160156 + }, + { + "x": 1059.05908203125, + "y": 196.70748901367188 + }, + { + "x": 1097.432861328125, + "y": 200.3013458251953 + }, + { + "x": 897.4913940429688, + "y": 229.4571533203125 + }, + { + "x": 938.9390258789062, + "y": 230.73878479003906 + }, + { + "x": 979.690673828125, + "y": 232.40896606445312 + }, + { + "x": 1019.7478637695312, + "y": 234.82110595703125 + }, + { + "x": 1058.8642578125, + "y": 237.87208557128906 + }, + { + "x": 1096.5731201171875, + "y": 240.983642578125 + }, + { + "x": 897.9061889648438, + "y": 270.5143127441406 + }, + { + "x": 938.883544921875, + "y": 272.0238342285156 + }, + { + "x": 979.3140258789062, + "y": 273.68377685546875 + }, + { + "x": 1019.2214965820312, + "y": 276.0481262207031 + }, + { + "x": 1057.6505126953125, + "y": 278.42022705078125 + }, + { + "x": 1095.412841796875, + "y": 281.61090087890625 + }, + { + "x": 938.1962280273438, + "y": 312.25927734375 + }, + { + "x": 978.0863647460938, + "y": 314.3273620605469 + }, + { + "x": 1017.07470703125, + "y": 316.06304931640625 + }, + { + "x": 1055.614501953125, + "y": 319.126220703125 + } + ], + "reprojectionErrors": [ + { + "x": 4.49273681640625, + "y": -2.6062240600585938 + }, + { + "x": 3.51812744140625, + "y": 0.31594085693359375 + }, + { + "x": 2.20068359375, + "y": 1.4778671264648438 + }, + { + "x": 0.8577880859375, + "y": 2.0933151245117188 + }, + { + "x": 1.40399169921875, + "y": -0.10573577880859375 + }, + { + "x": -0.02337646484375, + "y": 1.636810302734375 + }, + { + "x": -1.2115478515625, + "y": 1.696014404296875 + }, + { + "x": -1.297119140625, + "y": 1.3777008056640625 + }, + { + "x": -1.160888671875, + "y": -0.10025787353515625 + }, + { + "x": 0.4814453125, + "y": -2.0565948486328125 + }, + { + "x": 0.8594970703125, + "y": -1.8902740478515625 + }, + { + "x": -0.048583984375, + "y": 0.4498443603515625 + }, + { + "x": -1.3858642578125, + "y": 1.290374755859375 + }, + { + "x": -1.896484375, + "y": 1.5005645751953125 + }, + { + "x": -2.0811767578125, + "y": 0.878021240234375 + }, + { + "x": -1.27392578125, + "y": -0.2946929931640625 + }, + { + "x": -0.2440185546875, + "y": -2.099151611328125 + }, + { + "x": -0.29742431640625, + "y": -1.415435791015625 + }, + { + "x": -1.30682373046875, + "y": 0.0299835205078125 + }, + { + "x": -1.68658447265625, + "y": 0.5628509521484375 + }, + { + "x": -1.85784912109375, + "y": 0.0907745361328125 + }, + { + "x": -1.84375, + "y": -0.1645050048828125 + }, + { + "x": -1.186279296875, + "y": -1.350738525390625 + }, + { + "x": -1.17034912109375, + "y": -1.29229736328125 + }, + { + "x": -1.40118408203125, + "y": -0.300048828125 + }, + { + "x": -1.3131103515625, + "y": 0.086029052734375 + }, + { + "x": -0.7320556640625, + "y": -0.7695465087890625 + }, + { + "x": 0.7669677734375, + "y": -1.7109832763671875 + }, + { + "x": -1.43212890625, + "y": -0.401824951171875 + }, + { + "x": -0.99737548828125, + "y": 0.10955810546875 + }, + { + "x": -0.53570556640625, + "y": 0.4466552734375 + }, + { + "x": 1.3873291015625, + "y": -0.365692138671875 + }, + { + "x": 3.0093994140625, + "y": -1.628509521484375 + }, + { + "x": 0.02716064453125, + "y": 1.975677490234375 + }, + { + "x": 1.21954345703125, + "y": 1.649383544921875 + }, + { + "x": 2.79779052734375, + "y": 1.634796142578125 + }, + { + "x": 4.3173828125, + "y": 0.272430419921875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.11078981576648432, + "y": -0.21709806719150382, + "z": 0.41734317176626623 + }, + "rotation": { + "quaternion": { + "W": 0.9978845123959655, + "X": -0.03837312957177676, + "Y": -0.051433005075491395, + "Z": 0.01042347523805111 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img4.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img4.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + } + ], + "locationInImageSpace": [ + { + "x": 947.40087890625, + "y": 66.96730041503906 + }, + { + "x": 988.9188842773438, + "y": 70.03508758544922 + }, + { + "x": 1105.101318359375, + "y": 86.45662689208984 + }, + { + "x": 1140.6212158203125, + "y": 93.20893859863281 + }, + { + "x": 948.9251708984375, + "y": 106.30276489257812 + }, + { + "x": 990.4783325195312, + "y": 110.01292419433594 + }, + { + "x": 1030.00927734375, + "y": 114.43059539794922 + }, + { + "x": 1069.410400390625, + "y": 119.52499389648438 + }, + { + "x": 1106.625, + "y": 125.92178344726562 + }, + { + "x": 1141.7091064453125, + "y": 131.74209594726562 + }, + { + "x": 949.0261840820312, + "y": 147.12664794921875 + }, + { + "x": 990.6007080078125, + "y": 150.78773498535156 + }, + { + "x": 1030.3450927734375, + "y": 154.5205841064453 + }, + { + "x": 1069.126220703125, + "y": 159.9736785888672 + }, + { + "x": 1106.4541015625, + "y": 164.9988250732422 + }, + { + "x": 1141.781494140625, + "y": 171.1002655029297 + }, + { + "x": 949.1873168945312, + "y": 188.36077880859375 + }, + { + "x": 989.9868774414062, + "y": 191.39833068847656 + }, + { + "x": 1029.7725830078125, + "y": 195.6698455810547 + }, + { + "x": 1069.091796875, + "y": 199.59832763671875 + }, + { + "x": 1105.4683837890625, + "y": 205.4208526611328 + }, + { + "x": 1140.3616943359375, + "y": 211.15199279785156 + }, + { + "x": 947.9821166992188, + "y": 229.28746032714844 + }, + { + "x": 988.6088256835938, + "y": 232.65206909179688 + }, + { + "x": 1028.5948486328125, + "y": 236.0111846923828 + }, + { + "x": 1066.2451171875, + "y": 240.46107482910156 + }, + { + "x": 1103.4119873046875, + "y": 245.2359161376953 + }, + { + "x": 946.49462890625, + "y": 270.41217041015625 + }, + { + "x": 986.7608642578125, + "y": 273.7233581542969 + }, + { + "x": 1025.6876220703125, + "y": 277.3414001464844 + }, + { + "x": 1063.428466796875, + "y": 281.6255187988281 + }, + { + "x": 1100.251708984375, + "y": 285.3236999511719 + }, + { + "x": 944.6022338867188, + "y": 311.16351318359375 + }, + { + "x": 984.0747680664062, + "y": 314.09613037109375 + }, + { + "x": 1022.524169921875, + "y": 317.7431945800781 + }, + { + "x": 1060.43408203125, + "y": 321.2362060546875 + }, + { + "x": 1096.4334716796875, + "y": 325.1671447753906 + }, + { + "x": 1131.0029296875, + "y": 328.4850769042969 + } + ], + "reprojectionErrors": [ + { + "x": 6.36676025390625, + "y": -1.6183395385742188 + }, + { + "x": 3.8031005859375, + "y": 0.7354888916015625 + }, + { + "x": 3.36474609375, + "y": -0.6699676513671875 + }, + { + "x": 0.91595458984375, + "y": 0.744049072265625 + }, + { + "x": -1.63232421875, + "y": 1.2491073608398438 + }, + { + "x": -1.541015625, + "y": -0.251373291015625 + }, + { + "x": 0.1072998046875, + "y": -1.2480621337890625 + }, + { + "x": 1.759765625, + "y": -0.9058837890625 + }, + { + "x": -0.56097412109375, + "y": 0.2550201416015625 + }, + { + "x": -1.6689453125, + "y": 1.270721435546875 + }, + { + "x": -2.302734375, + "y": 0.0756072998046875 + }, + { + "x": -0.765380859375, + "y": -1.488128662109375 + }, + { + "x": 0.06829833984375, + "y": -1.2504425048828125 + }, + { + "x": -1.32867431640625, + "y": 0.227081298828125 + }, + { + "x": -2.3336181640625, + "y": 0.4014892578125 + }, + { + "x": -3.47998046875, + "y": 0.851287841796875 + }, + { + "x": -0.1749267578125, + "y": -2.142791748046875 + }, + { + "x": -0.2833251953125, + "y": -0.9885711669921875 + }, + { + "x": -1.35919189453125, + "y": -0.1497344970703125 + }, + { + "x": -2.420654296875, + "y": 0.62982177734375 + }, + { + "x": -1.7586669921875, + "y": 0.2552947998046875 + }, + { + "x": -1.2119140625, + "y": -0.506103515625 + }, + { + "x": -0.94696044921875, + "y": -0.0526123046875 + }, + { + "x": -0.8060302734375, + "y": 0.15618896484375 + }, + { + "x": -0.095703125, + "y": -0.3599853515625 + }, + { + "x": 0.9293212890625, + "y": -0.34783935546875 + }, + { + "x": -0.096435546875, + "y": 0.398223876953125 + }, + { + "x": 1.7164306640625, + "y": 0.85809326171875 + }, + { + "x": 3.6993408203125, + "y": 0.33001708984375 + }, + { + "x": 6.5184326171875, + "y": 0.3629150390625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.14745153932442345, + "y": -0.2188470962933531, + "z": 0.42170693747747023 + }, + "rotation": { + "quaternion": { + "W": 0.9969665210534001, + "X": -0.026519634779742583, + "Y": -0.0667128369462755, + "Z": 0.03006430202763738 + } + } + }, + "cornersUsed": [ + true, + true, + false, + false, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + false + ], + "snapshotName": "img5.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img5.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 734.052490234375, + "y": 31.73739242553711 + }, + { + "x": 772.845703125, + "y": 32.226898193359375 + }, + { + "x": 811.594482421875, + "y": 32.81816482543945 + }, + { + "x": 850.467041015625, + "y": 34.04020690917969 + }, + { + "x": 888.9810791015625, + "y": 37.41856384277344 + }, + { + "x": 811.8802490234375, + "y": 68.55155181884766 + }, + { + "x": 851.46337890625, + "y": 69.46780395507812 + }, + { + "x": 889.2691650390625, + "y": 72.5047836303711 + }, + { + "x": 811.7863159179688, + "y": 104.92508697509766 + }, + { + "x": 851.3319091796875, + "y": 107.16877746582031 + }, + { + "x": 889.1831665039062, + "y": 109.76619720458984 + }, + { + "x": 927.3358154296875, + "y": 112.25457000732422 + }, + { + "x": 965.1165161132812, + "y": 116.04647827148438 + }, + { + "x": 734.3110961914062, + "y": 141.25807189941406 + }, + { + "x": 772.93115234375, + "y": 141.18597412109375 + }, + { + "x": 811.4386596679688, + "y": 142.3676300048828 + }, + { + "x": 850.3974609375, + "y": 144.3065948486328 + }, + { + "x": 889.2491455078125, + "y": 146.32720947265625 + }, + { + "x": 927.059326171875, + "y": 149.56231689453125 + }, + { + "x": 963.603515625, + "y": 152.73858642578125 + }, + { + "x": 734.1008911132812, + "y": 178.1885528564453 + }, + { + "x": 772.348388671875, + "y": 178.93960571289062 + }, + { + "x": 811.4857177734375, + "y": 179.9089813232422 + }, + { + "x": 850.1566772460938, + "y": 181.5265655517578 + }, + { + "x": 888.6239013671875, + "y": 183.8799285888672 + }, + { + "x": 925.888671875, + "y": 186.51455688476562 + }, + { + "x": 963.0205078125, + "y": 190.1286163330078 + }, + { + "x": 734.0032958984375, + "y": 215.8458251953125 + }, + { + "x": 772.7662963867188, + "y": 216.37156677246094 + }, + { + "x": 810.7393798828125, + "y": 217.56414794921875 + }, + { + "x": 849.1944580078125, + "y": 219.3870391845703 + }, + { + "x": 886.7017211914062, + "y": 221.28750610351562 + }, + { + "x": 924.53125, + "y": 224.6881561279297 + }, + { + "x": 960.9404907226562, + "y": 227.26170349121094 + }, + { + "x": 734.237060546875, + "y": 252.6896514892578 + }, + { + "x": 771.8303833007812, + "y": 253.5430908203125 + }, + { + "x": 810.17578125, + "y": 255.1856231689453 + }, + { + "x": 847.833251953125, + "y": 256.8300476074219 + }, + { + "x": 885.6262817382812, + "y": 259.094970703125 + }, + { + "x": 922.807373046875, + "y": 261.2481384277344 + }, + { + "x": 958.9996948242188, + "y": 264.2152099609375 + } + ], + "reprojectionErrors": [ + { + "x": 3.68804931640625, + "y": -3.4044036865234375 + }, + { + "x": 2.942626953125, + "y": -1.6780414581298828 + }, + { + "x": 2.03466796875, + "y": -0.06270599365234375 + }, + { + "x": 0.796875, + "y": 0.9126243591308594 + }, + { + "x": -0.28741455078125, + "y": -0.2775535583496094 + }, + { + "x": -0.992919921875, + "y": 0.9373321533203125 + }, + { + "x": -1.1171875, + "y": 0.34529876708984375 + }, + { + "x": -1.7501220703125, + "y": -0.14636993408203125 + }, + { + "x": -0.5377197265625, + "y": 0.832275390625 + }, + { + "x": -1.51446533203125, + "y": 0.7231903076171875 + }, + { + "x": -1.6585693359375, + "y": -0.6088104248046875 + }, + { + "x": -0.74462890625, + "y": -1.8903961181640625 + }, + { + "x": -0.072509765625, + "y": -1.21209716796875 + }, + { + "x": 0.3402099609375, + "y": -0.122344970703125 + }, + { + "x": -0.35052490234375, + "y": 0.7407989501953125 + }, + { + "x": -0.78753662109375, + "y": 0.947479248046875 + }, + { + "x": -1.2322998046875, + "y": 0.41015625 + }, + { + "x": -0.68511962890625, + "y": -0.4166259765625 + }, + { + "x": -0.214599609375, + "y": -2.2309722900390625 + }, + { + "x": -0.92767333984375, + "y": -0.940155029296875 + }, + { + "x": -0.8785400390625, + "y": 0.2769622802734375 + }, + { + "x": -0.2547607421875, + "y": 0.8192138671875 + }, + { + "x": -0.3272705078125, + "y": 0.723175048828125 + }, + { + "x": 0.3349609375, + "y": 0.541595458984375 + }, + { + "x": 0.46270751953125, + "y": -1.1480712890625 + }, + { + "x": 1.7996826171875, + "y": -2.018524169921875 + }, + { + "x": -2.12408447265625, + "y": 0.44976806640625 + }, + { + "x": -0.75384521484375, + "y": 1.2395477294921875 + }, + { + "x": -0.3526611328125, + "y": 1.2324981689453125 + }, + { + "x": 0.52056884765625, + "y": 1.215850830078125 + }, + { + "x": 1.04345703125, + "y": 0.571044921875 + }, + { + "x": 1.96453857421875, + "y": 0.03033447265625 + }, + { + "x": 3.66168212890625, + "y": -1.331878662109375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.01694718425116617, + "y": -0.2624663741530196, + "z": 0.4583709333100304 + }, + "rotation": { + "quaternion": { + "W": 0.9989912355337587, + "X": -0.03432966705748619, + "Y": -0.025256561443879787, + "Z": 0.01414536639638781 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img6.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img6.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 933.356201171875, + "y": 46.55401611328125 + }, + { + "x": 967.9781494140625, + "y": 54.39616394042969 + }, + { + "x": 1001.0667724609375, + "y": 62.46866226196289 + }, + { + "x": 780.439453125, + "y": 58.25699996948242 + }, + { + "x": 819.0454711914062, + "y": 62.83621597290039 + }, + { + "x": 930.3209838867188, + "y": 81.15958404541016 + }, + { + "x": 965.14208984375, + "y": 88.45066833496094 + }, + { + "x": 998.7987670898438, + "y": 95.55770111083984 + }, + { + "x": 816.0362548828125, + "y": 99.0217514038086 + }, + { + "x": 926.7578125, + "y": 116.38001251220703 + }, + { + "x": 962.1763305664062, + "y": 122.3083724975586 + }, + { + "x": 996.3847045898438, + "y": 129.8996124267578 + }, + { + "x": 812.2184448242188, + "y": 135.18374633789062 + }, + { + "x": 850.4248657226562, + "y": 140.19815063476562 + }, + { + "x": 887.0883178710938, + "y": 145.6830596923828 + }, + { + "x": 923.7735595703125, + "y": 152.07806396484375 + }, + { + "x": 958.7555541992188, + "y": 158.0349578857422 + }, + { + "x": 770.562744140625, + "y": 167.7074737548828 + }, + { + "x": 809.024658203125, + "y": 172.09268188476562 + }, + { + "x": 846.7943725585938, + "y": 176.4733428955078 + }, + { + "x": 883.0900268554688, + "y": 181.3001708984375 + }, + { + "x": 919.53076171875, + "y": 187.895263671875 + }, + { + "x": 954.3489379882812, + "y": 193.74227905273438 + }, + { + "x": 766.8587036132812, + "y": 204.60890197753906 + }, + { + "x": 805.02685546875, + "y": 208.9868621826172 + }, + { + "x": 842.7722778320312, + "y": 213.6841583251953 + }, + { + "x": 879.3062133789062, + "y": 218.3294219970703 + }, + { + "x": 915.114501953125, + "y": 223.60137939453125 + }, + { + "x": 949.6896362304688, + "y": 229.34652709960938 + }, + { + "x": 983.1399536132812, + "y": 235.5982666015625 + }, + { + "x": 763.2619018554688, + "y": 241.83343505859375 + }, + { + "x": 801.1270141601562, + "y": 245.78439331054688 + }, + { + "x": 838.2286376953125, + "y": 249.9624786376953 + }, + { + "x": 874.3848266601562, + "y": 254.79254150390625 + }, + { + "x": 910.2385864257812, + "y": 259.4547119140625 + }, + { + "x": 944.562744140625, + "y": 264.3616943359375 + }, + { + "x": 978.0224609375, + "y": 270.0218200683594 + } + ], + "reprojectionErrors": [ + { + "x": 2.15216064453125, + "y": 0.9531135559082031 + }, + { + "x": -1.50018310546875, + "y": 0.694366455078125 + }, + { + "x": -1.05517578125, + "y": -0.6721572875976562 + }, + { + "x": 0.25543212890625, + "y": -1.9022750854492188 + }, + { + "x": 1.1666259765625, + "y": 0.4143829345703125 + }, + { + "x": -0.61334228515625, + "y": -1.243377685546875 + }, + { + "x": 0.95391845703125, + "y": 0.1709747314453125 + }, + { + "x": -0.777099609375, + "y": 0.9634857177734375 + }, + { + "x": -2.111083984375, + "y": 0.5548248291015625 + }, + { + "x": 0.08160400390625, + "y": -0.5492401123046875 + }, + { + "x": -1.06640625, + "y": 0.7416839599609375 + }, + { + "x": -1.05584716796875, + "y": 1.5395050048828125 + }, + { + "x": -0.63531494140625, + "y": 0.2079010009765625 + }, + { + "x": 1.05712890625, + "y": -2.1888885498046875 + }, + { + "x": -0.02215576171875, + "y": -0.986328125 + }, + { + "x": -1.0, + "y": -0.1497344970703125 + }, + { + "x": -1.0841064453125, + "y": 0.6927642822265625 + }, + { + "x": 0.49224853515625, + "y": 0.514739990234375 + }, + { + "x": 2.5587158203125, + "y": -0.38470458984375 + }, + { + "x": 0.369140625, + "y": -2.548919677734375 + }, + { + "x": -0.25921630859375, + "y": -1.0602264404296875 + }, + { + "x": -0.44775390625, + "y": 0.1555328369140625 + }, + { + "x": -0.01092529296875, + "y": 0.67401123046875 + }, + { + "x": 2.050537109375, + "y": 1.667938232421875 + }, + { + "x": 4.24395751953125, + "y": 1.22332763671875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.0522760084674649, + "y": -0.27414011119472487, + "z": 0.4714000455530179 + }, + "rotation": { + "quaternion": { + "W": 0.9968504652988295, + "X": -0.030150735902188194, + "Y": -0.041794190349431604, + "Z": 0.0602770985623839 + } + } + }, + "cornersUsed": [ + false, + false, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + false, + true, + false, + false, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img7.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img7.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + } + ], + "locationInImageSpace": [ + { + "x": 832.8513793945312, + "y": 48.769981384277344 + }, + { + "x": 758.2683715820312, + "y": 86.68082427978516 + }, + { + "x": 797.1849365234375, + "y": 85.55865478515625 + }, + { + "x": 835.5789794921875, + "y": 85.12704467773438 + }, + { + "x": 760.9778442382812, + "y": 123.32179260253906 + }, + { + "x": 799.410400390625, + "y": 121.67372131347656 + }, + { + "x": 837.7303466796875, + "y": 121.14347839355469 + }, + { + "x": 875.4724731445312, + "y": 120.72557830810547 + }, + { + "x": 912.1904907226562, + "y": 122.20844268798828 + }, + { + "x": 948.23681640625, + "y": 122.70225524902344 + }, + { + "x": 763.2738647460938, + "y": 160.1439666748047 + }, + { + "x": 802.3948974609375, + "y": 158.24465942382812 + }, + { + "x": 840.1630859375, + "y": 157.88668823242188 + }, + { + "x": 877.24462890625, + "y": 157.88107299804688 + }, + { + "x": 914.4195556640625, + "y": 158.1795196533203 + }, + { + "x": 950.2229614257812, + "y": 158.66644287109375 + }, + { + "x": 765.3555908203125, + "y": 197.5100860595703 + }, + { + "x": 803.8177490234375, + "y": 195.4678955078125 + }, + { + "x": 842.1686401367188, + "y": 194.3462677001953 + }, + { + "x": 879.024658203125, + "y": 194.38121032714844 + }, + { + "x": 915.5036010742188, + "y": 194.67147827148438 + }, + { + "x": 951.1769409179688, + "y": 194.7979278564453 + }, + { + "x": 767.9560546875, + "y": 234.3113250732422 + }, + { + "x": 806.0715942382812, + "y": 233.0436553955078 + }, + { + "x": 843.4287719726562, + "y": 232.14349365234375 + }, + { + "x": 880.5341796875, + "y": 231.376953125 + }, + { + "x": 916.605712890625, + "y": 231.08438110351562 + }, + { + "x": 951.8687744140625, + "y": 231.97598266601562 + }, + { + "x": 769.7767944335938, + "y": 271.33172607421875 + }, + { + "x": 807.2423095703125, + "y": 269.6994323730469 + }, + { + "x": 844.5581665039062, + "y": 268.7685852050781 + }, + { + "x": 881.1292724609375, + "y": 267.9424743652344 + }, + { + "x": 917.3866577148438, + "y": 267.85205078125 + }, + { + "x": 952.3318481445312, + "y": 267.73809814453125 + } + ], + "reprojectionErrors": [ + { + "x": 1.37481689453125, + "y": -0.19843292236328125 + }, + { + "x": -1.2198486328125, + "y": 0.85137939453125 + }, + { + "x": -1.33465576171875, + "y": -0.8091201782226562 + }, + { + "x": -1.0440673828125, + "y": -1.477203369140625 + }, + { + "x": -1.582275390625, + "y": -0.3724212646484375 + }, + { + "x": -0.9521484375, + "y": -1.166290283203125 + }, + { + "x": 0.63238525390625, + "y": -1.2606964111328125 + }, + { + "x": -0.2099609375, + "y": 0.3205413818359375 + }, + { + "x": -1.21722412109375, + "y": 0.986236572265625 + }, + { + "x": -1.00341796875, + "y": 0.500335693359375 + }, + { + "x": 0.1717529296875, + "y": -0.803558349609375 + }, + { + "x": -0.37823486328125, + "y": -0.6648406982421875 + }, + { + "x": -0.7734375, + "y": 0.0029754638671875 + }, + { + "x": -0.68798828125, + "y": 0.30908203125 + }, + { + "x": -0.62603759765625, + "y": 0.48736572265625 + }, + { + "x": 0.19677734375, + "y": 0.1973724365234375 + }, + { + "x": -0.60455322265625, + "y": -0.066986083984375 + }, + { + "x": -0.25030517578125, + "y": 0.824951171875 + }, + { + "x": -0.0255126953125, + "y": 1.0220947265625 + }, + { + "x": 0.66717529296875, + "y": 1.12109375 + }, + { + "x": 1.39910888671875, + "y": 0.49090576171875 + }, + { + "x": 3.171142578125, + "y": -0.109283447265625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.03205682750667796, + "y": -0.2531654034288177, + "z": 0.46644671472726706 + }, + "rotation": { + "quaternion": { + "W": 0.9989317909581987, + "X": -0.026704316794017816, + "Y": -0.03314711098153985, + "Z": -0.017984034897312755 + } + } + }, + "cornersUsed": [ + false, + false, + true, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false + ], + "snapshotName": "img8.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img8.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 693.1720581054688, + "y": 83.08551788330078 + }, + { + "x": 727.2214965820312, + "y": 80.7031021118164 + }, + { + "x": 828.9676513671875, + "y": 79.48188018798828 + }, + { + "x": 629.6903076171875, + "y": 118.55699157714844 + }, + { + "x": 662.5045166015625, + "y": 116.23410034179688 + }, + { + "x": 696.0203247070312, + "y": 114.89401245117188 + }, + { + "x": 728.7067260742188, + "y": 112.52704620361328 + }, + { + "x": 762.6901245117188, + "y": 112.13037109375 + }, + { + "x": 796.3768920898438, + "y": 111.6970443725586 + }, + { + "x": 830.4256591796875, + "y": 111.50720977783203 + }, + { + "x": 631.2501831054688, + "y": 150.14224243164062 + }, + { + "x": 663.6265258789062, + "y": 147.92318725585938 + }, + { + "x": 696.907470703125, + "y": 146.0785369873047 + }, + { + "x": 730.0774536132812, + "y": 144.7691192626953 + }, + { + "x": 763.7173461914062, + "y": 144.1784210205078 + }, + { + "x": 797.1588134765625, + "y": 143.56661987304688 + }, + { + "x": 831.7998657226562, + "y": 143.47235107421875 + }, + { + "x": 633.1199340820312, + "y": 181.60235595703125 + }, + { + "x": 665.5223388671875, + "y": 179.51246643066406 + }, + { + "x": 698.049072265625, + "y": 178.28919982910156 + }, + { + "x": 731.5476684570312, + "y": 177.32960510253906 + }, + { + "x": 764.72314453125, + "y": 176.2749481201172 + }, + { + "x": 798.274169921875, + "y": 176.97645568847656 + }, + { + "x": 832.0578002929688, + "y": 176.508056640625 + }, + { + "x": 635.4081420898438, + "y": 213.19613647460938 + }, + { + "x": 667.1134033203125, + "y": 211.6263427734375 + }, + { + "x": 699.7276611328125, + "y": 210.71298217773438 + }, + { + "x": 732.2333984375, + "y": 209.3400115966797 + }, + { + "x": 766.176513671875, + "y": 208.9205322265625 + }, + { + "x": 798.7820434570312, + "y": 208.7047119140625 + }, + { + "x": 832.4043579101562, + "y": 209.29200744628906 + }, + { + "x": 636.9873657226562, + "y": 244.8336181640625 + }, + { + "x": 669.29052734375, + "y": 243.65737915039062 + }, + { + "x": 701.4183349609375, + "y": 242.87918090820312 + }, + { + "x": 733.8668212890625, + "y": 241.88311767578125 + }, + { + "x": 766.6828002929688, + "y": 241.31500244140625 + }, + { + "x": 799.9165649414062, + "y": 241.271240234375 + }, + { + "x": 832.8220825195312, + "y": 241.15000915527344 + }, + { + "x": 671.0700073242188, + "y": 275.06842041015625 + }, + { + "x": 702.6123046875, + "y": 274.1180419921875 + }, + { + "x": 734.845947265625, + "y": 273.475830078125 + }, + { + "x": 767.8399658203125, + "y": 273.07794189453125 + }, + { + "x": 800.130859375, + "y": 272.9811096191406 + }, + { + "x": 832.462646484375, + "y": 273.25714111328125 + } + ], + "reprojectionErrors": [ + { + "x": -2.2803955078125, + "y": -0.42829132080078125 + }, + { + "x": 1.73291015625, + "y": -2.2295684814453125 + }, + { + "x": 1.0650634765625, + "y": 1.0344772338867188 + }, + { + "x": -0.16583251953125, + "y": 0.5137710571289062 + }, + { + "x": -1.1160888671875, + "y": 0.0320281982421875 + }, + { + "x": -2.44482421875, + "y": -0.6908798217773438 + }, + { + "x": 0.9708251953125, + "y": -1.8174285888671875 + }, + { + "x": 1.47515869140625, + "y": -0.532073974609375 + }, + { + "x": 1.06036376953125, + "y": 0.3809967041015625 + }, + { + "x": 0.741455078125, + "y": 0.7609405517578125 + }, + { + "x": -0.06292724609375, + "y": 0.42431640625 + }, + { + "x": -0.68499755859375, + "y": 0.1109466552734375 + }, + { + "x": -2.5233154296875, + "y": -0.717803955078125 + }, + { + "x": -0.09417724609375, + "y": -1.1065826416015625 + }, + { + "x": 0.4664306640625, + "y": 0.04010009765625 + }, + { + "x": 0.88818359375, + "y": 0.322113037109375 + }, + { + "x": 0.3228759765625, + "y": 0.3424072265625 + }, + { + "x": 0.0650634765625, + "y": 0.4597320556640625 + }, + { + "x": -0.58453369140625, + "y": -1.1771087646484375 + }, + { + "x": -1.4833984375, + "y": -1.642059326171875 + }, + { + "x": -1.57080078125, + "y": -0.3581390380859375 + }, + { + "x": -0.23138427734375, + "y": 0.2588958740234375 + }, + { + "x": 0.18426513671875, + "y": 0.2212677001953125 + }, + { + "x": 0.6932373046875, + "y": 0.645050048828125 + }, + { + "x": -0.25091552734375, + "y": 0.117156982421875 + }, + { + "x": 0.126220703125, + "y": -0.6125946044921875 + }, + { + "x": -0.53021240234375, + "y": -2.14361572265625 + }, + { + "x": -2.33148193359375, + "y": 0.5154876708984375 + }, + { + "x": -1.50933837890625, + "y": 0.7293548583984375 + }, + { + "x": -0.52655029296875, + "y": 0.5467987060546875 + }, + { + "x": 0.1202392578125, + "y": 0.583740234375 + }, + { + "x": 0.38372802734375, + "y": 0.1943511962890625 + }, + { + "x": 0.2130126953125, + "y": -0.7177276611328125 + }, + { + "x": 0.35369873046875, + "y": -1.5506591796875 + }, + { + "x": -2.38360595703125, + "y": 1.986236572265625 + }, + { + "x": -0.73553466796875, + "y": 1.966033935546875 + }, + { + "x": 0.20574951171875, + "y": 1.639129638671875 + }, + { + "x": 0.370849609375, + "y": 1.0693359375 + }, + { + "x": 2.01641845703125, + "y": -1.04071044921875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.06332074039850351, + "y": -0.26345176487799354, + "z": 0.5363550674530925 + }, + "rotation": { + "quaternion": { + "W": 0.9995449179480456, + "X": -0.025969422625095526, + "Y": -0.002109934588918349, + "Z": -0.015201785052576187 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img9.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img9.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 580.912353515625, + "y": 33.48305130004883 + }, + { + "x": 691.9688110351562, + "y": 37.31386947631836 + }, + { + "x": 505.33026123046875, + "y": 67.69911193847656 + }, + { + "x": 540.7127075195312, + "y": 66.65251922607422 + }, + { + "x": 576.4414672851562, + "y": 66.41152954101562 + }, + { + "x": 689.1473999023438, + "y": 70.95489501953125 + }, + { + "x": 726.6976318359375, + "y": 73.64730072021484 + }, + { + "x": 536.1610107421875, + "y": 100.94416809082031 + }, + { + "x": 572.6358642578125, + "y": 100.32532501220703 + }, + { + "x": 609.7517700195312, + "y": 101.42505645751953 + }, + { + "x": 647.4291381835938, + "y": 103.01007080078125 + }, + { + "x": 685.6953125, + "y": 105.36125183105469 + }, + { + "x": 723.7725830078125, + "y": 108.3849105834961 + }, + { + "x": 532.3551635742188, + "y": 135.8799591064453 + }, + { + "x": 568.5283813476562, + "y": 136.13601684570312 + }, + { + "x": 605.9998779296875, + "y": 137.2130889892578 + }, + { + "x": 644.2760620117188, + "y": 138.71551513671875 + }, + { + "x": 682.3279418945312, + "y": 141.2125244140625 + }, + { + "x": 720.902587890625, + "y": 143.9385986328125 + }, + { + "x": 493.1221923828125, + "y": 171.31520080566406 + }, + { + "x": 529.158447265625, + "y": 172.26809692382812 + }, + { + "x": 565.1525268554688, + "y": 172.18792724609375 + }, + { + "x": 602.5873413085938, + "y": 173.6143035888672 + }, + { + "x": 640.8524780273438, + "y": 175.28575134277344 + }, + { + "x": 679.0690307617188, + "y": 177.55392456054688 + }, + { + "x": 717.72412109375, + "y": 180.5914306640625 + }, + { + "x": 490.0401306152344, + "y": 207.89991760253906 + }, + { + "x": 525.2553100585938, + "y": 208.4080810546875 + }, + { + "x": 561.8956909179688, + "y": 209.51373291015625 + }, + { + "x": 599.6397705078125, + "y": 210.9083709716797 + }, + { + "x": 637.5368041992188, + "y": 212.64083862304688 + }, + { + "x": 676.3096313476562, + "y": 215.2151336669922 + }, + { + "x": 714.7839965820312, + "y": 218.2425994873047 + }, + { + "x": 522.3821411132812, + "y": 245.23046875 + }, + { + "x": 559.3619995117188, + "y": 246.4415740966797 + }, + { + "x": 596.6935424804688, + "y": 248.49261474609375 + }, + { + "x": 634.6060791015625, + "y": 250.529052734375 + }, + { + "x": 673.0879516601562, + "y": 252.91781616210938 + }, + { + "x": 711.728271484375, + "y": 255.6893310546875 + } + ], + "reprojectionErrors": [ + { + "x": -0.79351806640625, + "y": -2.7430572509765625 + }, + { + "x": -0.76953125, + "y": -0.452392578125 + }, + { + "x": 0.68548583984375, + "y": -0.0940093994140625 + }, + { + "x": 0.89727783203125, + "y": 1.767608642578125 + }, + { + "x": 0.7613525390625, + "y": 1.9230422973632812 + }, + { + "x": -0.5311279296875, + "y": -1.1957550048828125 + }, + { + "x": 0.57373046875, + "y": 0.22650146484375 + }, + { + "x": 1.0230712890625, + "y": 1.6894073486328125 + }, + { + "x": 0.24212646484375, + "y": 1.60528564453125 + }, + { + "x": -0.01190185546875, + "y": 0.540283203125 + }, + { + "x": -0.4830322265625, + "y": -0.7399444580078125 + }, + { + "x": -0.9637451171875, + "y": -1.02886962890625 + }, + { + "x": -0.18609619140625, + "y": -0.4527130126953125 + }, + { + "x": 0.9083251953125, + "y": 1.302459716796875 + }, + { + "x": 0.35845947265625, + "y": 1.2036285400390625 + }, + { + "x": 0.16357421875, + "y": 0.52288818359375 + }, + { + "x": -0.1605224609375, + "y": -0.9122161865234375 + }, + { + "x": -2.08758544921875, + "y": -1.6029205322265625 + }, + { + "x": -0.2786865234375, + "y": -0.427337646484375 + }, + { + "x": 0.40606689453125, + "y": 0.1662445068359375 + }, + { + "x": 0.29119873046875, + "y": 0.486480712890625 + }, + { + "x": 0.33050537109375, + "y": 0.4846954345703125 + }, + { + "x": -0.1959228515625, + "y": -0.34295654296875 + }, + { + "x": -0.11065673828125, + "y": -1.6076507568359375 + }, + { + "x": -1.440673828125, + "y": -0.6240997314453125 + }, + { + "x": -0.88079833984375, + "y": 0.0235595703125 + }, + { + "x": -0.3648681640625, + "y": -0.1519012451171875 + }, + { + "x": -0.11907958984375, + "y": -0.2957763671875 + }, + { + "x": -0.1287841796875, + "y": -0.7748260498046875 + }, + { + "x": 0.0201416015625, + "y": -1.619293212890625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.140472025721654, + "y": -0.27126877931642945, + "z": 0.47664016015407995 + }, + "rotation": { + "quaternion": { + "W": 0.9971005466051108, + "X": -0.05769650206144171, + "Y": 0.03442412927082285, + "Z": 0.03572944071223204 + } + } + }, + "cornersUsed": [ + false, + false, + true, + false, + false, + true, + false, + true, + true, + true, + false, + false, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img10.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img10.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 343.82489013671875, + "y": 45.38868713378906 + }, + { + "x": 378.48382568359375, + "y": 41.7822265625 + }, + { + "x": 414.46649169921875, + "y": 38.631038665771484 + }, + { + "x": 450.9879455566406, + "y": 36.48960494995117 + }, + { + "x": 488.7091979980469, + "y": 35.40406799316406 + }, + { + "x": 527.1302490234375, + "y": 34.49631118774414 + }, + { + "x": 566.3240966796875, + "y": 35.26219177246094 + }, + { + "x": 339.15081787109375, + "y": 80.21004486083984 + }, + { + "x": 374.1954040527344, + "y": 76.7949447631836 + }, + { + "x": 409.88629150390625, + "y": 73.98833465576172 + }, + { + "x": 447.2369689941406, + "y": 72.12702941894531 + }, + { + "x": 484.82342529296875, + "y": 70.78060150146484 + }, + { + "x": 523.8297729492188, + "y": 70.60806274414062 + }, + { + "x": 562.837158203125, + "y": 71.08283233642578 + }, + { + "x": 335.6679382324219, + "y": 116.31485748291016 + }, + { + "x": 370.1257629394531, + "y": 113.17767333984375 + }, + { + "x": 406.7553405761719, + "y": 110.70809173583984 + }, + { + "x": 443.3945007324219, + "y": 109.03355407714844 + }, + { + "x": 481.6442565917969, + "y": 107.85559844970703 + }, + { + "x": 520.5922241210938, + "y": 107.25308990478516 + }, + { + "x": 559.991943359375, + "y": 107.73705291748047 + }, + { + "x": 332.6754150390625, + "y": 153.51988220214844 + }, + { + "x": 367.6143493652344, + "y": 150.7953643798828 + }, + { + "x": 403.10791015625, + "y": 148.30177307128906 + }, + { + "x": 440.8800354003906, + "y": 146.74688720703125 + }, + { + "x": 478.7935485839844, + "y": 145.47251892089844 + }, + { + "x": 517.793701171875, + "y": 145.372802734375 + }, + { + "x": 557.6494140625, + "y": 145.7228240966797 + }, + { + "x": 330.7684326171875, + "y": 190.89361572265625 + }, + { + "x": 365.1975402832031, + "y": 188.01657104492188 + }, + { + "x": 401.255615234375, + "y": 186.5110626220703 + }, + { + "x": 438.29669189453125, + "y": 184.60690307617188 + }, + { + "x": 476.3568420410156, + "y": 184.18081665039062 + }, + { + "x": 515.1737670898438, + "y": 183.29278564453125 + }, + { + "x": 554.4603271484375, + "y": 184.00686645507812 + }, + { + "x": 329.1620178222656, + "y": 228.58908081054688 + }, + { + "x": 364.1236877441406, + "y": 226.68450927734375 + }, + { + "x": 399.91729736328125, + "y": 225.17935180664062 + }, + { + "x": 437.4059753417969, + "y": 223.4701385498047 + }, + { + "x": 474.7285461425781, + "y": 222.85902404785156 + }, + { + "x": 513.6156005859375, + "y": 222.5390167236328 + }, + { + "x": 552.5383911132812, + "y": 222.8505859375 + }, + { + "x": 363.78070068359375, + "y": 265.1097412109375 + }, + { + "x": 399.6404724121094, + "y": 263.3157653808594 + }, + { + "x": 436.0274658203125, + "y": 262.339599609375 + }, + { + "x": 473.84295654296875, + "y": 262.0238952636719 + }, + { + "x": 512.186767578125, + "y": 261.4667053222656 + }, + { + "x": 551.483154296875, + "y": 261.6528625488281 + } + ], + "reprojectionErrors": [ + { + "x": -1.618255615234375, + "y": -2.2035446166992188 + }, + { + "x": -0.686065673828125, + "y": -0.4953727722167969 + }, + { + "x": -0.612152099609375, + "y": 0.7356910705566406 + }, + { + "x": -0.6031494140625, + "y": 0.9347763061523438 + }, + { + "x": -1.311370849609375, + "y": 0.055328369140625 + }, + { + "x": -2.22802734375, + "y": -1.0249366760253906 + }, + { + "x": -3.41693115234375, + "y": -3.802305221557617 + }, + { + "x": -0.06524658203125, + "y": -1.232269287109375 + }, + { + "x": 0.664306640625, + "y": 0.5063629150390625 + }, + { + "x": 1.218109130859375, + "y": 1.617218017578125 + }, + { + "x": 0.59124755859375, + "y": 1.76312255859375 + }, + { + "x": 0.216552734375, + "y": 1.3741607666015625 + }, + { + "x": -1.08111572265625, + "y": -0.20904541015625 + }, + { + "x": -1.87359619140625, + "y": -2.460296630859375 + }, + { + "x": 0.280609130859375, + "y": -1.1194305419921875 + }, + { + "x": 1.7803955078125, + "y": 0.5684967041015625 + }, + { + "x": 1.5841064453125, + "y": 1.572174072265625 + }, + { + "x": 1.862640380859375, + "y": 1.7638626098632812 + }, + { + "x": 1.02392578125, + "y": 1.44171142578125 + }, + { + "x": -0.01043701171875, + "y": 0.52655029296875 + }, + { + "x": -0.984619140625, + "y": -1.49298095703125 + }, + { + "x": 0.12030029296875, + "y": -1.6792449951171875 + }, + { + "x": 1.3228759765625, + "y": -0.1713104248046875 + }, + { + "x": 2.45166015625, + "y": 1.091796875 + }, + { + "x": 1.791595458984375, + "y": 1.4020538330078125 + }, + { + "x": 1.489013671875, + "y": 1.417388916015625 + }, + { + "x": 0.60797119140625, + "y": 0.2433929443359375 + }, + { + "x": -0.61083984375, + "y": -1.395294189453125 + }, + { + "x": -1.141204833984375, + "y": -1.97772216796875 + }, + { + "x": 0.7554931640625, + "y": -0.07904052734375 + }, + { + "x": 1.50927734375, + "y": 0.43707275390625 + }, + { + "x": 1.775146484375, + "y": 1.340576171875 + }, + { + "x": 1.526336669921875, + "y": 0.7545623779296875 + }, + { + "x": 1.03460693359375, + "y": 0.6188201904296875 + }, + { + "x": 0.596923828125, + "y": -1.1309051513671875 + }, + { + "x": -2.71875, + "y": -2.1654510498046875 + }, + { + "x": -1.169952392578125, + "y": -0.9953765869140625 + }, + { + "x": 0.038238525390625, + "y": -0.232818603515625 + }, + { + "x": 0.051849365234375, + "y": 0.7255706787109375 + }, + { + "x": 0.7415771484375, + "y": 0.5774688720703125 + }, + { + "x": 0.38641357421875, + "y": 0.1297149658203125 + }, + { + "x": 0.5250244140625, + "y": -0.95831298828125 + }, + { + "x": -2.508880615234375, + "y": 0.0755615234375 + }, + { + "x": -1.197723388671875, + "y": 0.556640625 + }, + { + "x": -0.79949951171875, + "y": 0.3720703125 + }, + { + "x": -0.404205322265625, + "y": 0.423675537109375 + }, + { + "x": -0.42596435546875, + "y": -0.27349853515625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.24729248610555024, + "y": -0.2544730017732132, + "z": 0.46177144149305327 + }, + "rotation": { + "quaternion": { + "W": 0.9969738915088191, + "X": -0.0508866867434857, + "Y": 0.05785555741600666, + "Z": 0.010312091839914 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img11.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img11.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + } + ], + "locationInImageSpace": [ + { + "x": 332.54595947265625, + "y": 73.61942291259766 + }, + { + "x": 369.0201721191406, + "y": 77.74028015136719 + }, + { + "x": 404.2422790527344, + "y": 81.90747833251953 + }, + { + "x": 440.4260559082031, + "y": 86.52971649169922 + }, + { + "x": 475.8100280761719, + "y": 92.91835021972656 + }, + { + "x": 251.22604370117188, + "y": 105.24588012695312 + }, + { + "x": 287.17730712890625, + "y": 107.177734375 + }, + { + "x": 324.0298767089844, + "y": 110.35050964355469 + }, + { + "x": 359.8939208984375, + "y": 113.6159439086914 + }, + { + "x": 396.4738464355469, + "y": 117.41857147216797 + }, + { + "x": 433.5933837890625, + "y": 122.4765396118164 + }, + { + "x": 469.4019775390625, + "y": 128.02560424804688 + }, + { + "x": 242.9719696044922, + "y": 143.25965881347656 + }, + { + "x": 278.7135925292969, + "y": 145.38421630859375 + }, + { + "x": 315.3212585449219, + "y": 147.7807159423828 + }, + { + "x": 352.3153076171875, + "y": 150.68405151367188 + }, + { + "x": 389.0746765136719, + "y": 154.79429626464844 + }, + { + "x": 426.4786071777344, + "y": 158.60916137695312 + }, + { + "x": 463.3525085449219, + "y": 163.72225952148438 + }, + { + "x": 235.02999877929688, + "y": 182.7173309326172 + }, + { + "x": 271.3489685058594, + "y": 184.68092346191406 + }, + { + "x": 307.9455261230469, + "y": 187.04859924316406 + }, + { + "x": 345.42181396484375, + "y": 189.8777618408203 + }, + { + "x": 382.5837097167969, + "y": 193.134765625 + }, + { + "x": 420.5754089355469, + "y": 197.34588623046875 + }, + { + "x": 457.4456787109375, + "y": 202.13690185546875 + }, + { + "x": 228.73609924316406, + "y": 223.1197967529297 + }, + { + "x": 264.86956787109375, + "y": 224.7802734375 + }, + { + "x": 302.03656005859375, + "y": 226.74139404296875 + }, + { + "x": 339.030517578125, + "y": 229.5532989501953 + }, + { + "x": 377.0115966796875, + "y": 232.2433624267578 + }, + { + "x": 414.4349670410156, + "y": 235.75621032714844 + }, + { + "x": 451.7252197265625, + "y": 239.49920654296875 + }, + { + "x": 223.43557739257812, + "y": 264.9439392089844 + }, + { + "x": 259.5401306152344, + "y": 266.0143127441406 + }, + { + "x": 296.481689453125, + "y": 267.6344299316406 + }, + { + "x": 334.6422424316406, + "y": 269.76751708984375 + }, + { + "x": 371.4757080078125, + "y": 272.2804870605469 + }, + { + "x": 409.8991394042969, + "y": 275.30621337890625 + }, + { + "x": 219.2025604248047, + "y": 305.9938659667969 + }, + { + "x": 254.98492431640625, + "y": 306.8741760253906 + }, + { + "x": 292.4014892578125, + "y": 308.670654296875 + }, + { + "x": 329.9479675292969, + "y": 310.65655517578125 + }, + { + "x": 367.6863708496094, + "y": 312.77313232421875 + }, + { + "x": 405.1282958984375, + "y": 314.8964538574219 + } + ], + "reprojectionErrors": [ + { + "x": -2.3577880859375, + "y": -1.7629547119140625 + }, + { + "x": -0.96484375, + "y": -3.9375762939453125 + }, + { + "x": 1.687164306640625, + "y": -7.8462371826171875 + }, + { + "x": -1.644744873046875, + "y": 2.5539398193359375 + }, + { + "x": -1.68389892578125, + "y": 3.1753997802734375 + }, + { + "x": -2.1912841796875, + "y": 2.5888748168945312 + }, + { + "x": -1.269927978515625, + "y": 1.9431686401367188 + }, + { + "x": -0.617034912109375, + "y": 0.7942886352539062 + }, + { + "x": -0.048858642578125, + "y": -1.5753250122070312 + }, + { + "x": 2.292694091796875, + "y": -4.4008636474609375 + }, + { + "x": 0.1425323486328125, + "y": 1.971466064453125 + }, + { + "x": 0.4110107421875, + "y": 2.6336212158203125 + }, + { + "x": 0.2493896484375, + "y": 3.0594482421875 + }, + { + "x": 0.144500732421875, + "y": 3.0146331787109375 + }, + { + "x": 0.72479248046875, + "y": 1.7997283935546875 + }, + { + "x": 1.1185302734375, + "y": 0.917633056640625 + }, + { + "x": 2.5079345703125, + "y": -1.2246551513671875 + }, + { + "x": 1.592620849609375, + "y": 0.242279052734375 + }, + { + "x": 1.380706787109375, + "y": 1.302215576171875 + }, + { + "x": 1.33001708984375, + "y": 1.9964141845703125 + }, + { + "x": 0.845672607421875, + "y": 2.2681427001953125 + }, + { + "x": 1.129241943359375, + "y": 2.15167236328125 + }, + { + "x": 1.044097900390625, + "y": 1.12139892578125 + }, + { + "x": 2.549224853515625, + "y": -0.4477691650390625 + }, + { + "x": 1.3701019287109375, + "y": -2.1361846923828125 + }, + { + "x": 1.43963623046875, + "y": -0.53289794921875 + }, + { + "x": 0.91729736328125, + "y": 0.8109130859375 + }, + { + "x": 1.016998291015625, + "y": 1.345794677734375 + }, + { + "x": 0.58612060546875, + "y": 2.045074462890625 + }, + { + "x": 1.177154541015625, + "y": 1.9648284912109375 + }, + { + "x": 2.373321533203125, + "y": 1.6984405517578125 + }, + { + "x": 0.1302947998046875, + "y": -5.642608642578125 + }, + { + "x": 0.3236083984375, + "y": -3.205535888671875 + }, + { + "x": 0.12445068359375, + "y": -1.274200439453125 + }, + { + "x": -0.841766357421875, + "y": 0.188934326171875 + }, + { + "x": -0.021392822265625, + "y": 1.317718505859375 + }, + { + "x": -0.323699951171875, + "y": 1.980010986328125 + }, + { + "x": -2.2003173828125, + "y": -8.082916259765625 + }, + { + "x": -1.59100341796875, + "y": -5.208709716796875 + }, + { + "x": -2.421112060546875, + "y": -1.340423583984375 + }, + { + "x": -2.403106689453125, + "y": 0.44073486328125 + }, + { + "x": -1.6182861328125, + "y": 2.2645263671875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.2989586489099683, + "y": -0.23148203375547843, + "z": 0.45277925551307857 + }, + "rotation": { + "quaternion": { + "W": 0.996356078357489, + "X": -0.035764779183818034, + "Y": 0.05045740135723503, + "Z": 0.05873241301268839 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false + ], + "snapshotName": "img12.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img12.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02540000155568123, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02540000155568123, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02540000155568123, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05079999938607216, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05079999938607216, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000839233398, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02540000155568123, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05079999938607216, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000839233398, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + } + ], + "locationInImageSpace": [ + { + "x": 274.96209716796875, + "y": 54.27471923828125 + }, + { + "x": 304.65814208984375, + "y": 56.88527297973633 + }, + { + "x": 396.0181579589844, + "y": 67.60350036621094 + }, + { + "x": 426.65972900390625, + "y": 72.38237762451172 + }, + { + "x": 266.23699951171875, + "y": 84.9062728881836 + }, + { + "x": 297.1846618652344, + "y": 87.27287292480469 + }, + { + "x": 389.2979736328125, + "y": 97.62369537353516 + }, + { + "x": 419.835205078125, + "y": 102.15824127197266 + }, + { + "x": 258.64337158203125, + "y": 116.8261489868164 + }, + { + "x": 289.0549011230469, + "y": 118.70862579345703 + }, + { + "x": 383.1152038574219, + "y": 128.25836181640625 + }, + { + "x": 414.2434387207031, + "y": 132.43875122070312 + }, + { + "x": 251.48228454589844, + "y": 149.6312713623047 + }, + { + "x": 281.9575500488281, + "y": 151.4144744873047 + }, + { + "x": 377.181884765625, + "y": 160.14418029785156 + }, + { + "x": 408.4120788574219, + "y": 164.09384155273438 + }, + { + "x": 244.24734497070312, + "y": 182.90164184570312 + }, + { + "x": 275.9672546386719, + "y": 185.1717071533203 + }, + { + "x": 307.51129150390625, + "y": 187.39161682128906 + }, + { + "x": 339.42816162109375, + "y": 189.83042907714844 + }, + { + "x": 371.51129150390625, + "y": 192.6954803466797 + }, + { + "x": 403.594970703125, + "y": 196.18045043945312 + }, + { + "x": 238.83401489257812, + "y": 218.5672607421875 + }, + { + "x": 270.3399658203125, + "y": 219.95521545410156 + }, + { + "x": 302.2429504394531, + "y": 221.46835327148438 + }, + { + "x": 334.0989685058594, + "y": 223.643310546875 + }, + { + "x": 366.0546569824219, + "y": 227.0828399658203 + }, + { + "x": 233.74630737304688, + "y": 253.44541931152344 + }, + { + "x": 265.1790771484375, + "y": 254.898193359375 + }, + { + "x": 297.6384582519531, + "y": 256.4059143066406 + }, + { + "x": 330.03863525390625, + "y": 258.33404541015625 + } + ], + "reprojectionErrors": [ + { + "x": -2.62139892578125, + "y": 0.7833786010742188 + }, + { + "x": -0.4630126953125, + "y": -2.8700485229492188 + }, + { + "x": -1.378173828125, + "y": 2.001434326171875 + }, + { + "x": 0.293975830078125, + "y": -0.7329254150390625 + }, + { + "x": 0.238555908203125, + "y": 1.6525344848632812 + }, + { + "x": 0.491241455078125, + "y": 2.4323959350585938 + }, + { + "x": 1.02655029296875, + "y": 0.7891082763671875 + }, + { + "x": 1.298553466796875, + "y": 1.853729248046875 + }, + { + "x": 1.303558349609375, + "y": 0.903350830078125 + }, + { + "x": 1.8597564697265625, + "y": -0.2824859619140625 + }, + { + "x": 0.20538330078125, + "y": 2.003265380859375 + }, + { + "x": -9.1552734375E-5, + "y": 2.2817535400390625 + }, + { + "x": 0.8431396484375, + "y": -3.493011474609375 + }, + { + "x": 0.248504638671875, + "y": -1.653961181640625 + }, + { + "x": -0.632965087890625, + "y": 1.12591552734375 + }, + { + "x": -0.52691650390625, + "y": -5.6605224609375 + }, + { + "x": -2.085968017578125, + "y": -1.7401275634765625 + }, + { + "x": -2.791351318359375, + "y": -0.16796875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.3371614259462594, + "y": -0.28197718544623895, + "z": 0.5286209794507433 + }, + "rotation": { + "quaternion": { + "W": 0.9954056739412326, + "X": -0.042761781435680477, + "Y": 0.05333568478764484, + "Z": 0.06703938441155773 + } + } + }, + "cornersUsed": [ + false, + true, + true, + false, + false, + true, + true, + false, + true, + true, + false, + false, + true, + true, + false, + true, + true, + false, + false, + true, + true, + false, + true, + true, + false, + false, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img13.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img13.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 319.6226806640625, + "y": 199.10488891601562 + }, + { + "x": 356.2471008300781, + "y": 199.85105895996094 + }, + { + "x": 393.6224670410156, + "y": 201.71192932128906 + }, + { + "x": 432.071533203125, + "y": 203.7701416015625 + }, + { + "x": 471.16058349609375, + "y": 206.41741943359375 + }, + { + "x": 244.57444763183594, + "y": 237.0811309814453 + }, + { + "x": 278.3407897949219, + "y": 237.6110382080078 + }, + { + "x": 313.39453125, + "y": 238.18185424804688 + }, + { + "x": 350.1744079589844, + "y": 239.39842224121094 + }, + { + "x": 387.6898193359375, + "y": 240.7351837158203 + }, + { + "x": 426.896484375, + "y": 243.17840576171875 + }, + { + "x": 466.05462646484375, + "y": 245.68463134765625 + }, + { + "x": 239.1640167236328, + "y": 276.197265625 + }, + { + "x": 272.5465087890625, + "y": 276.8803405761719 + }, + { + "x": 307.8807678222656, + "y": 278.2076110839844 + }, + { + "x": 344.9850769042969, + "y": 279.8823547363281 + }, + { + "x": 382.7369384765625, + "y": 281.5984191894531 + }, + { + "x": 421.8301696777344, + "y": 283.3905334472656 + }, + { + "x": 461.9563903808594, + "y": 285.8958435058594 + }, + { + "x": 234.59046936035156, + "y": 316.7047119140625 + }, + { + "x": 268.74444580078125, + "y": 317.5917053222656 + }, + { + "x": 303.42889404296875, + "y": 319.0643615722656 + }, + { + "x": 340.4587707519531, + "y": 320.68927001953125 + }, + { + "x": 378.2150573730469, + "y": 322.1929931640625 + }, + { + "x": 417.4503173828125, + "y": 324.85723876953125 + }, + { + "x": 458.1251525878906, + "y": 327.57666015625 + }, + { + "x": 231.5519561767578, + "y": 356.88543701171875 + }, + { + "x": 265.1616516113281, + "y": 358.0956726074219 + }, + { + "x": 300.2839050292969, + "y": 360.2933044433594 + }, + { + "x": 337.05133056640625, + "y": 361.8661804199219 + }, + { + "x": 375.2523498535156, + "y": 364.174072265625 + }, + { + "x": 414.02276611328125, + "y": 365.88043212890625 + }, + { + "x": 454.61993408203125, + "y": 368.5560607910156 + }, + { + "x": 229.07830810546875, + "y": 397.3543701171875 + }, + { + "x": 263.1291198730469, + "y": 399.462158203125 + }, + { + "x": 298.3235168457031, + "y": 401.80999755859375 + }, + { + "x": 335.00408935546875, + "y": 403.75933837890625 + }, + { + "x": 372.798095703125, + "y": 405.8370056152344 + }, + { + "x": 412.0766906738281, + "y": 408.0371398925781 + }, + { + "x": 451.7175598144531, + "y": 410.2214660644531 + }, + { + "x": 228.75143432617188, + "y": 437.5548400878906 + }, + { + "x": 262.03326416015625, + "y": 440.2572021484375 + }, + { + "x": 296.9920349121094, + "y": 442.54754638671875 + }, + { + "x": 333.36517333984375, + "y": 444.7469482421875 + }, + { + "x": 371.52716064453125, + "y": 447.0246276855469 + }, + { + "x": 410.11212158203125, + "y": 449.11749267578125 + }, + { + "x": 450.02215576171875, + "y": 451.4471740722656 + } + ], + "reprojectionErrors": [ + { + "x": -2.099945068359375, + "y": -0.79266357421875 + }, + { + "x": -2.459075927734375, + "y": -2.1257781982421875 + }, + { + "x": -2.75982666015625, + "y": -4.03302001953125 + }, + { + "x": -2.5046234130859375, + "y": 0.31011962890625 + }, + { + "x": -0.767425537109375, + "y": 0.794891357421875 + }, + { + "x": 0.31463623046875, + "y": 1.25811767578125 + }, + { + "x": 0.3189697265625, + "y": 1.095489501953125 + }, + { + "x": 0.2530517578125, + "y": 0.833038330078125 + }, + { + "x": -0.821563720703125, + "y": -0.5149383544921875 + }, + { + "x": -1.1470947265625, + "y": -1.9044342041015625 + }, + { + "x": -0.8104705810546875, + "y": 0.579376220703125 + }, + { + "x": 1.343505859375, + "y": 1.25927734375 + }, + { + "x": 2.17974853515625, + "y": 1.3203125 + }, + { + "x": 1.896240234375, + "y": 1.059844970703125 + }, + { + "x": 1.63238525390625, + "y": 0.78472900390625 + }, + { + "x": 0.711761474609375, + "y": 0.460906982421875 + }, + { + "x": -0.5391845703125, + "y": -0.54803466796875 + }, + { + "x": 0.0592498779296875, + "y": -0.39202880859375 + }, + { + "x": 1.4732666015625, + "y": 0.434783935546875 + }, + { + "x": 2.99261474609375, + "y": 0.707305908203125 + }, + { + "x": 2.81866455078125, + "y": 0.85968017578125 + }, + { + "x": 2.587371826171875, + "y": 1.166259765625 + }, + { + "x": 1.563690185546875, + "y": 0.346160888671875 + }, + { + "x": -0.19482421875, + "y": -0.494354248046875 + }, + { + "x": -0.593048095703125, + "y": -0.89056396484375 + }, + { + "x": 1.395416259765625, + "y": -0.03369140625 + }, + { + "x": 2.508819580078125, + "y": -0.126800537109375 + }, + { + "x": 2.63092041015625, + "y": 0.443267822265625 + }, + { + "x": 1.9903564453125, + "y": 0.31768798828125 + }, + { + "x": 1.46893310546875, + "y": 0.834075927734375 + }, + { + "x": -0.172515869140625, + "y": 0.42266845703125 + }, + { + "x": -1.7966156005859375, + "y": -1.53582763671875 + }, + { + "x": -0.220489501953125, + "y": -1.2208251953125 + }, + { + "x": 0.851165771484375, + "y": -1.102294921875 + }, + { + "x": 1.092254638671875, + "y": -0.540557861328125 + }, + { + "x": 0.89263916015625, + "y": -0.061309814453125 + }, + { + "x": -0.1011962890625, + "y": 0.342529296875 + }, + { + "x": -0.74859619140625, + "y": 0.810516357421875 + }, + { + "x": -5.1327972412109375, + "y": -1.7757568359375 + }, + { + "x": -2.76031494140625, + "y": -1.69732666015625 + }, + { + "x": -1.424072265625, + "y": -1.157073974609375 + }, + { + "x": -0.844940185546875, + "y": -0.474853515625 + }, + { + "x": -1.380157470703125, + "y": 0.181488037109375 + }, + { + "x": -1.64617919921875, + "y": 1.076416015625 + }, + { + "x": -2.526641845703125, + "y": 1.789703369140625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.2979816957658491, + "y": -0.14409955100076705, + "z": 0.44140621794601625 + }, + "rotation": { + "quaternion": { + "W": 0.9964329312680371, + "X": -0.017728855941762555, + "Y": 0.07496773032376182, + "Z": 0.034452003739801146 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img14.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img14.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 269.931884765625, + "y": 318.6465759277344 + }, + { + "x": 306.2052001953125, + "y": 318.6591796875 + }, + { + "x": 343.85345458984375, + "y": 319.090576171875 + }, + { + "x": 382.6957092285156, + "y": 319.70672607421875 + }, + { + "x": 422.4615173339844, + "y": 320.34686279296875 + }, + { + "x": 462.8271179199219, + "y": 321.33734130859375 + }, + { + "x": 503.67156982421875, + "y": 323.058837890625 + }, + { + "x": 267.43585205078125, + "y": 360.2463684082031 + }, + { + "x": 304.0155334472656, + "y": 360.6288757324219 + }, + { + "x": 341.8041076660156, + "y": 361.3270568847656 + }, + { + "x": 380.80426025390625, + "y": 361.8155822753906 + }, + { + "x": 420.7748107910156, + "y": 362.5056457519531 + }, + { + "x": 461.38970947265625, + "y": 363.6383972167969 + }, + { + "x": 501.85345458984375, + "y": 364.5419921875 + }, + { + "x": 266.40057373046875, + "y": 401.6941223144531 + }, + { + "x": 302.566162109375, + "y": 402.39666748046875 + }, + { + "x": 340.32574462890625, + "y": 402.9646301269531 + }, + { + "x": 379.38958740234375, + "y": 403.8241882324219 + }, + { + "x": 419.47265625, + "y": 404.39971923828125 + }, + { + "x": 459.5107116699219, + "y": 405.0836486816406 + }, + { + "x": 500.459228515625, + "y": 406.0106506347656 + }, + { + "x": 266.1324462890625, + "y": 443.5815124511719 + }, + { + "x": 301.982177734375, + "y": 444.9788818359375 + }, + { + "x": 339.5728759765625, + "y": 445.03240966796875 + }, + { + "x": 379.0524597167969, + "y": 446.2789611816406 + }, + { + "x": 418.553955078125, + "y": 446.443115234375 + }, + { + "x": 459.26678466796875, + "y": 447.304931640625 + }, + { + "x": 499.43878173828125, + "y": 447.5326232910156 + }, + { + "x": 267.57049560546875, + "y": 484.33154296875 + }, + { + "x": 303.4359130859375, + "y": 485.9908752441406 + }, + { + "x": 341.19482421875, + "y": 486.5831298828125 + }, + { + "x": 379.3506164550781, + "y": 487.64654541015625 + }, + { + "x": 419.13153076171875, + "y": 488.3224792480469 + }, + { + "x": 459.0267028808594, + "y": 488.3525695800781 + }, + { + "x": 499.8493957519531, + "y": 488.65185546875 + }, + { + "x": 269.34075927734375, + "y": 525.1964111328125 + }, + { + "x": 305.97369384765625, + "y": 526.333740234375 + }, + { + "x": 342.35113525390625, + "y": 528.0781860351562 + }, + { + "x": 380.9144592285156, + "y": 528.8663940429688 + }, + { + "x": 419.8838806152344, + "y": 529.0914916992188 + }, + { + "x": 460.1322021484375, + "y": 529.5865478515625 + }, + { + "x": 499.78033447265625, + "y": 529.3588256835938 + }, + { + "x": 272.3712158203125, + "y": 565.2997436523438 + }, + { + "x": 307.9727478027344, + "y": 566.1661987304688 + }, + { + "x": 344.9790344238281, + "y": 568.0737915039062 + }, + { + "x": 383.08905029296875, + "y": 568.6511840820312 + }, + { + "x": 422.1192321777344, + "y": 569.0192260742188 + }, + { + "x": 461.5691223144531, + "y": 569.341552734375 + }, + { + "x": 501.3063049316406, + "y": 568.3802490234375 + } + ], + "reprojectionErrors": [ + { + "x": -3.75732421875, + "y": 2.36920166015625 + }, + { + "x": -2.220611572265625, + "y": 2.26922607421875 + }, + { + "x": -1.546478271484375, + "y": 1.749847412109375 + }, + { + "x": -1.544403076171875, + "y": 1.04510498046875 + }, + { + "x": -1.933990478515625, + "y": 0.31573486328125 + }, + { + "x": -2.381439208984375, + "y": -0.764617919921875 + }, + { + "x": -2.75537109375, + "y": -2.57666015625 + }, + { + "x": -1.0406494140625, + "y": 1.57891845703125 + }, + { + "x": 0.131805419921875, + "y": 1.38177490234375 + }, + { + "x": 0.606109619140625, + "y": 0.871734619140625 + }, + { + "x": 0.389190673828125, + "y": 0.57415771484375 + }, + { + "x": -0.2679443359375, + "y": 0.077972412109375 + }, + { + "x": -1.029205322265625, + "y": -0.858001708984375 + }, + { + "x": -1.0887451171875, + "y": -1.561798095703125 + }, + { + "x": 0.238616943359375, + "y": 0.81365966796875 + }, + { + "x": 1.765869140625, + "y": 0.567474365234375 + }, + { + "x": 2.208251953125, + "y": 0.4620361328125 + }, + { + "x": 1.865081787109375, + "y": 0.07122802734375 + }, + { + "x": 1.031097412109375, + "y": -0.029205322265625 + }, + { + "x": 0.78057861328125, + "y": -0.231536865234375 + }, + { + "x": 0.1683349609375, + "y": -0.670318603515625 + }, + { + "x": 0.773956298828125, + "y": -0.523223876953125 + }, + { + "x": 2.556365966796875, + "y": -1.19500732421875 + }, + { + "x": 3.105316162109375, + "y": -0.51348876953125 + }, + { + "x": 2.282318115234375, + "y": -1.015350341796875 + }, + { + "x": 1.964111328125, + "y": -0.425018310546875 + }, + { + "x": 0.97119140625, + "y": -0.522369384765625 + }, + { + "x": 1.065948486328125, + "y": 0.024627685546875 + }, + { + "x": -0.373809814453125, + "y": -0.859649658203125 + }, + { + "x": 1.33087158203125, + "y": -1.5260009765625 + }, + { + "x": 1.6478271484375, + "y": -1.112548828125 + }, + { + "x": 2.083099365234375, + "y": -1.15728759765625 + }, + { + "x": 1.41815185546875, + "y": -0.80133056640625 + }, + { + "x": 1.173736572265625, + "y": 0.213958740234375 + }, + { + "x": 0.5467529296875, + "y": 0.973785400390625 + }, + { + "x": -1.830902099609375, + "y": -1.45263671875 + }, + { + "x": -0.9571533203125, + "y": -1.33154296875 + }, + { + "x": 0.676116943359375, + "y": -1.80157470703125 + }, + { + "x": 0.636932373046875, + "y": -1.299072265625 + }, + { + "x": 0.714691162109375, + "y": -0.21685791015625 + }, + { + "x": 0.04644775390625, + "y": 0.6123046875 + }, + { + "x": 0.521392822265625, + "y": 2.18145751953125 + }, + { + "x": -4.525421142578125, + "y": -1.4306640625 + }, + { + "x": -2.685028076171875, + "y": -0.775146484375 + }, + { + "x": -1.74713134765625, + "y": -1.1416015625 + }, + { + "x": -1.401397705078125, + "y": -0.1583251953125 + }, + { + "x": -1.454620361328125, + "y": 1.05426025390625 + }, + { + "x": -1.3966064453125, + "y": 2.33282470703125 + }, + { + "x": -1.084869384765625, + "y": 4.915771484375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.27776269441338236, + "y": -0.06384432021770323, + "z": 0.43025280299013663 + }, + "rotation": { + "quaternion": { + "W": 0.9982935642273859, + "X": 0.01405744164907778, + "Y": 0.056303430805732683, + "Z": 0.006501664092301367 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img15.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img15.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + } + ], + "locationInImageSpace": [ + { + "x": 214.392822265625, + "y": 304.1990051269531 + }, + { + "x": 250.35838317871094, + "y": 303.88580322265625 + }, + { + "x": 287.7221374511719, + "y": 303.32305908203125 + }, + { + "x": 325.9416809082031, + "y": 303.29638671875 + }, + { + "x": 365.0335693359375, + "y": 303.7882995605469 + }, + { + "x": 405.1523742675781, + "y": 304.8613586425781 + }, + { + "x": 212.07701110839844, + "y": 346.54168701171875 + }, + { + "x": 247.6960906982422, + "y": 345.8252868652344 + }, + { + "x": 285.5821228027344, + "y": 345.823486328125 + }, + { + "x": 324.052978515625, + "y": 346.22894287109375 + }, + { + "x": 363.1432189941406, + "y": 346.0091857910156 + }, + { + "x": 403.16943359375, + "y": 346.52410888671875 + }, + { + "x": 211.1107635498047, + "y": 388.92022705078125 + }, + { + "x": 246.95352172851562, + "y": 388.5107116699219 + }, + { + "x": 284.0302429199219, + "y": 388.2276916503906 + }, + { + "x": 322.5209045410156, + "y": 388.2818298339844 + }, + { + "x": 362.1250305175781, + "y": 388.40826416015625 + }, + { + "x": 401.7416076660156, + "y": 388.437744140625 + }, + { + "x": 211.46258544921875, + "y": 431.3639831542969 + }, + { + "x": 246.61985778808594, + "y": 430.8494873046875 + }, + { + "x": 284.60150146484375, + "y": 430.9179382324219 + }, + { + "x": 322.19073486328125, + "y": 430.6588439941406 + }, + { + "x": 361.8216552734375, + "y": 430.7841796875 + }, + { + "x": 401.7410583496094, + "y": 430.5655212402344 + }, + { + "x": 212.7486572265625, + "y": 472.80010986328125 + }, + { + "x": 249.02247619628906, + "y": 473.209228515625 + }, + { + "x": 285.1472473144531, + "y": 473.0202331542969 + }, + { + "x": 324.1123046875, + "y": 472.7257080078125 + }, + { + "x": 362.3223876953125, + "y": 472.3125305175781 + }, + { + "x": 402.7153015136719, + "y": 471.9788818359375 + }, + { + "x": 215.822021484375, + "y": 514.4766845703125 + }, + { + "x": 251.13555908203125, + "y": 514.842529296875 + }, + { + "x": 288.25384521484375, + "y": 514.6126708984375 + }, + { + "x": 325.3415832519531, + "y": 514.2070922851562 + }, + { + "x": 364.8560485839844, + "y": 513.9793090820312 + }, + { + "x": 186.32504272460938, + "y": 554.48876953125 + }, + { + "x": 219.79901123046875, + "y": 554.8562622070312 + }, + { + "x": 255.23988342285156, + "y": 554.7951049804688 + }, + { + "x": 291.0207824707031, + "y": 554.97021484375 + }, + { + "x": 328.8883361816406, + "y": 554.9691162109375 + }, + { + "x": 366.8368225097656, + "y": 553.9957885742188 + } + ], + "reprojectionErrors": [ + { + "x": -2.4966278076171875, + "y": 1.89190673828125 + }, + { + "x": -2.59222412109375, + "y": 1.385223388671875 + }, + { + "x": -2.846710205078125, + "y": 0.32330322265625 + }, + { + "x": -3.257843017578125, + "y": -1.276885986328125 + }, + { + "x": -3.960662841796875, + "y": -3.478485107421875 + }, + { + "x": -0.091522216796875, + "y": 1.584320068359375 + }, + { + "x": 0.18389892578125, + "y": 0.9456787109375 + }, + { + "x": -0.36279296875, + "y": -0.156494140625 + }, + { + "x": -0.814849853515625, + "y": -0.64605712890625 + }, + { + "x": -1.4693603515625, + "y": -1.883270263671875 + }, + { + "x": 1.61419677734375, + "y": 0.4052734375 + }, + { + "x": 2.283966064453125, + "y": 0.51885986328125 + }, + { + "x": 1.7864990234375, + "y": 0.1397705078125 + }, + { + "x": 0.776458740234375, + "y": -0.298980712890625 + }, + { + "x": 0.485687255859375, + "y": -0.64654541015625 + }, + { + "x": 2.027923583984375, + "y": -0.94244384765625 + }, + { + "x": 3.3426666259765625, + "y": -0.349273681640625 + }, + { + "x": 2.50701904296875, + "y": -0.3377685546875 + }, + { + "x": 1.673248291015625, + "y": -0.040069580078125 + }, + { + "x": 1.03216552734375, + "y": 0.262603759765625 + }, + { + "x": 1.533294677734375, + "y": -1.391265869140625 + }, + { + "x": 1.6896209716796875, + "y": -1.349090576171875 + }, + { + "x": 2.667266845703125, + "y": -0.700958251953125 + }, + { + "x": 1.494842529296875, + "y": 0.060760498046875 + }, + { + "x": 0.622406005859375, + "y": 1.766998291015625 + }, + { + "x": -0.7229461669921875, + "y": -2.19451904296875 + }, + { + "x": 0.350433349609375, + "y": -1.738525390625 + }, + { + "x": 0.28961181640625, + "y": -0.6724853515625 + }, + { + "x": 0.947723388671875, + "y": 0.58404541015625 + }, + { + "x": -0.11407470703125, + "y": 1.6778564453125 + }, + { + "x": -3.8573760986328125, + "y": -1.81988525390625 + }, + { + "x": -2.95587158203125, + "y": -0.5684814453125 + }, + { + "x": -1.72564697265625, + "y": 0.4674072265625 + }, + { + "x": -1.89556884765625, + "y": 1.70086669921875 + }, + { + "x": -1.4415283203125, + "y": 3.928466796875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.3333860642607522, + "y": -0.071844882903553, + "z": 0.42904071735499383 + }, + "rotation": { + "quaternion": { + "W": 0.9970500074641403, + "X": 0.011300507422015557, + "Y": 0.07591515917223939, + "Z": -6.853872017070791E-4 + } + } + }, + "cornersUsed": [ + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false + ], + "snapshotName": "img16.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img16.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 214.34939575195312, + "y": 390.5777893066406 + }, + { + "x": 245.3105926513672, + "y": 391.37615966796875 + }, + { + "x": 278.20574951171875, + "y": 393.1186828613281 + }, + { + "x": 313.3199768066406, + "y": 394.3085021972656 + }, + { + "x": 350.336181640625, + "y": 396.07843017578125 + }, + { + "x": 388.9979553222656, + "y": 397.301025390625 + }, + { + "x": 429.451904296875, + "y": 399.0979919433594 + }, + { + "x": 209.9213104248047, + "y": 430.5776672363281 + }, + { + "x": 240.93504333496094, + "y": 432.7071228027344 + }, + { + "x": 274.2034606933594, + "y": 434.4525451660156 + }, + { + "x": 309.5867004394531, + "y": 436.43084716796875 + }, + { + "x": 346.5492858886719, + "y": 438.0063781738281 + }, + { + "x": 385.7496643066406, + "y": 440.3504943847656 + }, + { + "x": 426.20806884765625, + "y": 442.2127990722656 + }, + { + "x": 206.8116455078125, + "y": 471.0137939453125 + }, + { + "x": 238.079345703125, + "y": 473.4291687011719 + }, + { + "x": 271.25787353515625, + "y": 476.2870788574219 + }, + { + "x": 306.5013732910156, + "y": 478.6097106933594 + }, + { + "x": 344.0964050292969, + "y": 481.275634765625 + }, + { + "x": 383.1932373046875, + "y": 483.5123291015625 + }, + { + "x": 424.1025085449219, + "y": 486.13153076171875 + }, + { + "x": 205.02394104003906, + "y": 511.4183044433594 + }, + { + "x": 236.59976196289062, + "y": 515.0380859375 + }, + { + "x": 269.4891052246094, + "y": 518.2988891601562 + }, + { + "x": 304.9966735839844, + "y": 521.7156372070312 + }, + { + "x": 342.563720703125, + "y": 524.8533935546875 + }, + { + "x": 381.8022766113281, + "y": 527.8226928710938 + }, + { + "x": 422.6138610839844, + "y": 530.14990234375 + }, + { + "x": 204.5740203857422, + "y": 552.085693359375 + }, + { + "x": 235.6222686767578, + "y": 555.7821655273438 + }, + { + "x": 268.9917297363281, + "y": 560.4759521484375 + }, + { + "x": 304.35357666015625, + "y": 563.70947265625 + }, + { + "x": 342.076904296875, + "y": 568.0642700195312 + }, + { + "x": 381.12542724609375, + "y": 570.5672607421875 + }, + { + "x": 422.656005859375, + "y": 574.0098266601562 + }, + { + "x": 205.0841522216797, + "y": 592.6952514648438 + }, + { + "x": 236.73118591308594, + "y": 597.75634765625 + }, + { + "x": 269.5469665527344, + "y": 601.8202514648438 + }, + { + "x": 305.3539123535156, + "y": 606.2090454101562 + }, + { + "x": 342.6363830566406, + "y": 610.3309936523438 + }, + { + "x": 382.06707763671875, + "y": 614.3621215820312 + }, + { + "x": 422.8545227050781, + "y": 617.3999633789062 + }, + { + "x": 207.4866943359375, + "y": 631.1456909179688 + }, + { + "x": 238.26197814941406, + "y": 637.3292236328125 + }, + { + "x": 271.32940673828125, + "y": 643.2406005859375 + }, + { + "x": 306.63568115234375, + "y": 647.38525390625 + }, + { + "x": 344.5950012207031, + "y": 651.7120971679688 + }, + { + "x": 383.3168029785156, + "y": 656.2724609375 + }, + { + "x": 424.61663818359375, + "y": 659.9243774414062 + } + ], + "reprojectionErrors": [ + { + "x": -6.5863189697265625, + "y": -0.72857666015625 + }, + { + "x": -3.57147216796875, + "y": -0.22174072265625 + }, + { + "x": -1.5936279296875, + "y": -0.62457275390625 + }, + { + "x": -0.902801513671875, + "y": -0.438934326171875 + }, + { + "x": -1.144927978515625, + "y": -0.79620361328125 + }, + { + "x": -2.02471923828125, + "y": -0.567413330078125 + }, + { + "x": -3.647735595703125, + "y": -0.872711181640625 + }, + { + "x": -3.110076904296875, + "y": 0.169830322265625 + }, + { + "x": -0.202392578125, + "y": -0.126190185546875 + }, + { + "x": 1.345001220703125, + "y": 0.009765625 + }, + { + "x": 1.706939697265625, + "y": -0.037261962890625 + }, + { + "x": 1.455657958984375, + "y": 0.370269775390625 + }, + { + "x": -0.028533935546875, + "y": 0.06317138671875 + }, + { + "x": -1.7249755859375, + "y": 0.2939453125 + }, + { + "x": -0.9199981689453125, + "y": 0.528961181640625 + }, + { + "x": 1.6780853271484375, + "y": 0.472442626953125 + }, + { + "x": 3.257110595703125, + "y": 0.0347900390625 + }, + { + "x": 3.69775390625, + "y": 0.19622802734375 + }, + { + "x": 2.750091552734375, + "y": 0.0806884765625 + }, + { + "x": 1.302398681640625, + "y": 0.46337890625 + }, + { + "x": -0.915252685546875, + "y": 0.535369873046875 + }, + { + "x": -0.019622802734375, + "y": 0.811431884765625 + }, + { + "x": 2.213714599609375, + "y": 0.07305908203125 + }, + { + "x": 4.02264404296875, + "y": -0.2315673828125 + }, + { + "x": 4.137054443359375, + "y": -0.61456298828125 + }, + { + "x": 3.1522216796875, + "y": -0.63787841796875 + }, + { + "x": 1.4945068359375, + "y": -0.40875244140625 + }, + { + "x": -0.6971435546875, + "y": 0.54974365234375 + }, + { + "x": -0.4247589111328125, + "y": 0.7177734375 + }, + { + "x": 2.2785491943359375, + "y": 0.42230224609375 + }, + { + "x": 3.5469970703125, + "y": -0.78265380859375 + }, + { + "x": 3.743896484375, + "y": -0.43597412109375 + }, + { + "x": 2.536468505859375, + "y": -1.1156005859375 + }, + { + "x": 0.999237060546875, + "y": 0.15533447265625 + }, + { + "x": -1.984405517578125, + "y": 0.58935546875 + }, + { + "x": -1.7577056884765625, + "y": 0.5635986328125 + }, + { + "x": 0.288238525390625, + "y": -0.58013916015625 + }, + { + "x": 2.048980712890625, + "y": -0.62567138671875 + }, + { + "x": 1.7364501953125, + "y": -0.8912353515625 + }, + { + "x": 0.90240478515625, + "y": -0.78082275390625 + }, + { + "x": -1.0877685546875, + "y": -0.46624755859375 + }, + { + "x": -3.402557373046875, + "y": 0.9595947265625 + }, + { + "x": -4.950836181640625, + "y": 2.4451904296875 + }, + { + "x": -2.0926971435546875, + "y": 0.692138671875 + }, + { + "x": -0.645965576171875, + "y": -0.67474365234375 + }, + { + "x": -0.52325439453125, + "y": -0.1566162109375 + }, + { + "x": -2.102752685546875, + "y": 0.30242919921875 + }, + { + "x": -3.456024169921875, + "y": 0.65576171875 + }, + { + "x": -6.358795166015625, + "y": 2.0506591796875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.3124818910678335, + "y": -0.020808423591124746, + "z": 0.4279834879112223 + }, + "rotation": { + "quaternion": { + "W": 0.9938418843666751, + "X": 0.009395741118917458, + "Y": 0.10856708062840802, + "Z": 0.0200802871281174 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img17.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img17.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 357.22491455078125, + "y": 283.6107177734375 + }, + { + "x": 395.4439697265625, + "y": 283.3525390625 + }, + { + "x": 436.2296142578125, + "y": 283.2999572753906 + }, + { + "x": 478.81353759765625, + "y": 283.98199462890625 + }, + { + "x": 523.1776123046875, + "y": 284.9833984375 + }, + { + "x": 282.3222961425781, + "y": 326.4289245605469 + }, + { + "x": 316.12347412109375, + "y": 326.81829833984375 + }, + { + "x": 352.01361083984375, + "y": 326.9979553222656 + }, + { + "x": 390.6459655761719, + "y": 327.6143493652344 + }, + { + "x": 431.4637451171875, + "y": 328.2098693847656 + }, + { + "x": 474.2290344238281, + "y": 329.799072265625 + }, + { + "x": 519.1275634765625, + "y": 331.0382385253906 + }, + { + "x": 311.9279479980469, + "y": 370.1318054199219 + }, + { + "x": 348.0732116699219, + "y": 371.33270263671875 + }, + { + "x": 470.3999938964844, + "y": 375.9235534667969 + }, + { + "x": 515.5894775390625, + "y": 378.0467529296875 + }, + { + "x": 309.4026794433594, + "y": 413.95013427734375 + }, + { + "x": 345.00579833984375, + "y": 416.51959228515625 + }, + { + "x": 467.90509033203125, + "y": 423.20654296875 + }, + { + "x": 512.6905517578125, + "y": 425.8571472167969 + }, + { + "x": 273.7445068359375, + "y": 455.0810852050781 + }, + { + "x": 307.0643005371094, + "y": 457.6669616699219 + }, + { + "x": 342.9371643066406, + "y": 461.317138671875 + }, + { + "x": 381.578857421875, + "y": 463.96917724609375 + }, + { + "x": 422.6421813964844, + "y": 467.32708740234375 + }, + { + "x": 465.3670349121094, + "y": 470.09039306640625 + }, + { + "x": 510.56390380859375, + "y": 473.2491760253906 + }, + { + "x": 272.8202209472656, + "y": 497.3500671386719 + }, + { + "x": 306.77642822265625, + "y": 501.697509765625 + }, + { + "x": 342.1939697265625, + "y": 505.522216796875 + }, + { + "x": 381.37646484375, + "y": 509.4839782714844 + }, + { + "x": 421.2461853027344, + "y": 513.3572998046875 + }, + { + "x": 464.3785095214844, + "y": 517.2830200195312 + }, + { + "x": 508.99151611328125, + "y": 520.64599609375 + }, + { + "x": 306.78240966796875, + "y": 544.430419921875 + }, + { + "x": 342.9731140136719, + "y": 549.0435180664062 + }, + { + "x": 380.90423583984375, + "y": 553.9631958007812 + }, + { + "x": 421.4122619628906, + "y": 558.4824829101562 + }, + { + "x": 463.7768859863281, + "y": 562.5732421875 + }, + { + "x": 508.48004150390625, + "y": 566.7836303710938 + } + ], + "reprojectionErrors": [ + { + "x": -0.905059814453125, + "y": -0.1844482421875 + }, + { + "x": -1.9677734375, + "y": -0.425140380859375 + }, + { + "x": -3.575439453125, + "y": -0.97100830078125 + }, + { + "x": -4.069671630859375, + "y": -1.5107421875 + }, + { + "x": -0.835418701171875, + "y": -0.908660888671875 + }, + { + "x": 1.353424072265625, + "y": -0.068267822265625 + }, + { + "x": 1.887298583984375, + "y": 0.365142822265625 + }, + { + "x": 1.369232177734375, + "y": 0.850494384765625 + }, + { + "x": 0.085906982421875, + "y": 0.37451171875 + }, + { + "x": -2.09661865234375, + "y": 0.282379150390625 + }, + { + "x": 1.006683349609375, + "y": -0.1861572265625 + }, + { + "x": 2.903045654296875, + "y": 0.250701904296875 + }, + { + "x": -1.11102294921875, + "y": 0.57830810546875 + }, + { + "x": 1.206207275390625, + "y": 0.02239990234375 + }, + { + "x": -0.74530029296875, + "y": 0.061187744140625 + }, + { + "x": -2.355865478515625, + "y": 0.109161376953125 + }, + { + "x": 3.33648681640625, + "y": -0.461456298828125 + }, + { + "x": 3.74072265625, + "y": -0.160247802734375 + }, + { + "x": -1.132293701171875, + "y": -0.056243896484375 + }, + { + "x": -3.660552978515625, + "y": 1.22991943359375 + }, + { + "x": -0.734619140625, + "y": 0.275634765625 + }, + { + "x": 1.7685546875, + "y": -0.061279296875 + }, + { + "x": 1.5887451171875, + "y": -0.436614990234375 + }, + { + "x": 1.849639892578125, + "y": -0.6207275390625 + }, + { + "x": 0.024444580078125, + "y": -0.75 + }, + { + "x": -2.053558349609375, + "y": -0.20458984375 + }, + { + "x": -2.981292724609375, + "y": 1.50347900390625 + }, + { + "x": -1.2945556640625, + "y": 0.9932861328125 + }, + { + "x": -0.267791748046875, + "y": 0.292236328125 + }, + { + "x": -0.691619873046875, + "y": 0.11224365234375 + }, + { + "x": -1.797271728515625, + "y": 0.486572265625 + }, + { + "x": -4.015411376953125, + "y": 0.8726806640625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.25169109963236574, + "y": -0.08287216192640776, + "z": 0.40289746520571545 + }, + "rotation": { + "quaternion": { + "W": 0.9936967063437394, + "X": -0.0013033127013640225, + "Y": 0.10879046382205235, + "Z": 0.027014665627938257 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + false, + false, + true, + true, + false, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img18.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img18.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 374.6875305175781, + "y": 245.99192810058594 + }, + { + "x": 414.05938720703125, + "y": 247.34251403808594 + }, + { + "x": 454.74346923828125, + "y": 248.71287536621094 + }, + { + "x": 497.05291748046875, + "y": 250.72581481933594 + }, + { + "x": 540.61181640625, + "y": 253.6533203125 + }, + { + "x": 585.1226806640625, + "y": 256.8345642089844 + }, + { + "x": 630.2754516601562, + "y": 260.70849609375 + }, + { + "x": 368.2012634277344, + "y": 288.258056640625 + }, + { + "x": 407.8011474609375, + "y": 289.95770263671875 + }, + { + "x": 448.54052734375, + "y": 292.3020935058594 + }, + { + "x": 491.2984924316406, + "y": 294.7765197753906 + }, + { + "x": 535.4107055664062, + "y": 297.822998046875 + }, + { + "x": 580.2423706054688, + "y": 301.0360412597656 + }, + { + "x": 625.876953125, + "y": 304.7884826660156 + }, + { + "x": 402.3730163574219, + "y": 334.0317687988281 + }, + { + "x": 443.5589599609375, + "y": 336.6319580078125 + }, + { + "x": 486.2547302246094, + "y": 339.2680358886719 + }, + { + "x": 530.6876220703125, + "y": 342.6393127441406 + }, + { + "x": 575.611083984375, + "y": 345.7622985839844 + }, + { + "x": 621.7156372070312, + "y": 349.873291015625 + }, + { + "x": 397.8551025390625, + "y": 378.5733947753906 + }, + { + "x": 439.083984375, + "y": 381.94140625 + }, + { + "x": 482.006591796875, + "y": 385.07244873046875 + }, + { + "x": 526.1815795898438, + "y": 388.38134765625 + }, + { + "x": 571.5848388671875, + "y": 392.1349792480469 + }, + { + "x": 617.6586303710938, + "y": 395.7663879394531 + }, + { + "x": 355.2341003417969, + "y": 419.7210388183594 + }, + { + "x": 394.1503601074219, + "y": 423.14752197265625 + }, + { + "x": 435.7604675292969, + "y": 427.10986328125 + }, + { + "x": 478.1910095214844, + "y": 430.4732360839844 + }, + { + "x": 522.9231567382812, + "y": 434.30908203125 + }, + { + "x": 567.7777709960938, + "y": 437.8836669921875 + }, + { + "x": 614.0172729492188, + "y": 441.73529052734375 + }, + { + "x": 352.36279296875, + "y": 464.0451965332031 + }, + { + "x": 391.85321044921875, + "y": 468.338134765625 + }, + { + "x": 432.71087646484375, + "y": 472.2296447753906 + }, + { + "x": 475.7789001464844, + "y": 476.4710998535156 + }, + { + "x": 519.6746215820312, + "y": 480.33282470703125 + }, + { + "x": 564.9375, + "y": 484.1700744628906 + }, + { + "x": 610.31103515625, + "y": 487.3468322753906 + }, + { + "x": 351.4094543457031, + "y": 507.7441101074219 + }, + { + "x": 390.090576171875, + "y": 511.8529968261719 + }, + { + "x": 431.5060119628906, + "y": 516.6956787109375 + }, + { + "x": 473.5840148925781, + "y": 521.1446533203125 + }, + { + "x": 517.568359375, + "y": 525.466796875 + }, + { + "x": 562.167724609375, + "y": 528.9920654296875 + }, + { + "x": 607.96875, + "y": 532.443603515625 + } + ], + "reprojectionErrors": [ + { + "x": -3.961639404296875, + "y": -1.5331268310546875 + }, + { + "x": -2.06756591796875, + "y": -0.76544189453125 + }, + { + "x": -0.833038330078125, + "y": 0.017242431640625 + }, + { + "x": -0.556640625, + "y": 0.192901611328125 + }, + { + "x": -0.84735107421875, + "y": -0.5096282958984375 + }, + { + "x": -1.3922119140625, + "y": -1.4286956787109375 + }, + { + "x": -1.865234375, + "y": -3.002410888671875 + }, + { + "x": -1.47149658203125, + "y": -0.103546142578125 + }, + { + "x": 0.20941162109375, + "y": 0.65936279296875 + }, + { + "x": 1.40447998046875, + "y": 0.81744384765625 + }, + { + "x": 1.249267578125, + "y": 0.88629150390625 + }, + { + "x": 0.4232177734375, + "y": 0.42486572265625 + }, + { + "x": -0.42340087890625, + "y": -0.16046142578125 + }, + { + "x": -1.35797119140625, + "y": -1.241485595703125 + }, + { + "x": 2.42938232421875, + "y": 0.982330322265625 + }, + { + "x": 2.351165771484375, + "y": 1.2457275390625 + }, + { + "x": 1.22027587890625, + "y": 0.821075439453125 + }, + { + "x": 0.29876708984375, + "y": 0.692962646484375 + }, + { + "x": -1.0877685546875, + "y": -0.37384033203125 + }, + { + "x": 2.22576904296875, + "y": 0.428955078125 + }, + { + "x": 2.664764404296875, + "y": 0.392547607421875 + }, + { + "x": 1.80548095703125, + "y": 0.393310546875 + }, + { + "x": 0.41888427734375, + "y": 0.00311279296875 + }, + { + "x": -0.92120361328125, + "y": -0.2098388671875 + }, + { + "x": -0.414031982421875, + "y": 0.11029052734375 + }, + { + "x": 1.9833984375, + "y": 0.187408447265625 + }, + { + "x": 2.34326171875, + "y": -0.215789794921875 + }, + { + "x": 2.553741455078125, + "y": 0.0367431640625 + }, + { + "x": 1.14886474609375, + "y": -0.1251220703125 + }, + { + "x": 0.3233642578125, + "y": 0.033660888671875 + }, + { + "x": -1.1689453125, + "y": -0.023834228515625 + }, + { + "x": -1.484283447265625, + "y": -0.145965576171875 + }, + { + "x": 0.346038818359375, + "y": -0.585906982421875 + }, + { + "x": 1.4661865234375, + "y": -0.5635986328125 + }, + { + "x": 1.04779052734375, + "y": -0.829071044921875 + }, + { + "x": 0.48876953125, + "y": -0.651275634765625 + }, + { + "x": -0.7347412109375, + "y": -0.38397216796875 + }, + { + "x": -1.3499755859375, + "y": 0.6103515625 + }, + { + "x": -4.457275390625, + "y": 0.300201416015625 + }, + { + "x": -1.812530517578125, + "y": 0.394805908203125 + }, + { + "x": -1.244354248046875, + "y": -0.17828369140625 + }, + { + "x": -0.66619873046875, + "y": -0.2901611328125 + }, + { + "x": -1.30657958984375, + "y": -0.20611572265625 + }, + { + "x": -1.8585205078125, + "y": 0.7454833984375 + }, + { + "x": -2.892333984375, + "y": 1.84307861328125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.19684879347367973, + "y": -0.10329349825460607, + "z": 0.39827713602424675 + }, + "rotation": { + "quaternion": { + "W": 0.9973079931257031, + "X": -0.009980790480857999, + "Y": 0.06039403777571161, + "Z": 0.040369677607157095 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img19.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img19.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 571.1903076171875, + "y": 291.7545471191406 + }, + { + "x": 610.4613647460938, + "y": 294.01922607421875 + }, + { + "x": 650.0296630859375, + "y": 296.6348571777344 + }, + { + "x": 689.44482421875, + "y": 299.5670471191406 + }, + { + "x": 728.261962890625, + "y": 302.8150329589844 + }, + { + "x": 490.66583251953125, + "y": 327.749755859375 + }, + { + "x": 529.2205810546875, + "y": 329.2122497558594 + }, + { + "x": 568.357177734375, + "y": 331.638916015625 + }, + { + "x": 607.531982421875, + "y": 333.66595458984375 + }, + { + "x": 646.9369506835938, + "y": 335.8514099121094 + }, + { + "x": 686.5209350585938, + "y": 338.9852294921875 + }, + { + "x": 725.6740112304688, + "y": 341.4981689453125 + }, + { + "x": 487.85162353515625, + "y": 366.97021484375 + }, + { + "x": 526.2970581054688, + "y": 369.1577453613281 + }, + { + "x": 565.3622436523438, + "y": 371.03057861328125 + }, + { + "x": 604.865966796875, + "y": 373.23944091796875 + }, + { + "x": 644.3276977539062, + "y": 375.8871765136719 + }, + { + "x": 683.917236328125, + "y": 377.69927978515625 + }, + { + "x": 722.8662109375, + "y": 380.7878112792969 + }, + { + "x": 486.0235595703125, + "y": 406.6830139160156 + }, + { + "x": 524.2402954101562, + "y": 408.6288757324219 + }, + { + "x": 563.3587646484375, + "y": 411.1345520019531 + }, + { + "x": 602.8299560546875, + "y": 412.9683532714844 + }, + { + "x": 641.8257446289062, + "y": 414.93756103515625 + }, + { + "x": 681.47509765625, + "y": 417.8097839355469 + }, + { + "x": 720.52978515625, + "y": 419.66748046875 + }, + { + "x": 484.56744384765625, + "y": 445.6636657714844 + }, + { + "x": 522.2175903320312, + "y": 447.6766357421875 + }, + { + "x": 561.470703125, + "y": 450.2688293457031 + }, + { + "x": 600.708251953125, + "y": 452.6725158691406 + }, + { + "x": 639.94677734375, + "y": 454.4168701171875 + }, + { + "x": 678.9686889648438, + "y": 456.3619079589844 + }, + { + "x": 717.9048461914062, + "y": 458.4328918457031 + }, + { + "x": 483.47540283203125, + "y": 484.3319396972656 + }, + { + "x": 521.4834594726562, + "y": 486.8876953125 + }, + { + "x": 559.5611572265625, + "y": 489.11370849609375 + }, + { + "x": 598.623779296875, + "y": 491.63031005859375 + }, + { + "x": 637.8512573242188, + "y": 493.32000732421875 + }, + { + "x": 676.808837890625, + "y": 495.2417907714844 + }, + { + "x": 714.8731689453125, + "y": 496.43572998046875 + }, + { + "x": 520.747802734375, + "y": 524.8150024414062 + }, + { + "x": 558.55126953125, + "y": 527.1673583984375 + }, + { + "x": 596.9483032226562, + "y": 529.1550903320312 + }, + { + "x": 635.8923950195312, + "y": 531.1439208984375 + }, + { + "x": 674.287109375, + "y": 532.724853515625 + }, + { + "x": 712.6226196289062, + "y": 533.9192504882812 + } + ], + "reprojectionErrors": [ + { + "x": -1.093017578125, + "y": 0.634124755859375 + }, + { + "x": -1.11260986328125, + "y": 0.0889892578125 + }, + { + "x": -0.56414794921875, + "y": -0.773162841796875 + }, + { + "x": -1.405487060546875, + "y": -0.45135498046875 + }, + { + "x": -0.54827880859375, + "y": 0.457855224609375 + }, + { + "x": -0.29974365234375, + "y": 0.401641845703125 + }, + { + "x": -0.11700439453125, + "y": 0.743682861328125 + }, + { + "x": -0.19268798828125, + "y": 0.92596435546875 + }, + { + "x": -0.4764404296875, + "y": 0.158477783203125 + }, + { + "x": -0.3590087890625, + "y": 0.0103759765625 + }, + { + "x": -0.382080078125, + "y": -0.274810791015625 + }, + { + "x": 0.4871826171875, + "y": -0.110382080078125 + }, + { + "x": 0.7100830078125, + "y": 0.36724853515625 + }, + { + "x": 0.46697998046875, + "y": 0.507293701171875 + }, + { + "x": 0.23779296875, + "y": 0.206878662109375 + }, + { + "x": -0.14813232421875, + "y": 0.74041748046875 + }, + { + "x": 0.07696533203125, + "y": -0.004150390625 + }, + { + "x": -0.325958251953125, + "y": -0.786468505859375 + }, + { + "x": 0.67352294921875, + "y": -0.4000244140625 + }, + { + "x": 0.7447509765625, + "y": -0.57513427734375 + }, + { + "x": 0.43603515625, + "y": -0.08013916015625 + }, + { + "x": 0.57470703125, + "y": 0.277587890625 + }, + { + "x": 0.0311279296875, + "y": -0.26959228515625 + }, + { + "x": 0.05279541015625, + "y": 0.195831298828125 + }, + { + "x": -0.62286376953125, + "y": -0.76556396484375 + }, + { + "x": 0.84344482421875, + "y": -0.465789794921875 + }, + { + "x": 0.68048095703125, + "y": -0.74725341796875 + }, + { + "x": 0.50592041015625, + "y": -0.84222412109375 + }, + { + "x": 0.3026123046875, + "y": -0.279937744140625 + }, + { + "x": 0.287353515625, + "y": 0.079559326171875 + }, + { + "x": 0.32855224609375, + "y": 0.310943603515625 + }, + { + "x": -1.26483154296875, + "y": -0.635498046875 + }, + { + "x": -0.25732421875, + "y": -0.898040771484375 + }, + { + "x": 0.65423583984375, + "y": -0.83306884765625 + }, + { + "x": 0.55401611328125, + "y": -1.060943603515625 + }, + { + "x": 0.26123046875, + "y": -0.464202880859375 + }, + { + "x": 0.2099609375, + "y": -0.101898193359375 + }, + { + "x": 1.0228271484375, + "y": 0.985870361328125 + }, + { + "x": -1.3387451171875, + "y": -0.2532958984375 + }, + { + "x": -0.25494384765625, + "y": -0.3343505859375 + }, + { + "x": 0.09747314453125, + "y": 0.2242431640625 + }, + { + "x": 0.50750732421875, + "y": 0.90704345703125 + }, + { + "x": 0.94781494140625, + "y": 1.9737548828125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.14214140838717024, + "y": -0.08733882121686476, + "z": 0.4441047635100168 + }, + "rotation": { + "quaternion": { + "W": 0.9992954570950529, + "X": 0.02269723343595851, + "Y": -0.0025828438921911973, + "Z": 0.029778414010347424 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img20.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img20.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 634.705322265625, + "y": 264.42431640625 + }, + { + "x": 675.279296875, + "y": 268.126220703125 + }, + { + "x": 715.1289672851562, + "y": 273.07562255859375 + }, + { + "x": 753.6602783203125, + "y": 276.98583984375 + }, + { + "x": 790.8390502929688, + "y": 282.41241455078125 + }, + { + "x": 827.1243286132812, + "y": 287.0705871582031 + }, + { + "x": 860.9220581054688, + "y": 292.0981750488281 + }, + { + "x": 631.1378173828125, + "y": 305.77838134765625 + }, + { + "x": 672.4338989257812, + "y": 309.4297180175781 + }, + { + "x": 712.4058837890625, + "y": 313.2092590332031 + }, + { + "x": 751.1437377929688, + "y": 317.12750244140625 + }, + { + "x": 788.821044921875, + "y": 321.71063232421875 + }, + { + "x": 824.4404296875, + "y": 325.5063171386719 + }, + { + "x": 858.7620849609375, + "y": 329.6536560058594 + }, + { + "x": 627.937255859375, + "y": 347.44183349609375 + }, + { + "x": 669.015625, + "y": 350.37939453125 + }, + { + "x": 709.1137084960938, + "y": 353.72723388671875 + }, + { + "x": 747.8372802734375, + "y": 356.6437683105469 + }, + { + "x": 785.3588256835938, + "y": 360.6851501464844 + }, + { + "x": 821.3745727539062, + "y": 363.4515075683594 + }, + { + "x": 855.8568725585938, + "y": 367.2617492675781 + }, + { + "x": 624.7801513671875, + "y": 389.2406921386719 + }, + { + "x": 666.0313720703125, + "y": 392.10858154296875 + }, + { + "x": 706.06494140625, + "y": 394.89532470703125 + }, + { + "x": 744.8842163085938, + "y": 397.6429443359375 + }, + { + "x": 782.8560180664062, + "y": 400.59735107421875 + }, + { + "x": 818.64990234375, + "y": 402.9169921875 + }, + { + "x": 853.0034790039062, + "y": 405.21685791015625 + }, + { + "x": 622.0077514648438, + "y": 431.1214294433594 + }, + { + "x": 662.9506225585938, + "y": 433.1617126464844 + }, + { + "x": 703.113525390625, + "y": 435.5248107910156 + }, + { + "x": 741.8382568359375, + "y": 436.9396667480469 + }, + { + "x": 779.4557495117188, + "y": 439.19171142578125 + }, + { + "x": 815.1193237304688, + "y": 440.7964782714844 + }, + { + "x": 849.5283203125, + "y": 442.48272705078125 + }, + { + "x": 619.730712890625, + "y": 473.0845031738281 + }, + { + "x": 660.1467895507812, + "y": 474.59185791015625 + }, + { + "x": 699.994873046875, + "y": 475.76593017578125 + }, + { + "x": 739.0089111328125, + "y": 477.0948791503906 + }, + { + "x": 775.919921875, + "y": 478.1719665527344 + }, + { + "x": 812.055419921875, + "y": 479.3161926269531 + }, + { + "x": 845.7638549804688, + "y": 479.9324951171875 + }, + { + "x": 617.6669921875, + "y": 513.1144409179688 + }, + { + "x": 657.4710083007812, + "y": 514.11279296875 + }, + { + "x": 697.37890625, + "y": 515.1046752929688 + }, + { + "x": 735.23095703125, + "y": 515.7511596679688 + }, + { + "x": 772.7618408203125, + "y": 516.2778930664062 + }, + { + "x": 808.234130859375, + "y": 516.78759765625 + }, + { + "x": 842.176513671875, + "y": 516.9053344726562 + } + ], + "reprojectionErrors": [ + { + "x": -0.6314697265625, + "y": -1.491424560546875 + }, + { + "x": -0.01068115234375, + "y": -0.217498779296875 + }, + { + "x": -0.0069580078125, + "y": -0.352264404296875 + }, + { + "x": 0.0374755859375, + "y": 0.3985595703125 + }, + { + "x": 0.2164306640625, + "y": -0.51336669921875 + }, + { + "x": 0.126953125, + "y": -0.796539306640625 + }, + { + "x": 1.415771484375, + "y": -1.58245849609375 + }, + { + "x": 0.11859130859375, + "y": -0.432830810546875 + }, + { + "x": -0.06182861328125, + "y": 0.177398681640625 + }, + { + "x": -0.25286865234375, + "y": 0.521575927734375 + }, + { + "x": -0.48138427734375, + "y": 0.59576416015625 + }, + { + "x": -0.8616943359375, + "y": -0.120147705078125 + }, + { + "x": -0.34075927734375, + "y": -0.168060302734375 + }, + { + "x": 0.37335205078125, + "y": -0.68170166015625 + }, + { + "x": 0.5140380859375, + "y": 0.055511474609375 + }, + { + "x": 0.470703125, + "y": 0.6737060546875 + }, + { + "x": 0.07952880859375, + "y": 0.766754150390625 + }, + { + "x": -0.2025146484375, + "y": 1.181671142578125 + }, + { + "x": -0.4891357421875, + "y": 0.367401123046875 + }, + { + "x": -0.42144775390625, + "y": 0.728546142578125 + }, + { + "x": 0.08013916015625, + "y": -0.04925537109375 + }, + { + "x": 0.878662109375, + "y": 0.144195556640625 + }, + { + "x": 0.5802001953125, + "y": 0.134796142578125 + }, + { + "x": 0.1781005859375, + "y": 0.114227294921875 + }, + { + "x": -0.2689208984375, + "y": 0.04486083984375 + }, + { + "x": -1.06927490234375, + "y": -0.315155029296875 + }, + { + "x": -0.837890625, + "y": -0.1204833984375 + }, + { + "x": -0.2607421875, + "y": 0.01751708984375 + }, + { + "x": 0.871337890625, + "y": -0.116424560546875 + }, + { + "x": 0.7974853515625, + "y": 0.01312255859375 + }, + { + "x": 0.18914794921875, + "y": -0.25030517578125 + }, + { + "x": -0.2340087890625, + "y": 0.367706298828125 + }, + { + "x": -0.744873046875, + "y": 0.084747314453125 + }, + { + "x": -0.44256591796875, + "y": 0.388214111328125 + }, + { + "x": 0.0247802734375, + "y": 0.55206298828125 + }, + { + "x": 0.38177490234375, + "y": -0.72991943359375 + }, + { + "x": 0.74951171875, + "y": -0.747467041015625 + }, + { + "x": 0.37750244140625, + "y": -0.480072021484375 + }, + { + "x": -0.40692138671875, + "y": -0.413726806640625 + }, + { + "x": -0.2774658203125, + "y": -0.139495849609375 + }, + { + "x": -0.50775146484375, + "y": 0.025604248046875 + }, + { + "x": 0.6044921875, + "y": 0.678497314453125 + }, + { + "x": -0.3077392578125, + "y": 0.316162109375 + }, + { + "x": 0.58526611328125, + "y": 0.1363525390625 + }, + { + "x": 0.07366943359375, + "y": -0.06402587890625 + }, + { + "x": 0.3778076171875, + "y": 0.05523681640625 + }, + { + "x": -0.1800537109375, + "y": 0.26959228515625 + }, + { + "x": 0.19097900390625, + "y": 0.4775390625 + }, + { + "x": 1.012451171875, + "y": 1.05499267578125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.04694398704541321, + "y": -0.09655384896763651, + "z": 0.41515291772484564 + }, + "rotation": { + "quaternion": { + "W": 0.9893977707827148, + "X": 0.031368585069066215, + "Y": -0.13799556512566824, + "Z": 0.03263873537082235 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img21.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img21.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 597.5348510742188, + "y": 473.8648986816406 + }, + { + "x": 636.3267822265625, + "y": 477.27520751953125 + }, + { + "x": 675.7083129882812, + "y": 481.14471435546875 + }, + { + "x": 714.3377075195312, + "y": 484.0064697265625 + }, + { + "x": 753.2654418945312, + "y": 487.4416198730469 + }, + { + "x": 515.6997680664062, + "y": 503.5311584472656 + }, + { + "x": 554.1543579101562, + "y": 507.8630676269531 + }, + { + "x": 593.0376586914062, + "y": 511.56182861328125 + }, + { + "x": 633.4921264648438, + "y": 515.4840087890625 + }, + { + "x": 672.0115966796875, + "y": 518.7391967773438 + }, + { + "x": 711.9430541992188, + "y": 522.548583984375 + }, + { + "x": 510.9541931152344, + "y": 541.9049072265625 + }, + { + "x": 549.5147094726562, + "y": 546.022705078125 + }, + { + "x": 589.3570556640625, + "y": 550.506591796875 + }, + { + "x": 629.0888061523438, + "y": 554.3643798828125 + }, + { + "x": 669.442138671875, + "y": 557.99267578125 + }, + { + "x": 709.7493896484375, + "y": 561.2874145507812 + }, + { + "x": 506.06561279296875, + "y": 581.1907348632812 + }, + { + "x": 545.6669921875, + "y": 585.6878051757812 + }, + { + "x": 585.1455078125, + "y": 590.1891479492188 + }, + { + "x": 625.7279663085938, + "y": 594.1061401367188 + }, + { + "x": 666.1962890625, + "y": 597.6692504882812 + }, + { + "x": 707.1795043945312, + "y": 601.3013305664062 + }, + { + "x": 747.2518920898438, + "y": 603.6587524414062 + }, + { + "x": 502.1011657714844, + "y": 620.3670043945312 + }, + { + "x": 541.4677124023438, + "y": 625.2633056640625 + }, + { + "x": 581.9298095703125, + "y": 630.1173095703125 + }, + { + "x": 622.5325927734375, + "y": 634.2427368164062 + }, + { + "x": 663.6406860351562, + "y": 638.0032958984375 + }, + { + "x": 704.3831787109375, + "y": 640.485595703125 + }, + { + "x": 745.5215454101562, + "y": 643.1597900390625 + }, + { + "x": 498.2161865234375, + "y": 659.7272338867188 + }, + { + "x": 538.0530395507812, + "y": 665.303466796875 + }, + { + "x": 578.1743774414062, + "y": 669.997802734375 + }, + { + "x": 619.5994262695312, + "y": 674.2681274414062 + }, + { + "x": 660.67333984375, + "y": 677.93603515625 + }, + { + "x": 702.2303466796875, + "y": 680.8485717773438 + }, + { + "x": 742.78955078125, + "y": 682.8898315429688 + }, + { + "x": 496.0331726074219, + "y": 698.6458740234375 + }, + { + "x": 534.9039916992188, + "y": 704.3985595703125 + }, + { + "x": 575.3912353515625, + "y": 709.67724609375 + }, + { + "x": 616.7619018554688, + "y": 713.4134521484375 + }, + { + "x": 658.1128540039062, + "y": 717.6162719726562 + }, + { + "x": 699.4606323242188, + "y": 719.7578125 + }, + { + "x": 740.8536376953125, + "y": 722.1142578125 + } + ], + "reprojectionErrors": [ + { + "x": 0.84222412109375, + "y": -3.088226318359375 + }, + { + "x": 2.478271484375, + "y": -2.381011962890625 + }, + { + "x": 3.8936767578125, + "y": -2.240814208984375 + }, + { + "x": -2.6070556640625, + "y": 0.23468017578125 + }, + { + "x": -1.17657470703125, + "y": -0.5201416015625 + }, + { + "x": -0.0948486328125, + "y": -0.63543701171875 + }, + { + "x": -0.50506591796875, + "y": -0.96783447265625 + }, + { + "x": 1.09844970703125, + "y": -0.626953125 + }, + { + "x": 1.36822509765625, + "y": -0.83404541015625 + }, + { + "x": -1.027923583984375, + "y": 1.65509033203125 + }, + { + "x": 0.23175048828125, + "y": 1.14813232421875 + }, + { + "x": 0.53631591796875, + "y": 0.04656982421875 + }, + { + "x": 0.2403564453125, + "y": 0.0474853515625 + }, + { + "x": 0.0684814453125, + "y": 0.387939453125 + }, + { + "x": 0.713958740234375, + "y": 2.0322265625 + }, + { + "x": 0.8662109375, + "y": 1.1793212890625 + }, + { + "x": 1.22076416015625, + "y": 0.32818603515625 + }, + { + "x": 0.072021484375, + "y": 0.16607666015625 + }, + { + "x": -0.84332275390625, + "y": 0.20172119140625 + }, + { + "x": -0.770751953125, + "y": 1.51776123046875 + }, + { + "x": 1.551788330078125, + "y": 2.38299560546875 + }, + { + "x": 1.87078857421875, + "y": 1.16387939453125 + }, + { + "x": 1.17340087890625, + "y": -0.0072021484375 + }, + { + "x": 0.41387939453125, + "y": -0.44403076171875 + }, + { + "x": -0.77288818359375, + "y": -0.51031494140625 + }, + { + "x": -1.51654052734375, + "y": 0.70721435546875 + }, + { + "x": -2.5792236328125, + "y": 1.7384033203125 + }, + { + "x": 2.330535888671875, + "y": 2.40924072265625 + }, + { + "x": 2.10955810546875, + "y": 0.54266357421875 + }, + { + "x": 1.68304443359375, + "y": -0.4364013671875 + }, + { + "x": 0.0311279296875, + "y": -0.98602294921875 + }, + { + "x": -1.19183349609375, + "y": -0.927734375 + }, + { + "x": -2.8206787109375, + "y": -0.10870361328125 + }, + { + "x": -3.37506103515625, + "y": 1.5869140625 + }, + { + "x": 1.42803955078125, + "y": 2.731689453125 + }, + { + "x": 2.1019287109375, + "y": 0.7208251953125 + }, + { + "x": 1.238037109375, + "y": -0.8106689453125 + }, + { + "x": -0.43121337890625, + "y": -0.79443359375 + }, + { + "x": -2.003173828125, + "y": -1.2396240234375 + }, + { + "x": -3.4949951171875, + "y": 0.3817138671875 + }, + { + "x": -4.95562744140625, + "y": 1.793212890625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.12360025178317988, + "y": 0.025555400697449264, + "z": 0.4358638979153969 + }, + "rotation": { + "quaternion": { + "W": 0.9989218137434741, + "X": 0.013735448549176597, + "Y": 0.008926903418634122, + "Z": 0.043437977346504196 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img22.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img22.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + } + ], + "locationInImageSpace": [ + { + "x": 780.4562377929688, + "y": 451.1134948730469 + }, + { + "x": 819.3912963867188, + "y": 453.5224914550781 + }, + { + "x": 858.2385864257812, + "y": 456.20355224609375 + }, + { + "x": 896.1387939453125, + "y": 458.4003601074219 + }, + { + "x": 933.19921875, + "y": 461.0047302246094 + }, + { + "x": 697.39111328125, + "y": 483.9808349609375 + }, + { + "x": 738.0803833007812, + "y": 487.1849365234375 + }, + { + "x": 777.7968139648438, + "y": 489.9398193359375 + }, + { + "x": 817.8922119140625, + "y": 492.3420104980469 + }, + { + "x": 857.0499267578125, + "y": 494.959228515625 + }, + { + "x": 895.4320678710938, + "y": 497.329345703125 + }, + { + "x": 932.7561645507812, + "y": 498.987060546875 + }, + { + "x": 694.3804931640625, + "y": 523.62939453125 + }, + { + "x": 734.7615966796875, + "y": 526.70703125 + }, + { + "x": 775.4828491210938, + "y": 529.5604248046875 + }, + { + "x": 815.7015991210938, + "y": 532.0120849609375 + }, + { + "x": 855.6552734375, + "y": 534.3489379882812 + }, + { + "x": 894.2594604492188, + "y": 535.9951171875 + }, + { + "x": 932.1301879882812, + "y": 537.8348388671875 + }, + { + "x": 690.7931518554688, + "y": 564.16748046875 + }, + { + "x": 731.6697387695312, + "y": 567.3336181640625 + }, + { + "x": 772.7399291992188, + "y": 569.8887939453125 + }, + { + "x": 813.6934814453125, + "y": 572.4484252929688 + }, + { + "x": 853.2719116210938, + "y": 573.9913940429688 + }, + { + "x": 892.7439575195312, + "y": 576.1695556640625 + }, + { + "x": 930.6424560546875, + "y": 576.8729858398438 + }, + { + "x": 687.0956420898438, + "y": 604.5436401367188 + }, + { + "x": 728.6107177734375, + "y": 607.52294921875 + }, + { + "x": 769.9606323242188, + "y": 610.4261474609375 + }, + { + "x": 810.8815307617188, + "y": 612.5339965820312 + }, + { + "x": 851.298095703125, + "y": 614.2858276367188 + }, + { + "x": 890.4628295898438, + "y": 615.4835815429688 + }, + { + "x": 929.1271362304688, + "y": 616.5052490234375 + }, + { + "x": 683.880126953125, + "y": 644.4688110351562 + }, + { + "x": 725.5670166015625, + "y": 648.0360717773438 + }, + { + "x": 766.7738647460938, + "y": 650.99560546875 + }, + { + "x": 807.831787109375, + "y": 653.135986328125 + }, + { + "x": 848.232666015625, + "y": 654.2801513671875 + }, + { + "x": 888.2509155273438, + "y": 655.5517578125 + }, + { + "x": 926.5034790039062, + "y": 656.0739135742188 + }, + { + "x": 680.9249877929688, + "y": 684.414794921875 + }, + { + "x": 722.0477294921875, + "y": 688.0077514648438 + }, + { + "x": 763.6396484375, + "y": 690.7201538085938 + }, + { + "x": 804.8264770507812, + "y": 692.8228759765625 + }, + { + "x": 845.4849243164062, + "y": 694.1107788085938 + } + ], + "reprojectionErrors": [ + { + "x": 0.36724853515625, + "y": -1.70050048828125 + }, + { + "x": 1.56512451171875, + "y": -1.304534912109375 + }, + { + "x": 3.41094970703125, + "y": -1.32879638671875 + }, + { + "x": 0.218994140625, + "y": 0.054931640625 + }, + { + "x": -0.5018310546875, + "y": -0.596923828125 + }, + { + "x": -0.445068359375, + "y": -0.812286376953125 + }, + { + "x": -0.96197509765625, + "y": -0.6876220703125 + }, + { + "x": -0.73516845703125, + "y": -0.79058837890625 + }, + { + "x": 0.07379150390625, + "y": -0.659027099609375 + }, + { + "x": 1.7481689453125, + "y": 0.17236328125 + }, + { + "x": 0.54473876953125, + "y": 0.6162109375 + }, + { + "x": 0.227294921875, + "y": -0.00189208984375 + }, + { + "x": -0.62640380859375, + "y": -0.4083251953125 + }, + { + "x": -1.1732177734375, + "y": -0.42547607421875 + }, + { + "x": -1.64971923828125, + "y": -0.34033203125 + }, + { + "x": -0.9710693359375, + "y": 0.423095703125 + }, + { + "x": 0.24755859375, + "y": 0.9805908203125 + }, + { + "x": 1.4346923828125, + "y": 0.4617919921875 + }, + { + "x": 0.71563720703125, + "y": -0.3385009765625 + }, + { + "x": -0.39404296875, + "y": -0.5401611328125 + }, + { + "x": -1.58349609375, + "y": -0.7586669921875 + }, + { + "x": -1.593505859375, + "y": 0.0272216796875 + }, + { + "x": -1.6922607421875, + "y": 0.1656494140625 + }, + { + "x": -0.411865234375, + "y": 1.76666259765625 + }, + { + "x": 2.42266845703125, + "y": 0.63873291015625 + }, + { + "x": 1.1575927734375, + "y": -0.06927490234375 + }, + { + "x": -0.1402587890625, + "y": -0.71343994140625 + }, + { + "x": -1.206298828125, + "y": -0.57440185546875 + }, + { + "x": -1.96453857421875, + "y": -0.0914306640625 + }, + { + "x": -1.66693115234375, + "y": 0.93353271484375 + }, + { + "x": -1.0640869140625, + "y": 2.12249755859375 + }, + { + "x": 2.91668701171875, + "y": 1.43157958984375 + }, + { + "x": 1.57086181640625, + "y": 0.04010009765625 + }, + { + "x": 0.50628662109375, + "y": -0.75567626953125 + }, + { + "x": -0.607421875, + "y": -0.74432373046875 + }, + { + "x": -1.261474609375, + "y": 0.2513427734375 + }, + { + "x": -1.72967529296875, + "y": 1.10760498046875 + }, + { + "x": -0.62823486328125, + "y": 2.7015380859375 + }, + { + "x": 3.1387939453125, + "y": 2.36395263671875 + }, + { + "x": 2.44671630859375, + "y": 0.85040283203125 + }, + { + "x": 1.0858154296875, + "y": 0.20550537109375 + }, + { + "x": -0.06890869140625, + "y": 0.15850830078125 + }, + { + "x": -0.8934326171875, + "y": 0.91455078125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.007552974176306987, + "y": 0.013083831132998564, + "z": 0.43797777244230934 + }, + "rotation": { + "quaternion": { + "W": 0.999048676417209, + "X": -0.017591491610922716, + "Y": -0.021829145805682622, + "Z": 0.03340314304552982 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img23.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img23.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + } + ], + "locationInImageSpace": [ + { + "x": 958.3812255859375, + "y": 418.1431579589844 + }, + { + "x": 999.2804565429688, + "y": 418.13397216796875 + }, + { + "x": 1039.6912841796875, + "y": 418.2685241699219 + }, + { + "x": 917.3460693359375, + "y": 459.5980224609375 + }, + { + "x": 958.8699951171875, + "y": 459.6846008300781 + }, + { + "x": 1000.4229736328125, + "y": 459.3900146484375 + }, + { + "x": 1041.06005859375, + "y": 458.9760437011719 + }, + { + "x": 873.5805053710938, + "y": 501.1495056152344 + }, + { + "x": 916.077880859375, + "y": 501.1410217285156 + }, + { + "x": 958.927734375, + "y": 501.27227783203125 + }, + { + "x": 1000.4080200195312, + "y": 501.2692565917969 + }, + { + "x": 1041.564453125, + "y": 501.3607482910156 + }, + { + "x": 1082.0045166015625, + "y": 500.3500061035156 + }, + { + "x": 871.4295043945312, + "y": 543.4080200195312 + }, + { + "x": 914.7427368164062, + "y": 544.329833984375 + }, + { + "x": 957.673583984375, + "y": 544.9927978515625 + }, + { + "x": 1000.3139038085938, + "y": 544.6954956054688 + }, + { + "x": 1041.3980712890625, + "y": 543.9326171875 + }, + { + "x": 1082.4072265625, + "y": 544.081298828125 + }, + { + "x": 1121.83447265625, + "y": 542.9636840820312 + }, + { + "x": 869.06884765625, + "y": 586.539794921875 + }, + { + "x": 912.4798583984375, + "y": 587.4990844726562 + }, + { + "x": 955.906494140625, + "y": 588.3154907226562 + }, + { + "x": 998.7691650390625, + "y": 588.334228515625 + }, + { + "x": 1040.9324951171875, + "y": 588.2662963867188 + }, + { + "x": 1081.6593017578125, + "y": 587.0377807617188 + }, + { + "x": 1121.4630126953125, + "y": 585.738037109375 + }, + { + "x": 865.9793701171875, + "y": 629.8712768554688 + }, + { + "x": 909.7156372070312, + "y": 631.66015625 + }, + { + "x": 953.1727294921875, + "y": 632.2664794921875 + }, + { + "x": 996.9121704101562, + "y": 632.526123046875 + }, + { + "x": 1038.813232421875, + "y": 631.83056640625 + }, + { + "x": 1080.21533203125, + "y": 631.1275024414062 + }, + { + "x": 1119.533935546875, + "y": 629.312744140625 + }, + { + "x": 862.4501953125, + "y": 673.0654907226562 + }, + { + "x": 906.0690307617188, + "y": 674.7999267578125 + }, + { + "x": 950.0782470703125, + "y": 676.181396484375 + }, + { + "x": 993.4314575195312, + "y": 676.0050659179688 + }, + { + "x": 1035.6741943359375, + "y": 676.0598754882812 + } + ], + "reprojectionErrors": [ + { + "x": 3.7784423828125, + "y": -1.909454345703125 + }, + { + "x": -1.85968017578125, + "y": -2.0093994140625 + }, + { + "x": -0.7525634765625, + "y": -1.457244873046875 + }, + { + "x": -1.61419677734375, + "y": 0.016204833984375 + }, + { + "x": -1.87042236328125, + "y": 0.34832763671875 + }, + { + "x": -1.09967041015625, + "y": 0.81036376953125 + }, + { + "x": -0.344482421875, + "y": 1.173614501953125 + }, + { + "x": -1.31182861328125, + "y": 0.30426025390625 + }, + { + "x": -1.6884765625, + "y": -0.0699462890625 + }, + { + "x": -2.11651611328125, + "y": 0.5128173828125 + }, + { + "x": -1.3271484375, + "y": 1.55792236328125 + }, + { + "x": -0.79833984375, + "y": 1.68829345703125 + }, + { + "x": 0.9798583984375, + "y": 3.081787109375 + }, + { + "x": -0.09173583984375, + "y": 0.5140380859375 + }, + { + "x": -1.0054931640625, + "y": -0.18756103515625 + }, + { + "x": -1.69659423828125, + "y": -0.0936279296875 + }, + { + "x": -2.0263671875, + "y": 0.08477783203125 + }, + { + "x": -1.2545166015625, + "y": 1.42169189453125 + }, + { + "x": 0.108642578125, + "y": 2.82769775390625 + }, + { + "x": 2.54290771484375, + "y": 1.4739990234375 + }, + { + "x": 1.619873046875, + "y": -0.37200927734375 + }, + { + "x": 0.63238525390625, + "y": -1.03662109375 + }, + { + "x": -0.97802734375, + "y": -1.35565185546875 + }, + { + "x": -1.08740234375, + "y": -0.7205810546875 + }, + { + "x": -1.031982421875, + "y": -0.07904052734375 + }, + { + "x": 0.7757568359375, + "y": 1.673095703125 + }, + { + "x": 5.05596923828125, + "y": 1.61810302734375 + }, + { + "x": 4.204345703125, + "y": -0.34686279296875 + }, + { + "x": 2.61944580078125, + "y": -1.9588623046875 + }, + { + "x": 1.35076904296875, + "y": -2.01312255859375 + }, + { + "x": 0.85595703125, + "y": -2.298583984375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.09324432216064393, + "y": -0.005951463581094158, + "z": 0.3994155385104516 + }, + "rotation": { + "quaternion": { + "W": 0.9994098894472042, + "X": 0.008813432643007846, + "Y": -0.03189702560959797, + "Z": 0.009207390370502201 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img24.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img24.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 955.740234375, + "y": 411.8365783691406 + }, + { + "x": 997.1051635742188, + "y": 412.1007995605469 + }, + { + "x": 1037.349609375, + "y": 412.7459716796875 + }, + { + "x": 1076.947265625, + "y": 413.0657653808594 + }, + { + "x": 1114.98486328125, + "y": 413.6402587890625 + }, + { + "x": 955.3084106445312, + "y": 453.4585266113281 + }, + { + "x": 997.876220703125, + "y": 453.7801513671875 + }, + { + "x": 1038.6903076171875, + "y": 453.9906921386719 + }, + { + "x": 1079.2333984375, + "y": 454.73944091796875 + }, + { + "x": 1117.6802978515625, + "y": 454.8035583496094 + }, + { + "x": 955.228759765625, + "y": 495.9319763183594 + }, + { + "x": 997.3008422851562, + "y": 496.56646728515625 + }, + { + "x": 1039.4263916015625, + "y": 497.0675964355469 + }, + { + "x": 1080.067626953125, + "y": 497.06707763671875 + }, + { + "x": 1119.0528564453125, + "y": 496.88555908203125 + }, + { + "x": 866.0275268554688, + "y": 537.880615234375 + }, + { + "x": 910.0457153320312, + "y": 538.9963989257812 + }, + { + "x": 953.2993774414062, + "y": 539.9370727539062 + }, + { + "x": 996.8499145507812, + "y": 540.8797607421875 + }, + { + "x": 1038.729248046875, + "y": 540.7684936523438 + }, + { + "x": 1079.9471435546875, + "y": 541.1428833007812 + }, + { + "x": 1119.730224609375, + "y": 540.2471313476562 + }, + { + "x": 863.2261962890625, + "y": 581.3826293945312 + }, + { + "x": 907.1467895507812, + "y": 582.9818115234375 + }, + { + "x": 951.3660278320312, + "y": 584.4012451171875 + }, + { + "x": 995.0643920898438, + "y": 584.9580078125 + }, + { + "x": 1037.6705322265625, + "y": 585.3215942382812 + }, + { + "x": 1078.9197998046875, + "y": 584.7631225585938 + }, + { + "x": 1118.841064453125, + "y": 584.15380859375 + }, + { + "x": 859.5349731445312, + "y": 625.8836669921875 + }, + { + "x": 904.0599365234375, + "y": 627.9235229492188 + }, + { + "x": 948.2904052734375, + "y": 629.0065307617188 + }, + { + "x": 992.5175170898438, + "y": 629.93701171875 + }, + { + "x": 1034.911865234375, + "y": 629.8363037109375 + }, + { + "x": 1077.040771484375, + "y": 629.3952026367188 + }, + { + "x": 1116.8453369140625, + "y": 628.1148681640625 + }, + { + "x": 855.4472045898438, + "y": 669.915283203125 + }, + { + "x": 900.0492553710938, + "y": 671.9037475585938 + }, + { + "x": 944.8886108398438, + "y": 673.6036376953125 + }, + { + "x": 988.3182373046875, + "y": 674.2409057617188 + }, + { + "x": 1032.0213623046875, + "y": 674.025390625 + }, + { + "x": 1073.3812255859375, + "y": 673.1932373046875 + }, + { + "x": 1114.10302734375, + "y": 671.470947265625 + } + ], + "reprojectionErrors": [ + { + "x": 1.7071533203125, + "y": -2.040313720703125 + }, + { + "x": 3.5150146484375, + "y": -0.86566162109375 + }, + { + "x": 6.4508056640625, + "y": 0.038970947265625 + }, + { + "x": -1.49151611328125, + "y": -1.8792724609375 + }, + { + "x": -1.71649169921875, + "y": -0.903961181640625 + }, + { + "x": 2.860595703125, + "y": 1.881927490234375 + }, + { + "x": -2.53778076171875, + "y": -0.343658447265625 + }, + { + "x": -2.21392822265625, + "y": 0.08880615234375 + }, + { + "x": -2.3897705078125, + "y": 0.643035888671875 + }, + { + "x": -1.521484375, + "y": 1.687408447265625 + }, + { + "x": -1.398681640625, + "y": -0.1512451171875 + }, + { + "x": -1.75164794921875, + "y": -0.24627685546875 + }, + { + "x": -2.85504150390625, + "y": -0.35302734375 + }, + { + "x": -2.7344970703125, + "y": 0.58465576171875 + }, + { + "x": -2.3936767578125, + "y": 1.02728271484375 + }, + { + "x": -1.05322265625, + "y": 2.73077392578125 + }, + { + "x": 0.79827880859375, + "y": 1.26708984375 + }, + { + "x": 0.2894287109375, + "y": 0.28704833984375 + }, + { + "x": -0.9788818359375, + "y": -0.52093505859375 + }, + { + "x": -2.18072509765625, + "y": -0.47369384765625 + }, + { + "x": -2.7386474609375, + "y": -0.24078369140625 + }, + { + "x": -2.3818359375, + "y": 0.90692138671875 + }, + { + "x": -1.133056640625, + "y": 2.09820556640625 + }, + { + "x": 3.21417236328125, + "y": 1.50860595703125 + }, + { + "x": 2.1502685546875, + "y": -0.14935302734375 + }, + { + "x": 0.9190673828125, + "y": -0.85595703125 + }, + { + "x": -0.76416015625, + "y": -1.4154052734375 + }, + { + "x": -1.0638427734375, + "y": -0.94891357421875 + }, + { + "x": -1.541015625, + "y": -0.1473388671875 + }, + { + "x": -0.1309814453125, + "y": 1.48834228515625 + }, + { + "x": 6.013671875, + "y": 2.29559326171875 + }, + { + "x": 4.919921875, + "y": 0.45086669921875 + }, + { + "x": 3.12615966796875, + "y": -1.1085205078125 + }, + { + "x": 2.28582763671875, + "y": -1.60845947265625 + }, + { + "x": 0.721923828125, + "y": -1.25885009765625 + }, + { + "x": 1.0574951171875, + "y": -0.29571533203125 + }, + { + "x": 1.59326171875, + "y": 1.554443359375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.08962977783536964, + "y": -0.010774975574252806, + "z": 0.3949333614693531 + }, + "rotation": { + "quaternion": { + "W": 0.9989731627309407, + "X": -0.00733370396486424, + "Y": -0.04165649756266555, + "Z": 0.016234935796262322 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img25.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img25.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + } + ], + "locationInImageSpace": [ + { + "x": 1034.3380126953125, + "y": 422.6205139160156 + }, + { + "x": 1073.011962890625, + "y": 422.42144775390625 + }, + { + "x": 1110.36376953125, + "y": 422.7098083496094 + }, + { + "x": 1147.204833984375, + "y": 422.2311706542969 + }, + { + "x": 1182.0279541015625, + "y": 422.31109619140625 + }, + { + "x": 1111.950927734375, + "y": 462.6166076660156 + }, + { + "x": 1149.437255859375, + "y": 462.23565673828125 + }, + { + "x": 1184.6561279296875, + "y": 461.95233154296875 + }, + { + "x": 1113.2000732421875, + "y": 504.2455139160156 + }, + { + "x": 1150.1395263671875, + "y": 503.580078125 + }, + { + "x": 1186.1314697265625, + "y": 502.8576965332031 + }, + { + "x": 950.956298828125, + "y": 545.9830932617188 + }, + { + "x": 992.6278686523438, + "y": 546.8880615234375 + }, + { + "x": 1033.41015625, + "y": 547.07470703125 + }, + { + "x": 1073.6331787109375, + "y": 547.0161743164062 + }, + { + "x": 1112.6068115234375, + "y": 546.3551025390625 + }, + { + "x": 1150.357666015625, + "y": 545.8171997070312 + }, + { + "x": 1186.724365234375, + "y": 544.7156372070312 + }, + { + "x": 948.8946533203125, + "y": 588.287109375 + }, + { + "x": 990.3092041015625, + "y": 589.259765625 + }, + { + "x": 1031.4278564453125, + "y": 589.6063842773438 + }, + { + "x": 1071.9478759765625, + "y": 589.529052734375 + }, + { + "x": 1111.1558837890625, + "y": 588.9965209960938 + }, + { + "x": 1148.9091796875, + "y": 587.9653930664062 + }, + { + "x": 1185.7921142578125, + "y": 586.7308959960938 + }, + { + "x": 945.2647705078125, + "y": 630.409912109375 + }, + { + "x": 987.5582885742188, + "y": 631.65087890625 + }, + { + "x": 1028.2132568359375, + "y": 632.5389404296875 + }, + { + "x": 1069.1717529296875, + "y": 632.4974975585938 + }, + { + "x": 1108.174560546875, + "y": 631.5010986328125 + }, + { + "x": 1146.900146484375, + "y": 630.6231079101562 + }, + { + "x": 941.55712890625, + "y": 672.3859252929688 + }, + { + "x": 982.9677734375, + "y": 673.4891357421875 + }, + { + "x": 1024.6400146484375, + "y": 674.7628784179688 + }, + { + "x": 1065.0196533203125, + "y": 674.1940307617188 + }, + { + "x": 1105.2076416015625, + "y": 673.76416015625 + } + ], + "reprojectionErrors": [ + { + "x": 1.4134521484375, + "y": -1.714447021484375 + }, + { + "x": 3.0968017578125, + "y": -0.210601806640625 + }, + { + "x": 6.2650146484375, + "y": 0.720611572265625 + }, + { + "x": -0.9090576171875, + "y": 0.197509765625 + }, + { + "x": 0.1571044921875, + "y": 1.314849853515625 + }, + { + "x": -1.4359130859375, + "y": -0.05474853515625 + }, + { + "x": -2.2557373046875, + "y": -0.79052734375 + }, + { + "x": -2.764892578125, + "y": -0.8111572265625 + }, + { + "x": -0.27899169921875, + "y": 0.7840576171875 + }, + { + "x": -0.81610107421875, + "y": -0.32568359375 + }, + { + "x": -1.6365966796875, + "y": -0.80859375 + }, + { + "x": -2.4263916015625, + "y": -0.86676025390625 + }, + { + "x": -2.4609375, + "y": -0.468994140625 + }, + { + "x": -1.5869140625, + "y": 0.42822265625 + }, + { + "x": -0.378173828125, + "y": 1.52947998046875 + }, + { + "x": 2.429931640625, + "y": 1.8349609375 + }, + { + "x": 1.03765869140625, + "y": 0.150146484375 + }, + { + "x": 0.7041015625, + "y": -1.17694091796875 + }, + { + "x": -0.5013427734375, + "y": -1.56976318359375 + }, + { + "x": -0.30859375, + "y": -1.0030517578125 + }, + { + "x": -0.38525390625, + "y": -0.55010986328125 + }, + { + "x": 5.200439453125, + "y": 3.05743408203125 + }, + { + "x": 4.71307373046875, + "y": 1.20318603515625 + }, + { + "x": 3.3837890625, + "y": -0.812744140625 + }, + { + "x": 2.778076171875, + "y": -0.97735595703125 + }, + { + "x": 1.80615234375, + "y": -1.2724609375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.14152455216766854, + "y": -0.003925018042578974, + "z": 0.40750813967281596 + }, + "rotation": { + "quaternion": { + "W": 0.9982655051431566, + "X": -0.0031163499450517274, + "Y": -0.0575548870491639, + "Z": 0.011987684557756931 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img26.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img26.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + } + ], + "locationInImageSpace": [ + { + "x": 991.949951171875, + "y": 499.22613525390625 + }, + { + "x": 1031.2086181640625, + "y": 501.6956787109375 + }, + { + "x": 1139.2015380859375, + "y": 508.0638732910156 + }, + { + "x": 908.0444946289062, + "y": 534.8181762695312 + }, + { + "x": 949.3646850585938, + "y": 537.8399658203125 + }, + { + "x": 989.6497802734375, + "y": 540.395263671875 + }, + { + "x": 1029.356689453125, + "y": 543.0123901367188 + }, + { + "x": 1067.49755859375, + "y": 545.021240234375 + }, + { + "x": 1103.7059326171875, + "y": 546.4244384765625 + }, + { + "x": 904.2042236328125, + "y": 576.9110717773438 + }, + { + "x": 945.9293823242188, + "y": 579.8052978515625 + }, + { + "x": 986.8955078125, + "y": 582.2357177734375 + }, + { + "x": 1101.76953125, + "y": 587.4338989257812 + }, + { + "x": 899.602783203125, + "y": 619.086669921875 + }, + { + "x": 941.818359375, + "y": 622.0093383789062 + }, + { + "x": 982.6708374023438, + "y": 624.755859375 + }, + { + "x": 1098.3345947265625, + "y": 628.6943969726562 + }, + { + "x": 894.5173950195312, + "y": 661.0722045898438 + }, + { + "x": 936.5662841796875, + "y": 664.0140991210938 + }, + { + "x": 978.1787719726562, + "y": 666.4842529296875 + }, + { + "x": 1018.1634521484375, + "y": 668.0167236328125 + }, + { + "x": 1057.9541015625, + "y": 668.8919067382812 + }, + { + "x": 888.3961791992188, + "y": 702.7230834960938 + }, + { + "x": 931.0506591796875, + "y": 706.1356811523438 + }, + { + "x": 971.9930419921875, + "y": 708.0624389648438 + }, + { + "x": 1012.586669921875, + "y": 709.8877563476562 + }, + { + "x": 1051.7786865234375, + "y": 710.697265625 + }, + { + "x": 882.5582275390625, + "y": 743.6636352539062 + }, + { + "x": 924.567138671875, + "y": 747.0127563476562 + }, + { + "x": 966.1356811523438, + "y": 749.1362915039062 + }, + { + "x": 1005.7976684570312, + "y": 749.7101440429688 + }, + { + "x": 1045.3399658203125, + "y": 750.840576171875 + } + ], + "reprojectionErrors": [ + { + "x": 7.3165283203125, + "y": 1.870574951171875 + }, + { + "x": 0.14263916015625, + "y": -0.793701171875 + }, + { + "x": -1.24462890625, + "y": -0.4351806640625 + }, + { + "x": -0.69580078125, + "y": 0.313720703125 + }, + { + "x": 1.1669921875, + "y": 1.6234130859375 + }, + { + "x": -0.18121337890625, + "y": -0.15264892578125 + }, + { + "x": -1.28076171875, + "y": -0.50079345703125 + }, + { + "x": -2.283203125, + "y": -0.42779541015625 + }, + { + "x": -1.087890625, + "y": 1.638671875 + }, + { + "x": -1.3477783203125, + "y": -0.4195556640625 + }, + { + "x": -2.24456787109375, + "y": -1.00830078125 + }, + { + "x": -1.8582763671875, + "y": 1.3121337890625 + }, + { + "x": -1.94671630859375, + "y": -0.89752197265625 + }, + { + "x": -3.750732421875, + "y": 0.2296142578125 + }, + { + "x": 3.1068115234375, + "y": 1.62872314453125 + }, + { + "x": 1.04559326171875, + "y": -0.28668212890625 + }, + { + "x": -1.797607421875, + "y": -0.5123291015625 + }, + { + "x": 3.333984375, + "y": 0.7987060546875 + }, + { + "x": 1.68609619140625, + "y": -0.195068359375 + }, + { + "x": 1.30169677734375, + "y": 0.34039306640625 + }, + { + "x": 0.408447265625, + "y": 0.2991943359375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.11773418141149004, + "y": 0.039940428200002445, + "z": 0.4064016646320524 + }, + "rotation": { + "quaternion": { + "W": 0.9967138881140276, + "X": 0.011983449903265974, + "Y": -0.06596485144097963, + "Z": 0.0454583385464434 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + false, + false, + true, + false, + true, + true, + true, + false, + false, + true, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img27.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img27.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + } + ], + "locationInImageSpace": [ + { + "x": 1064.9835205078125, + "y": 491.869873046875 + }, + { + "x": 1171.4349365234375, + "y": 495.42095947265625 + }, + { + "x": 1202.9163818359375, + "y": 496.9471435546875 + }, + { + "x": 984.1983642578125, + "y": 529.6913452148438 + }, + { + "x": 1026.000732421875, + "y": 532.0164184570312 + }, + { + "x": 1172.6715087890625, + "y": 535.6541137695312 + }, + { + "x": 1204.53173828125, + "y": 535.9124145507812 + }, + { + "x": 982.7310180664062, + "y": 573.1488037109375 + }, + { + "x": 1023.9160766601562, + "y": 574.364990234375 + }, + { + "x": 1138.640625, + "y": 576.1813354492188 + }, + { + "x": 1172.68017578125, + "y": 576.1904296875 + }, + { + "x": 1204.9913330078125, + "y": 575.8607177734375 + }, + { + "x": 979.896240234375, + "y": 616.7633056640625 + }, + { + "x": 1021.6353149414062, + "y": 617.7870483398438 + }, + { + "x": 1061.64306640625, + "y": 618.4609375 + }, + { + "x": 1100.316650390625, + "y": 618.7839965820312 + }, + { + "x": 1136.88720703125, + "y": 618.2926025390625 + }, + { + "x": 1171.6483154296875, + "y": 617.5759887695312 + }, + { + "x": 976.2224731445312, + "y": 660.1300659179688 + }, + { + "x": 1017.6312255859375, + "y": 661.12158203125 + }, + { + "x": 1058.8065185546875, + "y": 661.4893798828125 + }, + { + "x": 1097.6414794921875, + "y": 661.3471069335938 + }, + { + "x": 1134.3992919921875, + "y": 660.1575317382812 + }, + { + "x": 971.713623046875, + "y": 704.4691772460938 + }, + { + "x": 1013.46435546875, + "y": 704.890869140625 + }, + { + "x": 1054.1279296875, + "y": 704.7546997070312 + }, + { + "x": 1093.7392578125, + "y": 703.7346801757812 + }, + { + "x": 1130.5130615234375, + "y": 702.4069213867188 + }, + { + "x": 965.5961303710938, + "y": 746.608154296875 + }, + { + "x": 1007.7913208007812, + "y": 746.7716674804688 + }, + { + "x": 1049.297607421875, + "y": 746.7532348632812 + }, + { + "x": 1087.7855224609375, + "y": 745.3888549804688 + }, + { + "x": 1125.823974609375, + "y": 743.390625 + } + ], + "reprojectionErrors": [ + { + "x": 7.338623046875, + "y": -0.65399169921875 + }, + { + "x": 0.46923828125, + "y": 0.29302978515625 + }, + { + "x": 3.7733154296875, + "y": 1.26971435546875 + }, + { + "x": -0.06494140625, + "y": -0.01165771484375 + }, + { + "x": -1.82159423828125, + "y": -0.343994140625 + }, + { + "x": 0.42449951171875, + "y": 0.251220703125 + }, + { + "x": -1.82598876953125, + "y": -0.3924560546875 + }, + { + "x": -3.2462158203125, + "y": -0.6962890625 + }, + { + "x": -4.203857421875, + "y": -0.658935546875 + }, + { + "x": 1.72955322265625, + "y": 0.82513427734375 + }, + { + "x": -0.1319580078125, + "y": -0.29168701171875 + }, + { + "x": -2.6630859375, + "y": -0.7835693359375 + }, + { + "x": -3.7274169921875, + "y": -0.76422119140625 + }, + { + "x": -3.5595703125, + "y": 0.3035888671875 + }, + { + "x": 3.8465576171875, + "y": 0.48358154296875 + }, + { + "x": 1.70013427734375, + "y": -0.57012939453125 + }, + { + "x": -0.26416015625, + "y": -1.0535888671875 + }, + { + "x": -2.051513671875, + "y": -0.64117431640625 + }, + { + "x": 7.5494384765625, + "y": 2.392822265625 + }, + { + "x": 5.01409912109375, + "y": 1.0892333984375 + }, + { + "x": 2.2607421875, + "y": -0.00872802734375 + }, + { + "x": 1.6485595703125, + "y": 0.26220703125 + }, + { + "x": 0.637451171875, + "y": 1.18914794921875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.15963111547818143, + "y": 0.036146060386481674, + "z": 0.40091360084455946 + }, + "rotation": { + "quaternion": { + "W": 0.9952794039016342, + "X": -0.003584454745257137, + "Y": -0.0922640191895589, + "Z": 0.029889975181917577 + } + } + }, + "cornersUsed": [ + false, + false, + true, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img28.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img28.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.0, + "y": 0.02540000155568123, + "z": -5.984622839605436E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02540000155568123, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05079999938607216, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05079999938607216, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05079999938607216, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.0, + "y": 0.07620000839233398, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000839233398, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000839233398, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000839233398, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + } + ], + "locationInImageSpace": [ + { + "x": 1051.4661865234375, + "y": 331.13067626953125 + }, + { + "x": 1145.1578369140625, + "y": 334.84222412109375 + }, + { + "x": 1018.7593994140625, + "y": 365.15521240234375 + }, + { + "x": 1051.8541259765625, + "y": 366.00274658203125 + }, + { + "x": 1018.4193115234375, + "y": 401.2344055175781 + }, + { + "x": 1051.899169921875, + "y": 402.057373046875 + }, + { + "x": 1084.52490234375, + "y": 402.94586181640625 + }, + { + "x": 1017.8362426757812, + "y": 436.9716796875 + }, + { + "x": 1051.3863525390625, + "y": 437.8421936035156 + }, + { + "x": 1084.03466796875, + "y": 438.64044189453125 + }, + { + "x": 1115.8350830078125, + "y": 439.4693603515625 + }, + { + "x": 1016.5903930664062, + "y": 473.0269470214844 + }, + { + "x": 1050.0736083984375, + "y": 473.88702392578125 + }, + { + "x": 1047.943603515625, + "y": 509.1644592285156 + } + ], + "reprojectionErrors": [ + { + "x": -0.57470703125, + "y": -0.0462646484375 + }, + { + "x": 0.93865966796875, + "y": 0.203338623046875 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.21633426735781563, + "y": -0.06653826283249177, + "z": 0.48675878784505927 + }, + "rotation": { + "quaternion": { + "W": 0.9966203344826521, + "X": -0.0079222440112999, + "Y": -0.08103476127517129, + "Z": 0.01088643240865035 + } + } + }, + "cornersUsed": [ + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + true, + false, + false, + true, + true, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false + ], + "snapshotName": "img29.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img29.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + } + ], + "locationInImageSpace": [ + { + "x": 1075.3798828125, + "y": 321.5420837402344 + }, + { + "x": 1109.0654296875, + "y": 320.73956298828125 + }, + { + "x": 1140.844970703125, + "y": 320.6792907714844 + }, + { + "x": 1009.0116577148438, + "y": 360.0501708984375 + }, + { + "x": 1044.5623779296875, + "y": 358.6044921875 + }, + { + "x": 1078.5001220703125, + "y": 357.9627990722656 + }, + { + "x": 1112.1722412109375, + "y": 357.1214904785156 + }, + { + "x": 1144.6561279296875, + "y": 356.1921691894531 + }, + { + "x": 1046.52197265625, + "y": 395.71612548828125 + }, + { + "x": 1081.10791015625, + "y": 394.6862487792969 + }, + { + "x": 1082.5255126953125, + "y": 432.1618957519531 + }, + { + "x": 1083.723388671875, + "y": 469.389892578125 + }, + { + "x": 1117.0986328125, + "y": 468.20953369140625 + }, + { + "x": 1149.9139404296875, + "y": 467.12017822265625 + }, + { + "x": 1181.26708984375, + "y": 466.07684326171875 + }, + { + "x": 1012.8379516601562, + "y": 509.2992858886719 + }, + { + "x": 1048.3416748046875, + "y": 508.6074523925781 + }, + { + "x": 1083.1075439453125, + "y": 507.2752685546875 + }, + { + "x": 1117.295654296875, + "y": 505.8670654296875 + }, + { + "x": 1149.9619140625, + "y": 504.6358642578125 + }, + { + "x": 1181.397216796875, + "y": 502.58758544921875 + }, + { + "x": 1047.8973388671875, + "y": 545.5538940429688 + }, + { + "x": 1082.5081787109375, + "y": 544.4160766601562 + }, + { + "x": 1116.0255126953125, + "y": 542.9680786132812 + }, + { + "x": 1148.9161376953125, + "y": 541.400390625 + }, + { + "x": 1179.8929443359375, + "y": 539.1099243164062 + } + ], + "reprojectionErrors": [ + { + "x": 2.606201171875, + "y": 0.1976318359375 + }, + { + "x": 0.71197509765625, + "y": -1.53704833984375 + }, + { + "x": -0.2431640625, + "y": -0.373992919921875 + }, + { + "x": -0.023193359375, + "y": 1.22137451171875 + }, + { + "x": -1.075439453125, + "y": 0.039459228515625 + }, + { + "x": -1.642333984375, + "y": 0.473907470703125 + }, + { + "x": -1.939453125, + "y": 0.251983642578125 + }, + { + "x": -2.03564453125, + "y": 0.319793701171875 + }, + { + "x": 1.248779296875, + "y": 0.877471923828125 + }, + { + "x": 0.382080078125, + "y": -0.01080322265625 + }, + { + "x": 1.2857666015625, + "y": -0.40264892578125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.1986093462825808, + "y": -0.06889608393473667, + "z": 0.4629491804468045 + }, + "rotation": { + "quaternion": { + "W": 0.9968115450089335, + "X": -0.005958539013281108, + "Y": -0.07871373358991708, + "Z": -0.011635621773914407 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false + ], + "snapshotName": "img30.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img30.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + } + ], + "locationInImageSpace": [ + { + "x": 1106.99267578125, + "y": 264.9937744140625 + }, + { + "x": 1043.4256591796875, + "y": 308.095458984375 + }, + { + "x": 1078.386474609375, + "y": 304.53863525390625 + }, + { + "x": 1048.176513671875, + "y": 344.11187744140625 + }, + { + "x": 1082.7396240234375, + "y": 341.01849365234375 + }, + { + "x": 1051.3382568359375, + "y": 381.4051818847656 + }, + { + "x": 1086.5218505859375, + "y": 378.6468200683594 + }, + { + "x": 1121.0556640625, + "y": 375.77618408203125 + }, + { + "x": 1054.6937255859375, + "y": 418.81170654296875 + }, + { + "x": 1089.6319580078125, + "y": 416.1683654785156 + }, + { + "x": 1124.112548828125, + "y": 413.5204772949219 + }, + { + "x": 1158.005615234375, + "y": 411.0617370605469 + }, + { + "x": 1191.4052734375, + "y": 408.0431213378906 + }, + { + "x": 1056.832763671875, + "y": 456.3770446777344 + }, + { + "x": 1091.820556640625, + "y": 453.9637451171875 + }, + { + "x": 1126.3543701171875, + "y": 451.65557861328125 + }, + { + "x": 1160.5526123046875, + "y": 449.0038146972656 + }, + { + "x": 1193.5455322265625, + "y": 446.26837158203125 + }, + { + "x": 1093.13916015625, + "y": 491.57440185546875 + }, + { + "x": 1127.6513671875, + "y": 489.0499572753906 + }, + { + "x": 1161.356201171875, + "y": 486.49322509765625 + }, + { + "x": 1194.58203125, + "y": 484.2847595214844 + } + ], + "reprojectionErrors": [ + { + "x": 0.7945556640625, + "y": -0.24578857421875 + }, + { + "x": -1.2403564453125, + "y": 1.019927978515625 + }, + { + "x": -0.7872314453125, + "y": 0.258880615234375 + }, + { + "x": 0.0355224609375, + "y": 0.169708251953125 + }, + { + "x": -0.18994140625, + "y": -0.299407958984375 + }, + { + "x": 1.8973388671875, + "y": -1.496734619140625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": 0.2210924635490779, + "y": -0.10420214059732175, + "z": 0.46418116219851685 + }, + "rotation": { + "quaternion": { + "W": 0.9970582983888654, + "X": -0.013518675928390133, + "Y": -0.06677861884024903, + "Z": -0.03510856136090217 + } + } + }, + "cornersUsed": [ + false, + false, + true, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img31.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img31.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 554.8037109375, + "y": 547.7412109375 + }, + { + "x": 587.0977172851562, + "y": 550.8992309570312 + }, + { + "x": 620.3075561523438, + "y": 554.3682250976562 + }, + { + "x": 654.5687866210938, + "y": 557.6598510742188 + }, + { + "x": 689.2982177734375, + "y": 560.5659790039062 + }, + { + "x": 724.4685668945312, + "y": 563.1119995117188 + }, + { + "x": 760.2845458984375, + "y": 565.5634765625 + }, + { + "x": 552.1216430664062, + "y": 581.17919921875 + }, + { + "x": 584.6809692382812, + "y": 585.1702880859375 + }, + { + "x": 617.8079223632812, + "y": 588.5676879882812 + }, + { + "x": 651.9027709960938, + "y": 592.1273193359375 + }, + { + "x": 686.4405517578125, + "y": 595.1795654296875 + }, + { + "x": 721.8660278320312, + "y": 598.341064453125 + }, + { + "x": 757.3040771484375, + "y": 600.7781372070312 + }, + { + "x": 549.9346313476562, + "y": 614.28466796875 + }, + { + "x": 582.1199951171875, + "y": 618.3583984375 + }, + { + "x": 615.2838134765625, + "y": 622.5237426757812 + }, + { + "x": 649.2722778320312, + "y": 626.1473999023438 + }, + { + "x": 683.97216796875, + "y": 629.7950439453125 + }, + { + "x": 719.2144775390625, + "y": 632.4088134765625 + }, + { + "x": 754.8096923828125, + "y": 635.5040893554688 + }, + { + "x": 613.2396850585938, + "y": 655.9488525390625 + }, + { + "x": 647.1881103515625, + "y": 660.03857421875 + }, + { + "x": 681.5853271484375, + "y": 663.454833984375 + }, + { + "x": 716.6610107421875, + "y": 667.0091552734375 + }, + { + "x": 751.7420654296875, + "y": 669.189697265625 + }, + { + "x": 611.3448486328125, + "y": 688.7642822265625 + }, + { + "x": 645.0941772460938, + "y": 692.5576782226562 + }, + { + "x": 679.1790771484375, + "y": 696.7213134765625 + }, + { + "x": 714.1223754882812, + "y": 700.0133666992188 + }, + { + "x": 749.3487548828125, + "y": 702.7599487304688 + }, + { + "x": 544.9924926757812, + "y": 710.011474609375 + }, + { + "x": 576.86865234375, + "y": 715.2646484375 + }, + { + "x": 609.4026489257812, + "y": 720.2565307617188 + }, + { + "x": 643.1411743164062, + "y": 724.6896362304688 + }, + { + "x": 677.1296997070312, + "y": 728.7250366210938 + }, + { + "x": 711.830810546875, + "y": 732.0311889648438 + }, + { + "x": 746.4153442382812, + "y": 735.0848388671875 + }, + { + "x": 575.6714477539062, + "y": 745.7968139648438 + }, + { + "x": 608.2450561523438, + "y": 751.0479125976562 + }, + { + "x": 640.9533081054688, + "y": 755.1412353515625 + }, + { + "x": 674.817138671875, + "y": 759.69677734375 + }, + { + "x": 708.7348022460938, + "y": 762.4866333007812 + }, + { + "x": 743.6060180664062, + "y": 765.976806640625 + } + ], + "reprojectionErrors": [ + { + "x": -2.36981201171875, + "y": 0.12396240234375 + }, + { + "x": -0.85101318359375, + "y": 0.28070068359375 + }, + { + "x": 0.03057861328125, + "y": 0.15252685546875 + }, + { + "x": 0.1422119140625, + "y": 0.2281494140625 + }, + { + "x": 0.0699462890625, + "y": 0.71588134765625 + }, + { + "x": -0.1558837890625, + "y": 1.59063720703125 + }, + { + "x": -0.73712158203125, + "y": 2.58709716796875 + }, + { + "x": -1.4190673828125, + "y": 0.16534423828125 + }, + { + "x": -0.3375244140625, + "y": -0.39093017578125 + }, + { + "x": 0.4522705078125, + "y": -0.32672119140625 + }, + { + "x": 0.5528564453125, + "y": -0.397705078125 + }, + { + "x": 0.491943359375, + "y": 0.0660400390625 + }, + { + "x": -0.1722412109375, + "y": 0.4481201171875 + }, + { + "x": -0.56170654296875, + "y": 1.58245849609375 + }, + { + "x": -0.93804931640625, + "y": 0.205810546875 + }, + { + "x": 0.3460693359375, + "y": -0.315673828125 + }, + { + "x": 0.92486572265625, + "y": -0.90130615234375 + }, + { + "x": 0.954833984375, + "y": -0.91754150390625 + }, + { + "x": 0.55206298828125, + "y": -0.92987060546875 + }, + { + "x": -0.111572265625, + "y": 0.11993408203125 + }, + { + "x": -0.84375, + "y": 0.71673583984375 + }, + { + "x": 0.5579833984375, + "y": -1.31317138671875 + }, + { + "x": -0.12115478515625, + "y": -1.08660888671875 + }, + { + "x": -0.52410888671875, + "y": 0.5428466796875 + }, + { + "x": 0.8392333984375, + "y": -1.39080810546875 + }, + { + "x": 0.756103515625, + "y": -1.34735107421875 + }, + { + "x": -0.85040283203125, + "y": 0.13702392578125 + }, + { + "x": -0.96307373046875, + "y": 1.9267578125 + }, + { + "x": 0.11895751953125, + "y": 0.5626220703125 + }, + { + "x": 0.80816650390625, + "y": -0.5111083984375 + }, + { + "x": 0.56048583984375, + "y": -0.99658203125 + }, + { + "x": 0.3331298828125, + "y": -1.0546875 + }, + { + "x": -0.33380126953125, + "y": -0.35345458984375 + }, + { + "x": -0.6083984375, + "y": 0.63055419921875 + }, + { + "x": -0.4593505859375, + "y": 1.96063232421875 + }, + { + "x": 0.0181884765625, + "y": 0.7353515625 + }, + { + "x": 0.62603759765625, + "y": 0.69781494140625 + }, + { + "x": 0.34588623046875, + "y": 0.2283935546875 + }, + { + "x": -0.4622802734375, + "y": 2.21246337890625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.1174369818419995, + "y": 0.09162180031887032, + "z": 0.5078500984036598 + }, + "rotation": { + "quaternion": { + "W": 0.9971758896907025, + "X": 0.048445480606415646, + "Y": 0.042538090228707755, + "Z": 0.03852001178691079 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img32.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img32.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 631.0005493164062, + "y": 555.0951538085938 + }, + { + "x": 666.3642578125, + "y": 557.895751953125 + }, + { + "x": 702.2449340820312, + "y": 560.5372314453125 + }, + { + "x": 738.2515869140625, + "y": 562.7172241210938 + }, + { + "x": 774.2221069335938, + "y": 564.7474365234375 + }, + { + "x": 810.4310913085938, + "y": 566.2719116210938 + }, + { + "x": 846.1814575195312, + "y": 567.8959350585938 + }, + { + "x": 628.4208984375, + "y": 590.1817626953125 + }, + { + "x": 663.7288208007812, + "y": 593.6263427734375 + }, + { + "x": 699.550537109375, + "y": 596.078857421875 + }, + { + "x": 735.839599609375, + "y": 598.4745483398438 + }, + { + "x": 771.9757690429688, + "y": 600.3439331054688 + }, + { + "x": 808.156982421875, + "y": 602.11962890625 + }, + { + "x": 843.73291015625, + "y": 603.421875 + }, + { + "x": 626.3316040039062, + "y": 625.2699584960938 + }, + { + "x": 661.87890625, + "y": 628.0669555664062 + }, + { + "x": 697.6048583984375, + "y": 631.1408081054688 + }, + { + "x": 733.5164794921875, + "y": 633.3876953125 + }, + { + "x": 769.5579223632812, + "y": 635.770263671875 + }, + { + "x": 805.5411376953125, + "y": 636.7958374023438 + }, + { + "x": 841.2658081054688, + "y": 638.0956420898438 + }, + { + "x": 624.7159423828125, + "y": 659.3099365234375 + }, + { + "x": 659.7870483398438, + "y": 662.6661376953125 + }, + { + "x": 695.4816284179688, + "y": 665.4535522460938 + }, + { + "x": 731.420654296875, + "y": 668.0338134765625 + }, + { + "x": 767.1572265625, + "y": 669.9418334960938 + }, + { + "x": 802.8655395507812, + "y": 671.61083984375 + }, + { + "x": 838.5030517578125, + "y": 672.9010009765625 + }, + { + "x": 623.1935424804688, + "y": 692.2271728515625 + }, + { + "x": 657.816162109375, + "y": 695.83984375 + }, + { + "x": 693.36279296875, + "y": 699.2193603515625 + }, + { + "x": 728.8557739257812, + "y": 701.6502685546875 + }, + { + "x": 764.3111572265625, + "y": 703.6367797851562 + }, + { + "x": 799.8157348632812, + "y": 704.83251953125 + }, + { + "x": 835.5567016601562, + "y": 705.7339477539062 + }, + { + "x": 691.0009765625, + "y": 731.6688232421875 + }, + { + "x": 726.4435424804688, + "y": 734.4224853515625 + }, + { + "x": 761.771484375, + "y": 736.1234130859375 + }, + { + "x": 797.4628295898438, + "y": 737.4393310546875 + }, + { + "x": 831.730712890625, + "y": 738.1655883789062 + }, + { + "x": 689.1978149414062, + "y": 763.1209716796875 + }, + { + "x": 723.8067626953125, + "y": 765.3450317382812 + }, + { + "x": 759.1583251953125, + "y": 767.7754516601562 + }, + { + "x": 793.6865234375, + "y": 768.4606323242188 + }, + { + "x": 828.76708984375, + "y": 769.4344482421875 + } + ], + "reprojectionErrors": [ + { + "x": -1.392822265625, + "y": 1.36016845703125 + }, + { + "x": -0.380126953125, + "y": 0.74566650390625 + }, + { + "x": 0.06805419921875, + "y": 0.28607177734375 + }, + { + "x": 0.34210205078125, + "y": 0.2838134765625 + }, + { + "x": 0.60357666015625, + "y": 0.4271240234375 + }, + { + "x": 0.57733154296875, + "y": 1.07183837890625 + }, + { + "x": 0.95989990234375, + "y": 1.61273193359375 + }, + { + "x": -0.61346435546875, + "y": 1.300048828125 + }, + { + "x": 0.23583984375, + "y": 0.0054931640625 + }, + { + "x": 0.5242919921875, + "y": -0.30126953125 + }, + { + "x": 0.2978515625, + "y": -0.5555419921875 + }, + { + "x": 0.17620849609375, + "y": -0.28790283203125 + }, + { + "x": -0.0390625, + "y": 0.06903076171875 + }, + { + "x": 0.30169677734375, + "y": 0.89501953125 + }, + { + "x": -0.29937744140625, + "y": 0.80462646484375 + }, + { + "x": 0.0924072265625, + "y": 0.12225341796875 + }, + { + "x": 0.2591552734375, + "y": -0.8414306640625 + }, + { + "x": 0.19329833984375, + "y": -0.98260498046875 + }, + { + "x": -0.0499267578125, + "y": -1.263916015625 + }, + { + "x": -0.282958984375, + "y": -0.19281005859375 + }, + { + "x": -0.30596923828125, + "y": 0.59954833984375 + }, + { + "x": -0.4342041015625, + "y": 0.92730712890625 + }, + { + "x": 0.21697998046875, + "y": -0.34906005859375 + }, + { + "x": 0.19879150390625, + "y": -1.06121826171875 + }, + { + "x": -0.1102294921875, + "y": -1.57080078125 + }, + { + "x": -0.26373291015625, + "y": -1.41278076171875 + }, + { + "x": -0.4364013671875, + "y": -1.02044677734375 + }, + { + "x": -0.5863037109375, + "y": -0.25384521484375 + }, + { + "x": -0.63763427734375, + "y": 1.746337890625 + }, + { + "x": 0.24627685546875, + "y": 0.1793212890625 + }, + { + "x": 0.160888671875, + "y": -1.15924072265625 + }, + { + "x": 0.08331298828125, + "y": -1.553955078125 + }, + { + "x": -0.00299072265625, + "y": -1.50897216796875 + }, + { + "x": -0.185302734375, + "y": -0.67803955078125 + }, + { + "x": -0.6514892578125, + "y": 0.44244384765625 + }, + { + "x": -0.01959228515625, + "y": -0.817138671875 + }, + { + "x": -0.6009521484375, + "y": -0.14044189453125 + }, + { + "x": 0.19427490234375, + "y": 1.12103271484375 + }, + { + "x": 0.09222412109375, + "y": 1.0137939453125 + }, + { + "x": 0.47308349609375, + "y": 0.7589111328125 + }, + { + "x": 0.20880126953125, + "y": 2.5469970703125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.05759869329434967, + "y": 0.09292726236795643, + "z": 0.48183346996584525 + }, + "rotation": { + "quaternion": { + "W": 0.9977297435103268, + "X": 0.059302891285434596, + "Y": -0.004524011141813586, + "Z": 0.03159207690535761 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true + ], + "snapshotName": "img33.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img33.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.0, + "z": -1.4484077837551013E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 481.3583984375, + "y": 535.11669921875 + }, + { + "x": 514.7122802734375, + "y": 538.3360595703125 + }, + { + "x": 549.1109619140625, + "y": 541.1878051757812 + }, + { + "x": 584.9279174804688, + "y": 543.898681640625 + }, + { + "x": 621.4630737304688, + "y": 546.795654296875 + }, + { + "x": 416.7281188964844, + "y": 563.0186157226562 + }, + { + "x": 447.5434265136719, + "y": 567.2294311523438 + }, + { + "x": 479.1883544921875, + "y": 570.4910278320312 + }, + { + "x": 512.6771850585938, + "y": 574.171875 + }, + { + "x": 547.303955078125, + "y": 577.764404296875 + }, + { + "x": 582.784423828125, + "y": 580.8368530273438 + }, + { + "x": 619.2964477539062, + "y": 583.3327026367188 + }, + { + "x": 445.7184753417969, + "y": 601.341552734375 + }, + { + "x": 478.173095703125, + "y": 605.5391845703125 + }, + { + "x": 511.0715026855469, + "y": 609.998291015625 + }, + { + "x": 545.8452758789062, + "y": 613.769287109375 + }, + { + "x": 581.1649169921875, + "y": 617.3652954101562 + }, + { + "x": 617.9558715820312, + "y": 620.5203857421875 + }, + { + "x": 444.91876220703125, + "y": 636.3568725585938 + }, + { + "x": 476.5449523925781, + "y": 640.4292602539062 + }, + { + "x": 510.13250732421875, + "y": 645.1588134765625 + }, + { + "x": 544.4127197265625, + "y": 649.4231567382812 + }, + { + "x": 579.999267578125, + "y": 653.614990234375 + }, + { + "x": 616.3208618164062, + "y": 656.7113647460938 + }, + { + "x": 444.530029296875, + "y": 669.6956176757812 + }, + { + "x": 475.9804992675781, + "y": 675.0045776367188 + }, + { + "x": 509.1005859375, + "y": 679.4074096679688 + }, + { + "x": 543.605712890625, + "y": 684.642822265625 + }, + { + "x": 578.8350830078125, + "y": 688.1349487304688 + }, + { + "x": 614.95068359375, + "y": 692.16943359375 + }, + { + "x": 444.473876953125, + "y": 702.4592895507812 + }, + { + "x": 475.9048767089844, + "y": 708.0538330078125 + }, + { + "x": 508.93017578125, + "y": 713.4205932617188 + }, + { + "x": 542.6018676757812, + "y": 717.8092041015625 + }, + { + "x": 578.0433349609375, + "y": 722.8748779296875 + }, + { + "x": 613.9915771484375, + "y": 726.5447387695312 + }, + { + "x": 509.1522216796875, + "y": 745.8405151367188 + }, + { + "x": 543.0225219726562, + "y": 750.7676391601562 + }, + { + "x": 577.3273315429688, + "y": 755.1446533203125 + }, + { + "x": 613.750244140625, + "y": 759.364501953125 + } + ], + "reprojectionErrors": [ + { + "x": -0.0491943359375, + "y": 0.44989013671875 + }, + { + "x": -0.62994384765625, + "y": 1.07879638671875 + }, + { + "x": -1.34613037109375, + "y": 1.57568359375 + }, + { + "x": -3.56500244140625, + "y": 0.55615234375 + }, + { + "x": -1.494476318359375, + "y": -0.25750732421875 + }, + { + "x": 0.2730712890625, + "y": -0.06890869140625 + }, + { + "x": 0.73541259765625, + "y": -0.245361328125 + }, + { + "x": 0.61102294921875, + "y": -0.27801513671875 + }, + { + "x": 0.19696044921875, + "y": 0.26617431640625 + }, + { + "x": -0.67138671875, + "y": 1.445068359375 + }, + { + "x": -0.31683349609375, + "y": 0.35504150390625 + }, + { + "x": 0.486663818359375, + "y": -0.13226318359375 + }, + { + "x": 0.9444580078125, + "y": -0.76666259765625 + }, + { + "x": 0.52166748046875, + "y": -0.47454833984375 + }, + { + "x": -0.800537109375, + "y": 0.320556640625 + }, + { + "x": -0.14373779296875, + "y": -0.2525634765625 + }, + { + "x": 1.33404541015625, + "y": -0.3594970703125 + }, + { + "x": 1.379425048828125, + "y": -1.06207275390625 + }, + { + "x": 0.414306640625, + "y": -1.2740478515625 + }, + { + "x": -0.61322021484375, + "y": -0.1502685546875 + }, + { + "x": -0.361114501953125, + "y": 0.49957275390625 + }, + { + "x": 1.138458251953125, + "y": -0.59375 + }, + { + "x": 1.4925537109375, + "y": -0.7159423828125 + }, + { + "x": 0.9976806640625, + "y": -1.60418701171875 + }, + { + "x": -0.6688232421875, + "y": -0.2308349609375 + }, + { + "x": -0.89080810546875, + "y": 1.5101318359375 + }, + { + "x": 0.474578857421875, + "y": 0.3765869140625 + }, + { + "x": 0.764984130859375, + "y": -0.46087646484375 + }, + { + "x": 0.94012451171875, + "y": -0.25018310546875 + }, + { + "x": -0.111328125, + "y": -0.64501953125 + }, + { + "x": -0.334442138671875, + "y": 1.061279296875 + }, + { + "x": -0.52105712890625, + "y": 0.98046875 + }, + { + "x": -0.60406494140625, + "y": 1.52471923828125 + }, + { + "x": -2.25469970703125, + "y": 2.30279541015625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.21285267327472554, + "y": 0.07525858109527983, + "z": 0.4926277517108795 + }, + "rotation": { + "quaternion": { + "W": 0.9956731543194204, + "X": 0.041710969571197014, + "Y": 0.07784184659080645, + "Z": 0.028910408236133497 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true + ], + "snapshotName": "img34.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img34.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.0, + "z": -1.7380893041263334E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + } + ], + "locationInImageSpace": [ + { + "x": 339.99993896484375, + "y": 518.2994384765625 + }, + { + "x": 368.3822937011719, + "y": 521.7647705078125 + }, + { + "x": 398.1902770996094, + "y": 525.0227661132812 + }, + { + "x": 336.58294677734375, + "y": 550.9547119140625 + }, + { + "x": 365.8018493652344, + "y": 554.7659301757812 + }, + { + "x": 395.3594665527344, + "y": 558.3892822265625 + }, + { + "x": 334.5315856933594, + "y": 583.6575927734375 + }, + { + "x": 424.1216735839844, + "y": 595.6024780273438 + }, + { + "x": 456.9620056152344, + "y": 599.285888671875 + }, + { + "x": 305.0390625, + "y": 611.8565673828125 + }, + { + "x": 332.46331787109375, + "y": 616.4675903320312 + }, + { + "x": 422.9822082519531, + "y": 629.589599609375 + }, + { + "x": 454.74371337890625, + "y": 633.5685424804688 + }, + { + "x": 277.20892333984375, + "y": 638.8045043945312 + }, + { + "x": 303.91436767578125, + "y": 642.8883056640625 + }, + { + "x": 331.8155822753906, + "y": 648.4920654296875 + }, + { + "x": 421.2489318847656, + "y": 662.550537109375 + }, + { + "x": 453.8963623046875, + "y": 667.3047485351562 + }, + { + "x": 277.6267395019531, + "y": 669.3714599609375 + }, + { + "x": 303.4901123046875, + "y": 675.1615600585938 + }, + { + "x": 420.9560241699219, + "y": 696.1373901367188 + }, + { + "x": 452.869140625, + "y": 700.5463256835938 + } + ], + "reprojectionErrors": [ + { + "x": -0.661529541015625, + "y": 0.02667236328125 + }, + { + "x": 0.134246826171875, + "y": -0.1983642578125 + }, + { + "x": 0.318878173828125, + "y": -0.177490234375 + }, + { + "x": 0.55474853515625, + "y": -0.30657958984375 + }, + { + "x": 1.812591552734375, + "y": -0.58648681640625 + }, + { + "x": 0.58392333984375, + "y": -0.23516845703125 + }, + { + "x": 0.838134765625, + "y": -0.05865478515625 + }, + { + "x": -0.049072265625, + "y": 0.18377685546875 + }, + { + "x": -0.323150634765625, + "y": -0.7149658203125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.33440807484497004, + "y": 0.06798794062801497, + "z": 0.535294591111517 + }, + "rotation": { + "quaternion": { + "W": 0.9942644364644129, + "X": 0.026667461458615562, + "Y": 0.09667524419849263, + "Z": 0.03716145907547897 + } + } + }, + "cornersUsed": [ + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + true, + false, + false, + true, + true, + false, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + false + ], + "snapshotName": "img35.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img35.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + } + ], + "locationInImageSpace": [ + { + "x": 355.5008850097656, + "y": 531.2420654296875 + }, + { + "x": 192.28550720214844, + "y": 543.3106689453125 + }, + { + "x": 216.9979705810547, + "y": 547.0787353515625 + }, + { + "x": 324.3144226074219, + "y": 560.5985107421875 + }, + { + "x": 215.4544677734375, + "y": 578.230712890625 + }, + { + "x": 294.8631896972656, + "y": 589.1271362304688 + }, + { + "x": 323.3064880371094, + "y": 592.2216796875 + }, + { + "x": 214.95559692382812, + "y": 609.1192626953125 + }, + { + "x": 240.08218383789062, + "y": 612.979736328125 + }, + { + "x": 267.1809997558594, + "y": 616.9696655273438 + }, + { + "x": 293.8249816894531, + "y": 620.5391845703125 + }, + { + "x": 323.23370361328125, + "y": 624.3427734375 + }, + { + "x": 266.7229919433594, + "y": 648.6647338867188 + }, + { + "x": 294.30706787109375, + "y": 651.7601928710938 + }, + { + "x": 323.051513671875, + "y": 655.8204345703125 + }, + { + "x": 295.15850830078125, + "y": 683.470947265625 + }, + { + "x": 323.7824401855469, + "y": 687.45751953125 + }, + { + "x": 353.2901306152344, + "y": 690.3019409179688 + } + ], + "reprojectionErrors": [ + { + "x": 0.7947998046875, + "y": 0.09954833984375 + }, + { + "x": 0.07159423828125, + "y": 0.05291748046875 + }, + { + "x": 1.295135498046875, + "y": -0.13885498046875 + }, + { + "x": 1.0040283203125, + "y": -0.89703369140625 + }, + { + "x": -0.70684814453125, + "y": -0.32171630859375 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.4238780267621324, + "y": 0.07324377794688675, + "z": 0.5609549345266903 + }, + "rotation": { + "quaternion": { + "W": 0.9940908042531933, + "X": 0.02550203304009213, + "Y": 0.10155019902522212, + "Z": 0.028647448193496988 + } + } + }, + "cornersUsed": [ + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true, + false, + false, + true, + false, + false, + true, + true, + false, + false, + true, + true, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false + ], + "snapshotName": "img36.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img36.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.0, + "z": -8.690447430126369E-6 + }, + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.0, + "z": -1.7380894860252738E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.02539999969303608, + "z": -7.72271232563071E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.0, + "y": 0.05080000311136246, + "z": -9.974371641874313E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.05080000311136246, + "z": -1.1712461127899587E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.0, + "y": 0.07620000094175339, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.07620000094175339, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + } + ], + "locationInImageSpace": [ + { + "x": 624.1666870117188, + "y": 210.96621704101562 + }, + { + "x": 664.1944580078125, + "y": 210.02346801757812 + }, + { + "x": 704.9284057617188, + "y": 209.95590209960938 + }, + { + "x": 746.4447021484375, + "y": 210.2003936767578 + }, + { + "x": 871.9952392578125, + "y": 214.80300903320312 + }, + { + "x": 622.2560424804688, + "y": 250.47012329101562 + }, + { + "x": 662.8406982421875, + "y": 250.26708984375 + }, + { + "x": 703.8214721679688, + "y": 250.4188995361328 + }, + { + "x": 745.2092895507812, + "y": 251.2730255126953 + }, + { + "x": 787.6088256835938, + "y": 251.92445373535156 + }, + { + "x": 829.8788452148438, + "y": 253.7813262939453 + }, + { + "x": 871.5523681640625, + "y": 255.5003662109375 + }, + { + "x": 621.6057739257812, + "y": 290.6828918457031 + }, + { + "x": 661.4994506835938, + "y": 290.94171142578125 + }, + { + "x": 702.7352905273438, + "y": 291.73687744140625 + }, + { + "x": 744.32568359375, + "y": 292.2154541015625 + }, + { + "x": 786.4894409179688, + "y": 293.8221435546875 + }, + { + "x": 829.1085205078125, + "y": 294.9520568847656 + }, + { + "x": 870.9828491210938, + "y": 297.3493957519531 + }, + { + "x": 620.3048095703125, + "y": 331.9081115722656 + }, + { + "x": 660.561767578125, + "y": 332.5423889160156 + }, + { + "x": 701.3248901367188, + "y": 333.43133544921875 + }, + { + "x": 743.4420166015625, + "y": 334.4292297363281 + }, + { + "x": 785.32080078125, + "y": 335.75433349609375 + }, + { + "x": 827.8673706054688, + "y": 337.5191650390625 + }, + { + "x": 869.3463745117188, + "y": 339.3595886230469 + }, + { + "x": 619.3915405273438, + "y": 372.47369384765625 + }, + { + "x": 659.391357421875, + "y": 373.22320556640625 + }, + { + "x": 700.7064208984375, + "y": 374.66253662109375 + }, + { + "x": 742.1087646484375, + "y": 376.2926025390625 + }, + { + "x": 784.0244140625, + "y": 377.9930114746094 + }, + { + "x": 826.1195678710938, + "y": 379.545654296875 + }, + { + "x": 868.1972045898438, + "y": 381.23968505859375 + }, + { + "x": 618.7074584960938, + "y": 412.96868896484375 + }, + { + "x": 658.9325561523438, + "y": 414.5102233886719 + }, + { + "x": 699.3302612304688, + "y": 416.50469970703125 + }, + { + "x": 740.8837280273438, + "y": 418.1072692871094 + }, + { + "x": 782.6530151367188, + "y": 419.79779052734375 + }, + { + "x": 824.6951293945312, + "y": 421.8543395996094 + }, + { + "x": 865.9204711914062, + "y": 423.2519226074219 + }, + { + "x": 618.5383911132812, + "y": 453.2113037109375 + }, + { + "x": 657.9710693359375, + "y": 455.11553955078125 + }, + { + "x": 698.3622436523438, + "y": 457.178466796875 + }, + { + "x": 739.0489501953125, + "y": 459.0274658203125 + }, + { + "x": 780.859130859375, + "y": 461.3123474121094 + }, + { + "x": 822.3875732421875, + "y": 462.856689453125 + }, + { + "x": 864.0675659179688, + "y": 464.8035888671875 + } + ], + "reprojectionErrors": [ + { + "x": 0.0469970703125, + "y": -2.2105712890625 + }, + { + "x": 0.82159423828125, + "y": -0.656005859375 + }, + { + "x": 1.18707275390625, + "y": 0.0292205810546875 + }, + { + "x": 1.06964111328125, + "y": 0.4083251953125 + }, + { + "x": 0.82928466796875, + "y": 0.33099365234375 + }, + { + "x": 0.92132568359375, + "y": 0.946075439453125 + }, + { + "x": 0.9053955078125, + "y": 0.86553955078125 + }, + { + "x": 0.1793212890625, + "y": 0.9944915771484375 + }, + { + "x": -0.11334228515625, + "y": -0.0751800537109375 + }, + { + "x": 0.49688720703125, + "y": -1.0001373291015625 + }, + { + "x": -0.024169921875, + "y": 0.199920654296875 + }, + { + "x": 0.83013916015625, + "y": 0.849456787109375 + }, + { + "x": 0.638671875, + "y": 0.970062255859375 + }, + { + "x": 0.39129638671875, + "y": 1.414764404296875 + }, + { + "x": -0.12823486328125, + "y": 0.738922119140625 + }, + { + "x": -0.799560546875, + "y": 0.547515869140625 + }, + { + "x": -0.42010498046875, + "y": -0.903656005859375 + }, + { + "x": -0.02777099609375, + "y": -0.023193359375 + }, + { + "x": 0.433349609375, + "y": 0.398590087890625 + }, + { + "x": 0.6842041015625, + "y": 0.573944091796875 + }, + { + "x": -0.12060546875, + "y": 0.64862060546875 + }, + { + "x": -0.3863525390625, + "y": 0.40447998046875 + }, + { + "x": -1.01666259765625, + "y": -0.270965576171875 + }, + { + "x": -0.27386474609375, + "y": -1.01348876953125 + }, + { + "x": -0.4111328125, + "y": 0.364837646484375 + }, + { + "x": 0.27532958984375, + "y": 0.818695068359375 + }, + { + "x": -0.0579833984375, + "y": 0.59173583984375 + }, + { + "x": -0.18060302734375, + "y": 0.183135986328125 + }, + { + "x": -0.51629638671875, + "y": -0.286651611328125 + }, + { + "x": -0.72869873046875, + "y": -0.599456787109375 + }, + { + "x": -0.618408203125, + "y": -1.0443115234375 + }, + { + "x": -1.01568603515625, + "y": 0.769317626953125 + }, + { + "x": -0.58807373046875, + "y": 0.5780029296875 + }, + { + "x": -0.03802490234375, + "y": -0.056488037109375 + }, + { + "x": -0.3463134765625, + "y": -0.2891845703125 + }, + { + "x": -0.570556640625, + "y": -0.599853515625 + }, + { + "x": -0.765380859375, + "y": -1.266571044921875 + }, + { + "x": 0.1612548828125, + "y": -1.264190673828125 + }, + { + "x": -2.126953125, + "y": 1.366485595703125 + }, + { + "x": -0.9423828125, + "y": 0.95880126953125 + }, + { + "x": -0.42169189453125, + "y": 0.40301513671875 + }, + { + "x": 0.10040283203125, + "y": 0.071807861328125 + }, + { + "x": -0.20159912109375, + "y": -0.6845703125 + }, + { + "x": 0.07989501953125, + "y": -0.6895751953125 + }, + { + "x": 0.5140380859375, + "y": -1.086212158203125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.05441109776640792, + "y": -0.13292121515708863, + "z": 0.427262691617865 + }, + "rotation": { + "quaternion": { + "W": 0.9993881048545594, + "X": 0.005086809026348173, + "Y": 0.0302922746944471, + "Z": 0.01673076038253474 + } + } + }, + "cornersUsed": [ + true, + true, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "snapshotName": "img37.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img37.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.0, + "y": 0.0, + "z": -0.0 + }, + { + "x": 0.02539999969303608, + "y": 0.02540000155568123, + "z": -6.853667582618073E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05079999938607216, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05079999938607216, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.0, + "y": 0.07620000839233398, + "z": -1.1969245679210871E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000839233398, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000839233398, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.07620000839233398, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + } + ], + "locationInImageSpace": [ + { + "x": 455.078857421875, + "y": 193.6541748046875 + }, + { + "x": 482.04376220703125, + "y": 226.341552734375 + }, + { + "x": 479.9839172363281, + "y": 255.16761779785156 + }, + { + "x": 507.08331298828125, + "y": 256.6502685546875 + }, + { + "x": 449.9988708496094, + "y": 284.65740966796875 + }, + { + "x": 478.19921875, + "y": 285.3439636230469 + }, + { + "x": 506.35736083984375, + "y": 286.16510009765625 + }, + { + "x": 533.3524780273438, + "y": 287.9180908203125 + }, + { + "x": 448.97308349609375, + "y": 316.0657653808594 + }, + { + "x": 478.2704772949219, + "y": 315.8299865722656 + }, + { + "x": 505.4634704589844, + "y": 316.5524597167969 + }, + { + "x": 532.3949584960938, + "y": 317.4662780761719 + }, + { + "x": 477.00628662109375, + "y": 346.6922302246094 + }, + { + "x": 505.2466125488281, + "y": 346.908447265625 + }, + { + "x": 531.879150390625, + "y": 346.8869323730469 + } + ], + "reprojectionErrors": [ + { + "x": 0.0308837890625, + "y": 1.8282470703125 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.2106392728838382, + "y": -0.18944935964503729, + "z": 0.5602419776759322 + }, + "rotation": { + "quaternion": { + "W": 0.9232039331931272, + "X": 0.1338067106931112, + "Y": -0.3601265731625477, + "Z": 0.009955561884204295 + } + } + }, + "cornersUsed": [ + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + true, + true, + true, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false + ], + "snapshotName": "img38.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img38.png" + }, + { + "locationInObjectSpace": [ + { + "x": 0.05080000311136246, + "y": 0.0, + "z": -1.4484078747045714E-5 + }, + { + "x": 0.15240000188350677, + "y": 0.0, + "z": -8.690446520631667E-6 + }, + { + "x": 0.0, + "y": 0.02539999969303608, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.02539999969303608, + "z": -6.853667582618073E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.12700000405311584, + "y": 0.02539999969303608, + "z": -7.433030259562656E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.05080000311136246, + "z": -1.084341638488695E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.05080000311136246, + "z": -1.1422779789427295E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.05080000311136246, + "z": -1.1422779061831534E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.07620000094175339, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.07620000094175339, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.10160000622272491, + "z": -1.196924495161511E-4 + }, + { + "x": 0.02539999969303608, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.10160000622272491, + "z": -1.3707335165236145E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.10160000622272491, + "z": -1.3417653099168092E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.10160000622272491, + "z": -1.2838290422223508E-4 + }, + { + "x": 0.0, + "y": 0.12700000405311584, + "z": -9.974370914278552E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.05080000311136246, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.07620000094175339, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.10160000622272491, + "y": 0.12700000405311584, + "z": -1.1712460400303826E-4 + }, + { + "x": 0.12700000405311584, + "y": 0.12700000405311584, + "z": -1.1422778334235772E-4 + }, + { + "x": 0.15240000188350677, + "y": 0.12700000405311584, + "z": -1.0843415657291189E-4 + }, + { + "x": 0.0, + "y": 0.15240000188350677, + "z": -5.984622475807555E-5 + }, + { + "x": 0.02539999969303608, + "y": 0.15240000188350677, + "z": -6.853666855022311E-5 + }, + { + "x": 0.05080000311136246, + "y": 0.15240000188350677, + "z": -7.433030259562656E-5 + }, + { + "x": 0.07620000094175339, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + }, + { + "x": 0.10160000622272491, + "y": 0.15240000188350677, + "z": -7.722711598034948E-5 + } + ], + "locationInImageSpace": [ + { + "x": 574.7164306640625, + "y": 170.05624389648438 + }, + { + "x": 704.706298828125, + "y": 165.73863220214844 + }, + { + "x": 509.7684020996094, + "y": 206.31607055664062 + }, + { + "x": 542.9586791992188, + "y": 203.66268920898438 + }, + { + "x": 575.9047241210938, + "y": 201.4852752685547 + }, + { + "x": 674.8673706054688, + "y": 196.704345703125 + }, + { + "x": 544.0590209960938, + "y": 235.86898803710938 + }, + { + "x": 577.633056640625, + "y": 233.76947021484375 + }, + { + "x": 676.8850708007812, + "y": 227.75511169433594 + }, + { + "x": 545.8450927734375, + "y": 268.916259765625 + }, + { + "x": 579.11083984375, + "y": 266.2088317871094 + }, + { + "x": 679.2486572265625, + "y": 260.9424743652344 + }, + { + "x": 711.6690673828125, + "y": 258.7879638671875 + }, + { + "x": 514.2014770507812, + "y": 305.07476806640625 + }, + { + "x": 547.6842651367188, + "y": 301.83331298828125 + }, + { + "x": 581.3593139648438, + "y": 299.7357177734375 + }, + { + "x": 614.9149780273438, + "y": 297.0979309082031 + }, + { + "x": 648.3394775390625, + "y": 294.59521484375 + }, + { + "x": 681.3880615234375, + "y": 292.9165344238281 + }, + { + "x": 714.093017578125, + "y": 290.9622497558594 + }, + { + "x": 516.2852783203125, + "y": 339.0439758300781 + }, + { + "x": 550.0531616210938, + "y": 335.8643798828125 + }, + { + "x": 583.6343994140625, + "y": 333.2764587402344 + }, + { + "x": 617.3003540039062, + "y": 330.5699157714844 + }, + { + "x": 650.4580078125, + "y": 328.0841064453125 + }, + { + "x": 683.6452026367188, + "y": 326.2611999511719 + }, + { + "x": 715.8561401367188, + "y": 323.78155517578125 + }, + { + "x": 518.9828491210938, + "y": 372.9270935058594 + }, + { + "x": 552.5264282226562, + "y": 369.98388671875 + }, + { + "x": 586.1699829101562, + "y": 366.9330139160156 + }, + { + "x": 619.5244750976562, + "y": 364.1986999511719 + }, + { + "x": 653.068603515625, + "y": 361.6770935058594 + } + ], + "reprojectionErrors": [ + { + "x": -1.05572509765625, + "y": 0.0399932861328125 + }, + { + "x": 0.03204345703125, + "y": 0.9107208251953125 + }, + { + "x": -0.15618896484375, + "y": 0.9806671142578125 + }, + { + "x": -6.103515625E-5, + "y": 0.9596405029296875 + }, + { + "x": 0.2257080078125, + "y": 0.458404541015625 + }, + { + "x": 0.5445556640625, + "y": 0.191436767578125 + }, + { + "x": 0.28094482421875, + "y": 0.266510009765625 + }, + { + "x": 0.171630859375, + "y": 0.74822998046875 + }, + { + "x": 0.5755615234375, + "y": 0.47021484375 + }, + { + "x": 0.11175537109375, + "y": -0.354644775390625 + }, + { + "x": -0.0162353515625, + "y": 0.12713623046875 + }, + { + "x": 1.280517578125, + "y": 0.2962646484375 + }, + { + "x": -0.75634765625, + "y": -2.276397705078125 + }, + { + "x": -0.4151611328125, + "y": -1.64599609375 + }, + { + "x": -0.302001953125, + "y": -0.89862060546875 + }, + { + "x": -0.02764892578125, + "y": -0.45849609375 + }, + { + "x": -0.0706787109375, + "y": -0.22174072265625 + } + ], + "optimisedCameraToObject": { + "translation": { + "x": -0.15752691410330225, + "y": -0.19151887548014077, + "z": 0.5300306479141869 + }, + "rotation": { + "quaternion": { + "W": 0.9986880075295219, + "X": -0.030675649367622466, + "Y": -0.0186098571607213, + "Z": -0.03653684946798232 + } + } + }, + "cornersUsed": [ + false, + false, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + true, + false, + false, + true, + true, + false, + false, + true, + false, + false, + true, + true, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false + ], + "snapshotName": "img39.png", + "snapshotDataLocation": "file:///opt/photonvision/photonvision_config/calibration/6543ae53-3398-487a-8054-3735e2566756/imgs/1280x800/img39.png" + } + ], + "calobjectSize": { + "width": 7.0, + "height": 7.0 + }, + "calobjectSpacing": 0.0254, + "lensmodel": "LENSMODEL_OPENCV" +} diff --git a/githooks/pre-commit b/githooks/pre-commit new file mode 100644 index 0000000..bf39788 --- /dev/null +++ b/githooks/pre-commit @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "Running Spotless..." +./gradlew :spotlessApply + +echo "Staging Spotless changes..." +git add -A . \ No newline at end of file diff --git a/githooks/pre-commit.bat b/githooks/pre-commit.bat new file mode 100644 index 0000000..d20506e --- /dev/null +++ b/githooks/pre-commit.bat @@ -0,0 +1,7 @@ +@echo off +echo Running Spotless... +call gradlew.bat :spotlessApply +if errorlevel 1 exit /b 1 + +echo Staging Spotless changes... +git add -A . diff --git a/processor/src/main/java/com/frc6324/LazySingletonProcessor.java b/processor/src/main/java/com/frc6324/LazySingletonProcessor.java new file mode 100644 index 0000000..69bb324 --- /dev/null +++ b/processor/src/main/java/com/frc6324/LazySingletonProcessor.java @@ -0,0 +1,110 @@ +package com.frc6324; + +import com.frc6324.lib.LazySingleton; +import com.google.auto.service.AutoService; +import java.util.Set; +import javax.annotation.processing.*; +import javax.lang.model.SourceVersion; +import javax.lang.model.element.*; +import javax.tools.Diagnostic; + +@SupportedAnnotationTypes("com.frc6324.lib.LazySingleton") +@SupportedSourceVersion(SourceVersion.RELEASE_17) // adjust as needed +@AutoService(Processor.class) +public class LazySingletonProcessor extends AbstractProcessor { + @Override + public boolean process(Set annotations, RoundEnvironment roundEnv) { + for (Element element : roundEnv.getElementsAnnotatedWith(LazySingleton.class)) { + if (element.getKind() != ElementKind.CLASS) { + error(element, "@LazySingleton can only be applied to classes."); + continue; + } + + TypeElement clazz = (TypeElement) element; + + if (!clazz.getModifiers().contains(Modifier.FINAL)) { + error(clazz, "Singleton class must be final."); + } + + boolean hasConstructor = false; + boolean hasStaticInstance = false; + boolean hasGetInstance = false; + + for (Element e : clazz.getEnclosedElements()) { + switch (e.getKind()) { + case CONSTRUCTOR -> { + hasConstructor = true; + + if (!e.getModifiers().contains(Modifier.PRIVATE)) { + error(e, "Constructor of singleton class must be private."); + } + } + case FIELD -> { + VariableElement field = (VariableElement) e; + + if (field.getSimpleName().contentEquals("instance")) { + Set mods = field.getModifiers(); + + if (!mods.contains(Modifier.PRIVATE)) { + error(field, "Instance field must be private."); + } + + if (!mods.contains(Modifier.STATIC)) { + error(field, "Instance field must be static."); + } + + if (mods.contains(Modifier.FINAL)) { + error(field, "Lazy static instance must not be final."); + } + + if (!processingEnv.getTypeUtils().isSameType(field.asType(), clazz.asType())) { + error(field, "Instance must be an instance of " + clazz.getSimpleName()); + } + + hasStaticInstance = true; + } + } + case METHOD -> { + ExecutableElement method = (ExecutableElement) e; + + if (method.getSimpleName().contentEquals("getInstance")) { + hasGetInstance = true; + + if (!method.getModifiers().contains(Modifier.STATIC)) { + error(method, "Instance getter must be static."); + } + + if (!processingEnv + .getTypeUtils() + .isSameType(method.getReturnType(), clazz.asType())) { + error( + method, "Instance getter must return an instance of " + clazz.getSimpleName()); + } + } + } + default -> {} + } + } + + if (!hasConstructor) { + error(clazz, "Singleton class must have a private constructor declared."); + } + + if (!hasStaticInstance) { + error(clazz, "Singleton class must declare a `private static` instance field."); + } + + if (!hasGetInstance) { + error( + clazz, + "Singleton class must provide a `getInstance` method to get the singleton instance."); + } + } + + return true; + } + + private void error(Element element, String message) { + processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, message, element); + } +} diff --git a/processor/src/main/java/com/frc6324/UninstantiableClassProcessor.java b/processor/src/main/java/com/frc6324/UninstantiableClassProcessor.java index ee30a18..50ef1c6 100644 --- a/processor/src/main/java/com/frc6324/UninstantiableClassProcessor.java +++ b/processor/src/main/java/com/frc6324/UninstantiableClassProcessor.java @@ -13,12 +13,9 @@ @SupportedSourceVersion(SourceVersion.RELEASE_17) // adjust as needed @AutoService(Processor.class) public class UninstantiableClassProcessor extends AbstractProcessor { - @Override public boolean process(Set annotations, RoundEnvironment roundEnv) { - for (Element element : roundEnv.getElementsAnnotatedWith(UninstantiableClass.class)) { - if (element.getKind() != ElementKind.CLASS) { error(element, "@UninstantiableClass can only be applied to classes."); continue; @@ -39,7 +36,6 @@ public boolean process(Set annotations, RoundEnvironment // Rule 2: No instance fields for (VariableElement field : ElementFilter.fieldsIn(clazz.getEnclosedElements())) { - if (!field.getModifiers().contains(Modifier.STATIC)) { error(field, "Instance fields are not allowed in classes marked @UninstantiableClass."); } @@ -47,7 +43,6 @@ public boolean process(Set annotations, RoundEnvironment // Rule 3: No instance methods for (ExecutableElement method : ElementFilter.methodsIn(clazz.getEnclosedElements())) { - if (!method.getModifiers().contains(Modifier.STATIC)) { error(method, "Instance methods are not allowed in classes marked @UninstantiableClass."); } diff --git a/src/main/deploy/autos/config.json b/src/main/deploy/autos/config.json deleted file mode 100644 index a27f836..0000000 --- a/src/main/deploy/autos/config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "robot_length_meters": 0.5, - "robot_width_meters": 0.5, - "default_max_velocity_meters_per_sec": 4.5, - "default_max_acceleration_meters_per_sec2": 7.0, - "default_intermediate_handoff_radius_meters": 0.2, - "default_max_velocity_deg_per_sec": 720.0, - "default_max_acceleration_deg_per_sec2": 1500.0, - "default_end_translation_tolerance_meters": 0.03, - "default_end_rotation_tolerance_deg": 2.0 -} diff --git a/src/main/deploy/pathplanner/navgrid.json b/src/main/deploy/pathplanner/navgrid.json new file mode 100644 index 0000000..4ca727a --- /dev/null +++ b/src/main/deploy/pathplanner/navgrid.json @@ -0,0 +1,3494 @@ +{ + "field_size": { + "x": 16.54, + "y": 8.07 + }, + "nodeSizeMeters": 0.2, + "grid": [ + [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true + ], + [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ] + ] +} diff --git a/src/main/deploy/pathplanner/paths/Trench First Intake.path b/src/main/deploy/pathplanner/paths/Trench First Intake.path new file mode 100644 index 0000000..d8a7b92 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/Trench First Intake.path @@ -0,0 +1,197 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 3.535954922894425, + "y": 7.354211150652431 + }, + "prevControl": null, + "nextControl": { + "x": 4.398183242928688, + "y": 7.354211150652431 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 6.0, + "y": 7.354 + }, + "prevControl": { + "x": 4.567887137451685, + "y": 7.354 + }, + "nextControl": { + "x": 6.8860131237597875, + "y": 7.354 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 7.583797709923665, + "y": 7.095990510083036 + }, + "prevControl": { + "x": 7.439220705488703, + "y": 7.346405227370502 + }, + "nextControl": { + "x": 7.855078067867465, + "y": 6.626119147028903 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 7.801374045801527, + "y": 5.256774809160306 + }, + "prevControl": { + "x": 7.801374045801527, + "y": 5.602493628513045 + }, + "nextControl": { + "x": 7.801374045801527, + "y": 4.82990842354048 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 7.583797709923665, + "y": 4.277081850533808 + }, + "prevControl": { + "x": 7.791794184997739, + "y": 4.482739143722974 + }, + "nextControl": { + "x": 7.406024197726117, + "y": 4.10130762500302 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 6.688387404580153, + "y": 5.256774809160306 + }, + "prevControl": { + "x": 6.688387404580153, + "y": 4.3117112368400825 + }, + "nextControl": { + "x": 6.688387404580153, + "y": 5.546286378582067 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 6.571230916030536, + "y": 6.721230916030534 + }, + "prevControl": { + "x": 6.859809600094874, + "y": 6.4326522319661965 + }, + "nextControl": { + "x": 6.354821576447402, + "y": 6.937640255613668 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 5.943606870229008, + "y": 7.354211150652431 + }, + "prevControl": { + "x": 6.120383565525644, + "y": 7.177434455355795 + }, + "nextControl": { + "x": 5.647573668458733, + "y": 7.650244352422706 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 3.140219465648855, + "y": 7.354211150652431 + }, + "prevControl": { + "x": 3.8500446024956667, + "y": 7.354211150652431 + }, + "nextControl": null, + "isLocked": false, + "linkedName": null + } + ], + "rotationTargets": [ + { + "waypointRelativePos": 1, + "rotationDegrees": -150.0 + }, + { + "waypointRelativePos": 2, + "rotationDegrees": -90.0 + }, + { + "waypointRelativePos": 3, + "rotationDegrees": -90.0 + }, + { + "waypointRelativePos": 6, + "rotationDegrees": 0.0 + } + ], + "constraintZones": [ + { + "name": "Slow for Intaking", + "minWaypointRelativePos": 2.5, + "maxWaypointRelativePos": 3.5, + "constraints": { + "maxVelocity": 1.0, + "maxAcceleration": 7.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + } + } + ], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 5.2, + "maxAcceleration": 7.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 1080.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": -50.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 180.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/settings.json b/src/main/deploy/pathplanner/settings.json new file mode 100644 index 0000000..639ecbc --- /dev/null +++ b/src/main/deploy/pathplanner/settings.json @@ -0,0 +1,32 @@ +{ + "robotWidth": 0.864, + "robotLength": 0.8636, + "holonomicMode": true, + "pathFolders": [], + "autoFolders": [], + "defaultMaxVel": 5.2, + "defaultMaxAccel": 7.0, + "defaultMaxAngVel": 540.0, + "defaultMaxAngAccel": 1080.0, + "defaultNominalVoltage": 12.0, + "robotMass": 60.0, + "robotMOI": 6.883, + "robotTrackwidth": 0.546, + "driveWheelRadius": 0.048, + "driveGearing": 6.03, + "maxDriveSpeed": 5.121, + "driveMotorType": "krakenX60FOC", + "driveCurrentLimit": 60.0, + "wheelCOF": 2.2, + "flModuleX": 0.302, + "flModuleY": 0.302, + "frModuleX": 0.302, + "frModuleY": -0.302, + "blModuleX": -0.302, + "blModuleY": 0.302, + "brModuleX": -0.302, + "brModuleY": -0.302, + "bumperOffsetX": 0.0, + "bumperOffsetY": 0.0, + "robotFeatures": [] +} \ No newline at end of file diff --git a/src/main/java/com/frc6324/lib/auto/PathGroup.java b/src/main/java/com/frc6324/lib/auto/PathGroup.java deleted file mode 100644 index b5fc02c..0000000 --- a/src/main/java/com/frc6324/lib/auto/PathGroup.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.frc6324.lib.auto; - -import edu.wpi.first.wpilibj2.command.Command; -import edu.wpi.first.wpilibj2.command.SequentialCommandGroup; -import edu.wpi.first.wpilibj2.command.Subsystem; -import frc.robot.lib.BLine.FollowPath; -import frc.robot.lib.BLine.Path; - -/** - * Executes a set of listed commands in sequential order, while also allowing "junction" commands to - * run in between them. - * - *

This is essentially a wrapper over {@link SequentialCommandGroup}, however it offers a more - * intuitive builder API. - * - * @see SequentialCommandGroup - * @see Command - * @see FollowPath - */ -public final class PathGroup extends Command { - private final SequentialCommandGroup commands = new SequentialCommandGroup(); - private final FollowPath.Builder builder; - - /** - * Creates a new path group, using the specified builder. - * - * @param builder The builder to build BLine paths with. - */ - public PathGroup(FollowPath.Builder builder) { - this.builder = builder; - } - - /** - * Creates a new path group using the specified builder, adding the given subsystems as - * requirements. - * - * @param builder The builder to build BLine paths with. - * @param requirements The requirements to add to this command. - */ - public PathGroup(FollowPath.Builder builder, Subsystem... requirements) { - this(builder); - - addRequirements(requirements); - } - - /** - * Adds a path to this path group. - * - * @param path The path to add. This will be loaded from the file {@code - * deploy/autos/paths/.json}. - * @return This group for easier method chaining. - */ - public PathGroup nextPath(String path) { - return nextPath(new Path(path)); - } - - /** - * Adds an already-constructed path to this path group. - * - * @param path The path to add. - * @return This group for easier method chaining. - */ - public PathGroup nextPath(Path path) { - Command followPath = builder.build(path); - this.commands.addCommands(followPath); - - return this; - } - - /** - * Adds a command to be executed in this group after all previous paths and commands. - * - * @param command The command to add to the group. - * @return This group for easier method chaining. - */ - public PathGroup nextCommand(Command command) { - return nextCommands(command); - } - - /** - * Adds a group of commands to be executed in this group after all previous paths and commands. - * - * @param commands The commands to add to the group. - * @return This group for easier method chaining. - */ - public PathGroup nextCommands(Command... commands) { - this.commands.addCommands(commands); - - return this; - } - - @Override - public void initialize() { - commands.initialize(); - } - - @Override - public void execute() { - commands.execute(); - } - - @Override - public void end(boolean interrupted) { - commands.end(interrupted); - } - - @Override - public boolean isFinished() { - return commands.isFinished(); - } -} diff --git a/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIO.java b/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIO.java new file mode 100644 index 0000000..e162c28 --- /dev/null +++ b/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIO.java @@ -0,0 +1,37 @@ +package com.frc6324.lib.io.beambreak; + +import org.littletonrobotics.junction.AutoLog; + +/** + * An I/O layer over a beam break sensor. + * + *

A beam break sensor is a sensor that emits a beam from itself, and has some mechanism that + * detects when the beam is being broken by an object. + * + *

This I/O layer also works for digital Time of Flight (ToF) sensors that report if the detected + * time of flight is below a certain threshold. + */ +public interface BeamBreakIO { + /** + * Updates a set of loggable inputs for this beam break. + * + * @param inputs The inputs to modifiy. + */ + void updateInputs(BeamBreakInputs inputs); + + /** Inputs for a beam break sensor. */ + @AutoLog + class BeamBreakInputs { + /** + * Whether the sensor is connected. + * + *

Note that this is not always accurate, especially when using I/O implementations that have + * no method of reporting connection values (e.g. {@link BeamBreakIODIO}, {@link + * BeamBreakIOFilteredDIO}) + */ + public boolean connected = false; + + /** Whether the sensor is detecting a break in the beam. */ + public boolean broken = false; + } +} diff --git a/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIODIO.java b/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIODIO.java new file mode 100644 index 0000000..cb94074 --- /dev/null +++ b/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIODIO.java @@ -0,0 +1,59 @@ +package com.frc6324.lib.io.beambreak; + +import edu.wpi.first.wpilibj.DigitalInput; + +/** A beam break sensor on one of the RoboRIO's Digital I/O (DIO) ports. */ +public class BeamBreakIODIO implements BeamBreakIO { + /** The DIO sensor. */ + protected final DigitalInput sensor; + + /** Whether the sensor is inverted. */ + private final boolean inverted; + + /** + * Creates a new beam break sensor using a real digital I/O (DIO) device. + * + * @param dioDevice The Digital I/O device to read. + * @param inverted Whether the sensor is inverted. + */ + public BeamBreakIODIO(DigitalInput dioDevice, boolean inverted) { + this.sensor = dioDevice; + this.inverted = inverted; + } + + /** + * Creates a new beam break sensor using a real digital I/O (DIO) device. + * + * @param dioDevice The Digital I/O device to read. + */ + public BeamBreakIODIO(DigitalInput dioDevice) { + this(dioDevice, false); + } + + /** + * Creates a new beam break sensor using a real digital I/O (DIO) device. + * + * @param dioPort The DIO port the device is on. Note that if the device is disconnected, the + * behavior of this I/O layer is not guaranteed. + * @param inverted Whether the sensor is inverted. + */ + public BeamBreakIODIO(int dioPort, boolean inverted) { + this(new DigitalInput(dioPort), inverted); + } + + /** + * Creates a new beam break sensor using a real digital I/O (DIO) device. + * + * @param dioPort The DIO port the device is on. Note that if the device is disconnected, the + * behavior of this I/O layer is not guaranteed. + */ + public BeamBreakIODIO(int dioPort) { + this(new DigitalInput(dioPort), false); + } + + @Override + public void updateInputs(BeamBreakInputs inputs) { + inputs.connected = true; + inputs.broken = Boolean.logicalXor(inverted, sensor.get()); + } +} diff --git a/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIODashboard.java b/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIODashboard.java new file mode 100644 index 0000000..f94ef70 --- /dev/null +++ b/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIODashboard.java @@ -0,0 +1,51 @@ +package com.frc6324.lib.io.beambreak; + +import org.littletonrobotics.junction.networktables.LoggedNetworkBoolean; + +/** + * A beam break sensor that uses a NetworkTables entry to determine the value reported by the sensor + * according to a user. + */ +public final class BeamBreakIODashboard implements BeamBreakIO { + private final LoggedNetworkBoolean networkBoolean; + + /** + * Creates a new beam break sensor with a backing NetworkTables boolean value. + * + *

This implementation is meant to be used during non-replay simulation. + * + * @param networkBoolean The {@link LoggedNetworkBoolean} that represents the sensor value. + */ + public BeamBreakIODashboard(LoggedNetworkBoolean networkBoolean) { + this.networkBoolean = networkBoolean; + } + + /** + * Creates a new beam break sensor with a backing NetworkTables boolean value. + * + *

This implementation is meant to be used during non-replay simulation. + * + * @param key The path to the boolean value in NetworkTables. + */ + public BeamBreakIODashboard(String key) { + this(new LoggedNetworkBoolean(key)); + } + + /** + * Creates a new beam break sensor with a backing NetworkTables boolean value. + * + *

This implementation is meant to be used during non-replay simulation. + * + * @param key The path to the boolean value in NetworkTables. + * @param defaultValue The default value put onto the network. + */ + public BeamBreakIODashboard(String key, boolean defaultValue) { + this(new LoggedNetworkBoolean(key, defaultValue)); + } + + @Override + public void updateInputs(BeamBreakInputs inputs) { + inputs.connected = true; + inputs.broken = networkBoolean.get(); + } +} diff --git a/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIOFilteredDIO.java b/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIOFilteredDIO.java new file mode 100644 index 0000000..e60bbc8 --- /dev/null +++ b/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIOFilteredDIO.java @@ -0,0 +1,92 @@ +package com.frc6324.lib.io.beambreak; + +import static edu.wpi.first.units.Units.Seconds; + +import edu.wpi.first.units.measure.Time; +import edu.wpi.first.wpilibj.DigitalGlitchFilter; +import edu.wpi.first.wpilibj.DigitalInput; +import lombok.Getter; + +/** + * An extension of {@link BeamBreakIODIO} that adds a glitch filter that can reduce noise directly + * in the RoboRIO's FPGA. + * + *

Because of limitations in the RoboRIO's FPGA, only 3 glitch filters can be created for a whole + * robot. If this limit is exceeded, an exception is thrown. + */ +public class BeamBreakIOFilteredDIO extends BeamBreakIODIO { + /** The FPGA glitch filter being used. */ + @Getter private final DigitalGlitchFilter filter; + + /** + * Creates a new beam break sensor using a real digital I/O (DIO) device. + * + *

The caller of this function is responsible for setting the amount of time the sensor must + * report a value for before the FPGA propogates the new value. + * + * @param dioDevice The Digital I/O device to read. + * @param filter The filter to add this sensor to. + * @param inverted Whether the sensor is inverted. + */ + public BeamBreakIOFilteredDIO( + DigitalInput dioDevice, DigitalGlitchFilter filter, boolean inverted) { + super(dioDevice, inverted); + + this.filter = filter; + filter.add(sensor); + } + + /** + * Creates a new beam break sensor using a real digital I/O (DIO) device. + * + * @param dioDevice The Digital I/O device to read. + * @param steadyTime The minimum time a sensor needs to maintain a state before the FPGA + * propogates it to the robot code. + * @param inverted Whether the sensor is inverted. + */ + public BeamBreakIOFilteredDIO(DigitalInput dioDevice, Time steadyTime, boolean inverted) { + super(dioDevice, inverted); + + filter = new DigitalGlitchFilter(); + filter.add(sensor); + + final double periodSeconds = steadyTime.in(Seconds) * 1e9; + filter.setPeriodNanoSeconds((long) periodSeconds); + } + + /** + * Creates a new beam break sensor using a real digital I/O (DIO) device. + * + * @param dioDevice The Digital I/O device to read. + * @param steadyTime The minimum time a sensor needs to maintain a state before the FPGA + * propogates it to the robot code. + */ + public BeamBreakIOFilteredDIO(DigitalInput dioDevice, Time steadyTime) { + this(dioDevice, steadyTime, false); + } + + /** + * Creates a new beam break sensor using a real digital I/O (DIO) device. + * + * @param dioPort The DIO port the device is on. Note that if the device is disconnected, the + * behavior of this I/O layer is not guaranteed. + * @param steadyTime The minimum time a sensor needs to maintain a state before the FPGA + * propogates it to the robot code. + * @param inverted Whether the sensor on {@code dioPort} is inverted. + */ + public BeamBreakIOFilteredDIO(int dioPort, Time steadyTime, boolean inverted) { + this(new DigitalInput(dioPort), steadyTime, inverted); + } + + /** + * Creates a new beam break sensor using a real digital I/O (DIO) device. + * + * @param dioPort The DIO port the device is on. Note that if the device is disconnected, the + * behavior of this I/O layer is not guaranteed. + * @param steadyTime The minimum time a sensor needs to maintain a state before the FPGA + * propogates it to the robot code. + */ + public BeamBreakIOFilteredDIO(int dioPort, Time steadyTime) { + this(dioPort, steadyTime, false); + } +} diff --git a/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIOSupplier.java b/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIOSupplier.java new file mode 100644 index 0000000..24a1e49 --- /dev/null +++ b/src/main/java/com/frc6324/lib/io/beambreak/BeamBreakIOSupplier.java @@ -0,0 +1,49 @@ +package com.frc6324.lib.io.beambreak; + +import java.util.function.BooleanSupplier; +import java.util.function.Supplier; + +/** + * A beam break sensor that uses a Java function to determine the value reported by the "sensor" or + * simulation implementation. + */ +public final class BeamBreakIOSupplier implements BeamBreakIO { + private final BooleanSupplier supplier; + + /** + * Creates a new implementation of a "beam break" sensor given a function that returns a boolean. + * + *

This implementation is meant to be used during non-replay simulation. + * + * @param supplier The function to call periodically that returns if the sensor is broken. + */ + public BeamBreakIOSupplier(BooleanSupplier supplier) { + this.supplier = supplier; + } + + /** + * Creates a new implementation of a "beam break" sensor given a function that returns a boolean. + * + *

This implementation is meant to be used during non-replay simulation. + * + * @param supplier The function to call periodically that returns if the sensor is broken. + */ + public BeamBreakIOSupplier(Supplier supplier) { + // Simply wrap the supplier to get the underlying primitive + this(() -> supplier.get().booleanValue()); + } + + @Override + public void updateInputs(BeamBreakInputs inputs) { + try { + // Try to call the function + inputs.connected = true; + inputs.broken = supplier.getAsBoolean(); + } catch (Exception e) { + // If the function throws an exception, propogate the exception and mark the sensor as + // disconnected. + inputs.connected = false; + throw e; + } + } +} diff --git a/src/main/java/com/frc6324/lib/io/distance/DistanceSensorIO.java b/src/main/java/com/frc6324/lib/io/distance/DistanceSensorIO.java new file mode 100644 index 0000000..6dfa943 --- /dev/null +++ b/src/main/java/com/frc6324/lib/io/distance/DistanceSensorIO.java @@ -0,0 +1,23 @@ +package com.frc6324.lib.io.distance; + +import static edu.wpi.first.units.Units.Meters; + +import edu.wpi.first.units.measure.Distance; +import org.littletonrobotics.junction.AutoLog; + +@FunctionalInterface +public interface DistanceSensorIO { + default boolean isActive() { + return false; + } + + void updateInputs(DistanceSensorInputs inputs); + + @AutoLog + public class DistanceSensorInputs { + public boolean connected = false; + + public Distance detectedDistance = Meters.zero(); + public Distance distanceStddev = Meters.zero(); + } +} diff --git a/src/main/java/com/frc6324/lib/io/distance/DistanceSensorIOCANrange.java b/src/main/java/com/frc6324/lib/io/distance/DistanceSensorIOCANrange.java new file mode 100644 index 0000000..ab2a914 --- /dev/null +++ b/src/main/java/com/frc6324/lib/io/distance/DistanceSensorIOCANrange.java @@ -0,0 +1,47 @@ +package com.frc6324.lib.io.distance; + +import static com.frc6324.lib.util.PhoenixUtil.tryUntilOk; + +import com.ctre.phoenix6.BaseStatusSignal; +import com.ctre.phoenix6.CANBus; +import com.ctre.phoenix6.StatusSignal; +import com.ctre.phoenix6.configs.CANrangeConfiguration; +import com.ctre.phoenix6.hardware.CANrange; +import edu.wpi.first.units.measure.Distance; + +public class DistanceSensorIOCANrange implements DistanceSensorIO { + private final CANrange canrange; + + private final StatusSignal detectedDistance; + private final StatusSignal detectedDistanceStddev; + private final StatusSignal hasDetection; + + private final BaseStatusSignal[] signals; + + public DistanceSensorIOCANrange(int id, CANBus bus, CANrangeConfiguration config) { + canrange = new CANrange(id, bus); + + tryUntilOk(5, () -> canrange.getConfigurator().apply(config, 0.25)); + + detectedDistance = canrange.getDistance(); + detectedDistanceStddev = canrange.getDistanceStdDev(); + hasDetection = canrange.getIsDetected(); + signals = new BaseStatusSignal[] {detectedDistance, detectedDistanceStddev, hasDetection}; + + BaseStatusSignal.setUpdateFrequencyForAll(100, signals); + canrange.optimizeBusUtilization(0, 0.25); + } + + @Override + public boolean isActive() { + return BaseStatusSignal.isAllGood(signals) && hasDetection.getValue(); + } + + @Override + public void updateInputs(DistanceSensorInputs inputs) { + inputs.connected = BaseStatusSignal.isAllGood(signals); + + inputs.detectedDistance = detectedDistance.getValue(); + inputs.distanceStddev = detectedDistanceStddev.getValue(); + } +} diff --git a/src/main/java/com/frc6324/lib/io/distance/DistanceSensorIOSupplier.java b/src/main/java/com/frc6324/lib/io/distance/DistanceSensorIOSupplier.java new file mode 100644 index 0000000..a0e8802 --- /dev/null +++ b/src/main/java/com/frc6324/lib/io/distance/DistanceSensorIOSupplier.java @@ -0,0 +1,26 @@ +package com.frc6324.lib.io.distance; + +import static edu.wpi.first.units.Units.Meters; + +import edu.wpi.first.units.measure.Distance; +import java.util.function.DoubleSupplier; +import java.util.function.Supplier; + +public class DistanceSensorIOSupplier implements DistanceSensorIO { + private final Supplier distanceSupplier; + + public DistanceSensorIOSupplier(DoubleSupplier supplier) { + this(() -> Meters.of(supplier.getAsDouble())); + } + + public DistanceSensorIOSupplier(Supplier distanceSupplier) { + this.distanceSupplier = distanceSupplier; + } + + @Override + public void updateInputs(DistanceSensorInputs inputs) { + inputs.connected = true; + inputs.distanceStddev = Meters.zero(); + inputs.detectedDistance = distanceSupplier.get(); + } +} diff --git a/src/main/java/com/frc6324/lib/util/Allocated.java b/src/main/java/com/frc6324/lib/util/Allocated.java new file mode 100644 index 0000000..13cd4ae --- /dev/null +++ b/src/main/java/com/frc6324/lib/util/Allocated.java @@ -0,0 +1,20 @@ +package com.frc6324.lib.util; + +import java.util.function.Supplier; + +public final class Allocated implements Supplier { + private T value; + + public Allocated(T value) { + set(value); + } + + @Override + public T get() { + return value; + } + + public void set(T newValue) { + value = newValue; + } +} diff --git a/src/main/java/com/frc6324/lib/util/CommonUtils.java b/src/main/java/com/frc6324/lib/util/CommonUtils.java new file mode 100644 index 0000000..7091235 --- /dev/null +++ b/src/main/java/com/frc6324/lib/util/CommonUtils.java @@ -0,0 +1,48 @@ +package com.frc6324.lib.util; + +import static edu.wpi.first.units.Units.*; + +import com.frc6324.lib.UninstantiableClass; +import edu.wpi.first.units.LinearAccelerationUnit; +import edu.wpi.first.units.measure.Angle; +import edu.wpi.first.units.measure.AngularVelocity; +import edu.wpi.first.units.measure.Distance; +import edu.wpi.first.units.measure.LinearVelocity; +import org.jetbrains.annotations.Contract; + +@UninstantiableClass +public final class CommonUtils { + public static final LinearAccelerationUnit MetersPerSecSquared = MetersPerSecondPerSecond; + + public static final Angle NINETY_DEGREES = Degrees.of(90); + + /** + * Gets the distance a wheel with the given radius has traveled, given this rotation is the amount + * it has turned. + * + * @param angle The amount the wheel has turned. This must be a cumulative angle! + * @param radius The radius of the wheel. + * @return The distance the wheel has traveled. + */ + public static Distance getDistanceTraveled(Angle angle, Distance radius) { + final double dist = radius.in(Meters) * angle.in(Radians); + return Meters.of(dist); + } + + /** + * Gets the linear velocity of a spinning mechanism given the size of the wheel. + * + * @param velocity The speed of the mechanism. + * @param radius The radius of the wheel. + * @return The current linear velocity of the mechanism. + */ + public static LinearVelocity getVelocity(AngularVelocity velocity, Distance radius) { + final double dist = radius.in(Meters) * velocity.in(RadiansPerSecond); + return MetersPerSecond.of(dist); + } + + @Contract("-> fail") + private CommonUtils() { + throw new IllegalAccessError(); + } +} diff --git a/src/main/java/com/frc6324/lib/util/DeltaTimeCalculator.java b/src/main/java/com/frc6324/lib/util/DeltaTimeCalculator.java index 31574e1..9ed27ff 100644 --- a/src/main/java/com/frc6324/lib/util/DeltaTimeCalculator.java +++ b/src/main/java/com/frc6324/lib/util/DeltaTimeCalculator.java @@ -16,7 +16,7 @@ package com.frc6324.lib.util; -import static edu.wpi.first.units.Units.Seconds; +import static edu.wpi.first.units.Units.*; import edu.wpi.first.units.measure.Time; import edu.wpi.first.wpilibj.RobotController; diff --git a/src/main/java/com/frc6324/lib/util/Elastic.java b/src/main/java/com/frc6324/lib/util/Elastic.java index 1b0c0ac..ffc6bce 100644 --- a/src/main/java/com/frc6324/lib/util/Elastic.java +++ b/src/main/java/com/frc6324/lib/util/Elastic.java @@ -9,10 +9,10 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.frc6324.lib.UninstantiableClass; -import edu.wpi.first.networktables.NetworkTableInstance; -import edu.wpi.first.networktables.PubSubOption; -import edu.wpi.first.networktables.StringPublisher; -import edu.wpi.first.networktables.StringTopic; +import edu.wpi.first.hal.FRCNetComm.tInstances; +import edu.wpi.first.hal.FRCNetComm.tResourceType; +import edu.wpi.first.hal.HAL; +import edu.wpi.first.networktables.*; import org.jetbrains.annotations.Contract; /** A utility class for interacting with the Elastic dashboard. */ @@ -28,6 +28,10 @@ public final class Elastic { selectedTabTopic.publish(PubSubOption.keepDuplicates(true)); private static final ObjectMapper objectMapper = new ObjectMapper(); + static { + HAL.report(tResourceType.kResourceType_Dashboard, tInstances.kDashboard_Elastic); + } + @Contract(" -> fail") private Elastic() { throw new IllegalAccessError(); diff --git a/src/main/java/com/frc6324/lib/util/FieldConstants.java b/src/main/java/com/frc6324/lib/util/FieldConstants.java index 8b81736..3eb3d56 100644 --- a/src/main/java/com/frc6324/lib/util/FieldConstants.java +++ b/src/main/java/com/frc6324/lib/util/FieldConstants.java @@ -9,10 +9,10 @@ import com.frc6324.lib.UninstantiableClass; import edu.wpi.first.apriltag.AprilTagFieldLayout; -import edu.wpi.first.math.geometry.Pose2d; -import edu.wpi.first.math.geometry.Translation2d; -import edu.wpi.first.math.geometry.Translation3d; +import edu.wpi.first.math.geometry.*; import edu.wpi.first.math.util.Units; +import edu.wpi.first.wpilibj.DriverStation; +import edu.wpi.first.wpilibj.DriverStation.Alliance; import edu.wpi.first.wpilibj.Filesystem; import java.io.IOException; import java.nio.file.Path; @@ -27,7 +27,7 @@ */ @UninstantiableClass public final class FieldConstants { - public static final FieldType FIELD_TYPE = FieldType.WELDED; + public static final FieldType FIELD_TYPE = FieldType.ANDYMARK; // AprilTag related constants public static final int APRILTAG_COUNT = AprilTagLayoutType.OFFICIAL.getLayout().getTags().size(); @@ -142,6 +142,11 @@ public static class Hub { AprilTagLayoutType.OFFICIAL.getLayout().getTagPose(18).get().toPose2d(); public static final Pose2d LEFT_FACE = AprilTagLayoutType.OFFICIAL.getLayout().getTagPose(21).get().toPose2d(); + + public static final Pose2d BLUE_HUB = + new Pose2d(TOP_CENTER_POINT.toTranslation2d(), Rotation2d.kZero); + public static final Pose2d RED_HUB = + new Pose2d(OPP_TOP_CENTER_POINT.toTranslation2d(), Rotation2d.kZero); } /** Left Bump related constants */ @@ -315,6 +320,20 @@ public static class Outpost { new Translation2d(0, AprilTagLayoutType.OFFICIAL.getLayout().getTagPose(29).get().getY()); } + public static Pose2d getAllianceHub() { + return switch (DriverStation.getAlliance().orElse(Alliance.Blue)) { + case Blue -> Hub.BLUE_HUB; + case Red -> Hub.RED_HUB; + }; + } + + public static boolean isInAllianceZone(Pose2d pose) { + return switch (DriverStation.getAlliance().orElse(Alliance.Blue)) { + case Blue -> pose.getX() < LinesVertical.ALLIANCE_ZONE; + case Red -> pose.getX() > LinesVertical.OPP_ALIANCE_ZONE; + }; + } + @RequiredArgsConstructor public enum FieldType { ANDYMARK("andymark"), diff --git a/src/main/java/com/frc6324/lib/util/LocalADStarAK.java b/src/main/java/com/frc6324/lib/util/LocalADStarAK.java new file mode 100644 index 0000000..7f1edee --- /dev/null +++ b/src/main/java/com/frc6324/lib/util/LocalADStarAK.java @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2025 The Blue Devils. + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.frc6324.lib.util; + +import com.pathplanner.lib.path.*; +import com.pathplanner.lib.pathfinding.LocalADStar; +import edu.wpi.first.math.Pair; +import edu.wpi.first.math.geometry.Translation2d; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import org.littletonrobotics.junction.LogTable; +import org.littletonrobotics.junction.Logger; +import org.littletonrobotics.junction.inputs.LoggableInputs; + +public class LocalADStarAK extends LocalADStar implements LoggableInputs { + private boolean isNewPathAvailable = false; + private List currentPathPoints = Collections.emptyList(); + + /** + * Get if a new path has been calculated since the last time a path was retrieved + * + * @return True if a new path is available + */ + @Override + public boolean isNewPathAvailable() { + if (!Logger.hasReplaySource()) { + isNewPathAvailable = super.isNewPathAvailable(); + } + + Logger.processInputs("LocalADStarAK", this); + + return isNewPathAvailable; + } + + /** + * Get the most recently calculated path + * + * @param constraints The path constraints to use when creating the path + * @param goalEndState The goal end state to use when creating the path + * @return The PathPlannerPath created from the points calculated by the pathfinder + */ + @Override + public PathPlannerPath getCurrentPath(PathConstraints constraints, GoalEndState goalEndState) { + if (!Logger.hasReplaySource()) { + PathPlannerPath currentPath = super.getCurrentPath(constraints, goalEndState); + + if (currentPath != null) { + currentPathPoints = currentPath.getAllPathPoints(); + } else { + currentPathPoints = Collections.emptyList(); + } + } + + Logger.processInputs("LocalADStarAK", this); + + if (currentPathPoints.isEmpty()) { + return null; + } + + return PathPlannerPath.fromPathPoints(currentPathPoints, constraints, goalEndState); + } + + @Override + public void setStartPosition(Translation2d startPosition) { + if (!Logger.hasReplaySource()) { + super.setStartPosition(startPosition); + } + } + + @Override + public void setGoalPosition(Translation2d goalPosition) { + if (!Logger.hasReplaySource()) { + super.setGoalPosition(goalPosition); + } + } + + @Override + public void setDynamicObstacles( + List> obs, Translation2d currentRobotPos) { + if (!Logger.hasReplaySource()) { + super.setDynamicObstacles(obs, currentRobotPos); + } + } + + @Override + public void toLog(LogTable table) { + table.put("IsNewPathAvailable", isNewPathAvailable); + + double[] pointsLogged = new double[currentPathPoints.size() * 2]; + int idx = 0; + for (PathPoint point : currentPathPoints) { + pointsLogged[idx] = point.position.getX(); + pointsLogged[idx + 1] = point.position.getY(); + idx += 2; + } + + table.put("CurrentPathPoints", pointsLogged); + } + + @Override + @SuppressWarnings("nullness") + public void fromLog(LogTable table) { + isNewPathAvailable = table.get("IsNewPathAvailable", false); + + double[] pointsLogged = table.get("CurrentPathPoints", new double[0]); + + List pathPoints = new ArrayList<>(); + for (int i = 0; i < pointsLogged.length; i += 2) { + pathPoints.add(new PathPoint(new Translation2d(pointsLogged[i], pointsLogged[i + 1]), null)); + } + + currentPathPoints = pathPoints; + } +} diff --git a/src/main/java/com/frc6324/lib/util/LoggedTracer.java b/src/main/java/com/frc6324/lib/util/LoggedTracer.java new file mode 100644 index 0000000..7f43080 --- /dev/null +++ b/src/main/java/com/frc6324/lib/util/LoggedTracer.java @@ -0,0 +1,30 @@ +// Copyright (c) 2025-2026 Littleton Robotics +// http://github.com/Mechanical-Advantage +// +// Use of this source code is governed by an MIT-style +// license that can be found in the LICENSE file at +// the root directory of this project. + +package com.frc6324.lib.util; + +import edu.wpi.first.wpilibj.Timer; +import org.littletonrobotics.junction.Logger; + +/** Utility class for logging code execution times. */ +public class LoggedTracer { + private LoggedTracer() {} + + private static double startTime = -1.0; + + /** Reset the clock. */ + public static void reset() { + startTime = Timer.getFPGATimestamp(); + } + + /** Save the time elapsed since the last reset or record. */ + public static void record(String epochName) { + final double now = Timer.getFPGATimestamp(); + Logger.recordOutput("LoggedTracer/" + epochName + "MS", (now - startTime) * 1000.0); + startTime = now; + } +} diff --git a/src/main/java/com/frc6324/lib/util/PhoenixUtil.java b/src/main/java/com/frc6324/lib/util/PhoenixUtil.java index 22a12b2..4d74a1b 100644 --- a/src/main/java/com/frc6324/lib/util/PhoenixUtil.java +++ b/src/main/java/com/frc6324/lib/util/PhoenixUtil.java @@ -7,8 +7,15 @@ package com.frc6324.lib.util; +import static edu.wpi.first.units.Units.Hertz; + +import com.ctre.phoenix6.BaseStatusSignal; import com.ctre.phoenix6.StatusCode; +import com.ctre.phoenix6.StatusSignalCollection; +import com.ctre.phoenix6.hardware.ParentDevice; import com.frc6324.lib.UninstantiableClass; +import com.frc6324.robot2026.Constants; +import edu.wpi.first.units.measure.Frequency; import edu.wpi.first.wpilibj.DriverStation; import java.util.function.Supplier; @@ -18,6 +25,9 @@ private PhoenixUtil() { throw new IllegalAccessError(); } + private static final Frequency SIGNAL_FREQUENCY = Hertz.of(100); + private static final StatusSignalCollection canivoreSignals = new StatusSignalCollection(); + /** Attempts to run the command until no error is produced. */ public static void tryUntilOk(int maxAttempts, Supplier command, String message) { StatusCode error = StatusCode.StatusCodeNotInitialized; @@ -34,11 +44,30 @@ public static void tryUntilOk(int maxAttempts, Supplier command, Str } public static void tryUntilOk(int maxAttempts, Supplier command) { - for (int i = 0; i < maxAttempts; i++) { - final StatusCode status = command.get(); - if (status.isOK()) { - break; - } + tryUntilOk(maxAttempts, command, "Error trying to apply phoenix command: "); + } + + /** + * Adds a group of status signals to the robot's cache for more efficient refreshing. + * + * @param device The device the signals are on. This device must be on the robot's CANivore. + * @param signals The signals to add to the cache. + */ + public static void addSignals(ParentDevice device, BaseStatusSignal... signals) { + if (device.getNetwork() != Constants.CANIVORE) { + throw new IllegalArgumentException( + "Signals added to PhoenixUtil must be on the CANivore bus."); } + + BaseStatusSignal.setUpdateFrequencyForAll(SIGNAL_FREQUENCY, signals); + canivoreSignals.addSignals(signals); + } + + public static void synchronizeSignals(double timeout) { + canivoreSignals.waitForAll(timeout); + } + + public static void refreshAllSignals() { + canivoreSignals.refreshAll(); } } diff --git a/src/main/java/com/frc6324/lib/util/PoseExtensions.java b/src/main/java/com/frc6324/lib/util/PoseExtensions.java index d244c0b..f8e06f3 100644 --- a/src/main/java/com/frc6324/lib/util/PoseExtensions.java +++ b/src/main/java/com/frc6324/lib/util/PoseExtensions.java @@ -33,6 +33,20 @@ private PoseExtensions() { throw new IllegalAccessError(); } + public static double getNorm(Pose2d pose) { + return pose.getTranslation().getNorm(); + } + + public static double getDistance(Pose2d lhs, Pose2d rhs) { + return lhs.getTranslation().getDistance(rhs.getTranslation()); + } + + public static boolean boundedWithinX(Pose2d pose, double xMin, double xMax) { + final double x = pose.getX(); + + return x >= xMin && x <= xMax; + } + @Contract("_, _ -> new") public static @NotNull Pose2d plus(@NotNull Pose2d lhs, @NotNull Pose2d rhs) { return new Pose2d( diff --git a/src/main/java/com/frc6324/lib/util/VirtualSubsystem.java b/src/main/java/com/frc6324/lib/util/VirtualSubsystem.java new file mode 100644 index 0000000..73d74ad --- /dev/null +++ b/src/main/java/com/frc6324/lib/util/VirtualSubsystem.java @@ -0,0 +1,18 @@ +package com.frc6324.lib.util; + +import java.util.ArrayList; +import java.util.List; + +public abstract class VirtualSubsystem { + private static final List SUBSYSTEMS = new ArrayList<>(); + + protected VirtualSubsystem() { + SUBSYSTEMS.add(this); + } + + public static void allPeriodics() { + SUBSYSTEMS.forEach(VirtualSubsystem::periodic); + } + + public abstract void periodic(); +} diff --git a/src/main/java/com/frc6324/robot2026/Robot.java b/src/main/java/com/frc6324/robot2026/Robot.java index e1c427c..ccb01f2 100644 --- a/src/main/java/com/frc6324/robot2026/Robot.java +++ b/src/main/java/com/frc6324/robot2026/Robot.java @@ -16,21 +16,30 @@ package com.frc6324.robot2026; import com.ctre.phoenix6.SignalLogger; +import com.frc6324.lib.util.LoggedTracer; +import com.frc6324.lib.util.PhoenixUtil; +import com.frc6324.lib.util.VirtualSubsystem; +import com.frc6324.robot2026.sim.MapleSimManager; import edu.wpi.first.wpilibj.DriverStation; +import edu.wpi.first.wpilibj.DriverStation.Alliance; import edu.wpi.first.wpilibj.RobotBase; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.CommandScheduler; +import java.util.Optional; import lombok.val; import org.littletonrobotics.junction.LogFileUtil; import org.littletonrobotics.junction.LoggedRobot; import org.littletonrobotics.junction.Logger; +import org.littletonrobotics.junction.networktables.LoggedDashboardChooser; import org.littletonrobotics.junction.networktables.NT4Publisher; import org.littletonrobotics.junction.wpilog.WPILOGReader; import org.littletonrobotics.junction.wpilog.WPILOGWriter; public class Robot extends LoggedRobot { - private Command autonomousCommand; + public static Alliance autoWinner = Alliance.Blue; + private static LoggedDashboardChooser autoWinnerOverride; + private Command autonomousCommand = null; private final RobotContainer robotContainer; private final Runtime runtime = Runtime.getRuntime(); @@ -82,14 +91,73 @@ public Robot() { // Start the akit logger Logger.start(); + autoWinnerOverride = new LoggedDashboardChooser<>("Auto Winner"); + autoWinnerOverride.addDefaultOption("Blue", Alliance.Blue); + autoWinnerOverride.addOption("Red", Alliance.Red); + // Initialize the robot container robotContainer = new RobotContainer(); + PhoenixUtil.synchronizeSignals(2); + } + + /** + * Gets if the current alliance has an active hub. + * + * @return Whether the current alliance's hub is active. + */ + public static boolean getIsAllianceActive() { + // If we're in autonomous, both hubs are active + if (DriverStation.isAutonomous()) { + return true; + } + + final Optional selfAllianceOpt = DriverStation.getAlliance(); + if (selfAllianceOpt.isEmpty()) { + return false; + } + + final Alliance selfAlliance = selfAllianceOpt.get(); + final double teleopTime = DriverStation.getMatchTime(); + + // In the first 10 secs of teleop and the last 30 secs, both hubs are active + if (teleopTime >= 130 || teleopTime <= 30) { + return true; + } else if ((teleopTime <= 105 && teleopTime >= 80) || (teleopTime <= 55 && teleopTime >= 30)) { + return autoWinner == selfAlliance; + } else { + return autoWinner != selfAlliance; + } + } + + /** + * Gets the time left in the current phase. + * + * @return The time left for the current active hub. + */ + public static double getTimeLeftInPhase() { + if (DriverStation.isDisabled()) { + Logger.recordOutput("Match/Phase", "Not tele :/"); + return 0; + } + + final double teleopTime = DriverStation.getMatchTime(); + + if (teleopTime >= 130.0) { + Logger.recordOutput("Match/Phase", "After Auto"); + return teleopTime - 130; + } else if (teleopTime <= 30.0) { + Logger.recordOutput("Match/Phase", "Endgame"); + return teleopTime; + } else { + Logger.recordOutput("Match/Phase", "One Hub"); + return (teleopTime - 30) % 25; + } } @Override public void robotPeriodic() { Logger.runEveryN( - 25, + 5, () -> { val totalMemory = runtime.totalMemory(); val usedMemory = totalMemory - runtime.freeMemory(); @@ -97,12 +165,23 @@ public void robotPeriodic() { Logger.recordOutput("Robot/Used Memory %", utilization * 100); }); + Logger.recordOutput("Match/Hub Active", getIsAllianceActive()); + Logger.recordOutput("Match/Phase Time", getTimeLeftInPhase()); // Set thread to highest priority to improve performance // Threads.setCurrentThreadPriority(true, 99); // Runs the command scheduler + + LoggedTracer.reset(); + PhoenixUtil.refreshAllSignals(); + LoggedTracer.record("Phoenix Refresh"); + + VirtualSubsystem.allPeriodics(); + LoggedTracer.record("Virtual Subsystems"); + CommandScheduler.getInstance().run(); + LoggedTracer.record("Command Scheduler"); // Set the thread to low priority to let other things run (such as NT) // Threads.setCurrentThreadPriority(false, 10); @@ -132,7 +211,9 @@ public void autonomousInit() { public void autonomousPeriodic() {} @Override - public void autonomousExit() {} + public void autonomousExit() { + autoWinner = Alliance.Blue; + } @Override public void teleopInit() { @@ -143,7 +224,19 @@ public void teleopInit() { } @Override - public void teleopPeriodic() {} + public void teleopPeriodic() { + if (DriverStation.isFMSAttached()) { + switch (DriverStation.getGameSpecificMessage()) { + case "B" -> autoWinner = Alliance.Blue; + case "R" -> autoWinner = Alliance.Red; + default -> autoWinner = null; + } + } + + if (autoWinner == null) { + autoWinner = autoWinnerOverride.get(); + } + } @Override public void teleopExit() {} @@ -159,4 +252,9 @@ public void testPeriodic() {} @Override public void testExit() {} + + @Override + public void simulationPeriodic() { + MapleSimManager.getInstance().simulationPeriodic(); + } } diff --git a/src/main/java/com/frc6324/robot2026/RobotContainer.java b/src/main/java/com/frc6324/robot2026/RobotContainer.java index 9af58dc..afcc180 100644 --- a/src/main/java/com/frc6324/robot2026/RobotContainer.java +++ b/src/main/java/com/frc6324/robot2026/RobotContainer.java @@ -17,86 +17,180 @@ import static com.frc6324.robot2026.Constants.*; +import com.frc6324.lib.util.FieldConstants.LinesVertical; import com.frc6324.lib.util.IOLayer; +import com.frc6324.lib.util.PoseExtensions; +import com.frc6324.robot2026.commands.AutoCommands; +import com.frc6324.robot2026.commands.AutoCommands.AllianceSide; import com.frc6324.robot2026.commands.DriveCommands; +import com.frc6324.robot2026.commands.ShooterCommands; +import com.frc6324.robot2026.commands.ShooterCommands.*; +import com.frc6324.robot2026.subsystems.drive.*; import com.frc6324.robot2026.subsystems.drive.DriveIO.DriveIOReplay; -import com.frc6324.robot2026.subsystems.drive.DriveIOCTRE; -import com.frc6324.robot2026.subsystems.drive.DriveIOSim; -import com.frc6324.robot2026.subsystems.drive.SwerveDrive; -import com.frc6324.robot2026.subsystems.vision.apriltag.AprilTagIOPhoton; -import com.frc6324.robot2026.subsystems.vision.apriltag.AprilTagIOSim; -import com.frc6324.robot2026.subsystems.vision.apriltag.AprilTagVision; -import com.frc6324.robot2026.subsystems.vision.objdetect.ObjectDetection; +import com.frc6324.robot2026.subsystems.indexer.*; +import com.frc6324.robot2026.subsystems.intake.*; +import com.frc6324.robot2026.subsystems.leds.LEDs; +import com.frc6324.robot2026.subsystems.leds.LEDs.LEDState; +import com.frc6324.robot2026.subsystems.rollers.*; +import com.frc6324.robot2026.subsystems.shooter.*; +import com.frc6324.robot2026.subsystems.vision.apriltag.*; +import com.frc6324.robot2026.subsystems.vision.objdetect.*; +import edu.wpi.first.wpilibj.PowerDistribution; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Commands; import edu.wpi.first.wpilibj2.command.button.CommandXboxController; +import lombok.experimental.ExtensionMethod; +import org.littletonrobotics.junction.LoggedPowerDistribution; +import org.littletonrobotics.junction.networktables.LoggedDashboardChooser; +@ExtensionMethod(PoseExtensions.class) +@SuppressWarnings("unused") public class RobotContainer { - // private final Climber climber; + private final AprilTagVision apriltag; + private final Indexer indexer; + private final Intake intake; + private final LEDs leds = new LEDs(); + private final Rollers rollers; + private final Shooter shooter; private final SwerveDrive drive; - @SuppressWarnings("unused") - private final AprilTagVision visionOdometry; - - @SuppressWarnings("unused") - private final ObjectDetection objectDetection; + private final PowerDistribution pdh = new PowerDistribution(); + private final LoggedPowerDistribution loggedPDH = + LoggedPowerDistribution.getInstance(pdh.getModule(), pdh.getType()); + private final LoggedDashboardChooser autoChooser = + new LoggedDashboardChooser<>("Auto Selection"); private final CommandXboxController controller = new CommandXboxController(DRIVER_CONTROLLER_PORT); public RobotContainer() { + pdh.setSwitchableChannel(true); + switch (Constants.CURRENT_MODE) { case REAL -> { - // climber = new Climber(new ClimberIOTalonFX()); + final DriveIOCTRE driveIO = new DriveIOCTRE(); + drive = new SwerveDrive(driveIO); - final DriveIOCTRE realDrive = new DriveIOCTRE(); - drive = new SwerveDrive(realDrive); - - visionOdometry = + intake = new Intake(new IntakeIOTalonFX()); + apriltag = new AprilTagVision( - new AprilTagIOPhoton(realDrive::samplePoseAt), - new AprilTagIOPhoton(realDrive::samplePoseAt), - new AprilTagIOPhoton(realDrive::samplePoseAt), - new AprilTagIOPhoton(realDrive::samplePoseAt)) + new AprilTagIOPhoton(driveIO, intake::visionAvailable), + new AprilTagIOPhoton(driveIO)) .withConsumer(drive); - - objectDetection = new ObjectDetection(); + indexer = new Indexer(new IndexerIOTalonFX()); + rollers = new Rollers(new RollerIOTalonFX()); + shooter = new Shooter(new ShooterIOTalonFX()); } case SIM -> { - // climber = new Climber(new ClimberIOSim()); + final DriveIOSim driveIO = new DriveIOSim(); + drive = new SwerveDrive(driveIO); - final DriveIOSim simDrive = new DriveIOSim(); - drive = new SwerveDrive(simDrive); - - visionOdometry = + apriltag = new AprilTagVision( - new AprilTagIOSim(simDrive::samplePoseAt, drive), - new AprilTagIOSim(simDrive::samplePoseAt, drive), - new AprilTagIOSim(simDrive::samplePoseAt, drive), - new AprilTagIOSim(simDrive::samplePoseAt, drive)); - objectDetection = new ObjectDetection(); + new AprilTagIOSim(driveIO, drive), new AprilTagIOSim(driveIO, drive)); + indexer = new Indexer(new IndexerIOSim()); + intake = new Intake(new IntakeIOSim()); + rollers = new Rollers(new RollerIOSim()); + shooter = new Shooter(new ShooterIOSim()); } default -> { - // climber = new Climber(IOLayer::replay); drive = new SwerveDrive(new DriveIOReplay()); - visionOdometry = - new AprilTagVision(IOLayer::replay, IOLayer::replay, IOLayer::replay, IOLayer::replay); - objectDetection = new ObjectDetection(IOLayer::replay); + + apriltag = new AprilTagVision(IOLayer::replay, IOLayer::replay); + indexer = new Indexer(IOLayer::replay); + intake = new Intake(IOLayer::replay); + rollers = new Rollers(IOLayer::replay); + shooter = new Shooter(IOLayer::replay); } } + autoChooser.addDefaultOption("No Auto", Commands.none()); + autoChooser.addOption( + "Left Trench Auto", + AutoCommands.trenchAuto(drive, indexer, intake, rollers, shooter, AllianceSide.Left)); + autoChooser.addOption( + "Right Trench Auto", + AutoCommands.trenchAuto(drive, indexer, intake, rollers, shooter, AllianceSide.Right)); + configureBindings(); } private void configureBindings() { drive.setDefaultCommand(DriveCommands.joystickDrive(drive, controller.getHID())); - // Bind climber commands to the D-pad - - // controller.povUp().whileTrue(climber.stow()).onFalse(climber.stop()); - // controller.povDown().whileTrue(climber.deploy()).onFalse(climber.stop()); + shooter.setDefaultCommand(new IdleShooterCommand(shooter, drive)); + + intake.setDefaultCommand( + intake.run( + () -> { + if (drive + .getPose() + .boundedWithinX( + LinesVertical.NEUTRAL_ZONE_NEAR, LinesVertical.NEUTRAL_ZONE_FAR)) { + intake.deploy(); + } + })); + rollers.setDefaultCommand( + rollers.runEnd( + () -> { + if (drive + .getPose() + .boundedWithinX( + LinesVertical.NEUTRAL_ZONE_NEAR, LinesVertical.NEUTRAL_ZONE_FAR)) { + rollers.spinRollers(); + LEDState.intaking = true; + } else { + rollers.stopRollers(); + LEDState.intaking = false; + } + }, + () -> LEDState.intaking = false)); + + indexer.setDefaultCommand( + indexer.run( + () -> { + indexer.stopIndexerWheel(); + indexer.stopKickerWheel(); + })); + + controller + .leftTrigger() + .whileTrue( + Commands.runEnd( + () -> { + intake.deploy(); + rollers.spinRollers(); + + LEDState.intaking = true; + }, + () -> LEDState.intaking = false, + intake, + rollers)) + .onFalse(rollers.run(rollers::stopRollers)); + + controller.a().whileTrue(intake.run(intake::retract)); + controller + .b() + .whileTrue( + Commands.runEnd( + () -> { + intake.deploy(); + rollers.outtake(); + + LEDState.outtaking = true; + }, + () -> LEDState.outtaking = false, + rollers, + intake)); + controller.b().whileTrue(rollers.run(rollers::outtake)); + + controller + .rightTrigger() + .whileTrue( + ShooterCommands.genericShootCommand( + drive, indexer, intake, rollers, shooter, controller)); } public Command getAutonomousCommand() { - return Commands.print("No autonomous command configured"); + return autoChooser.get(); } } diff --git a/src/main/java/com/frc6324/robot2026/commands/AutoCommands.java b/src/main/java/com/frc6324/robot2026/commands/AutoCommands.java new file mode 100644 index 0000000..0c2d63e --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/commands/AutoCommands.java @@ -0,0 +1,63 @@ +package com.frc6324.robot2026.commands; + +import static edu.wpi.first.units.Units.Seconds; + +import com.frc6324.lib.UninstantiableClass; +import com.frc6324.lib.util.PoseExtensions; +import com.frc6324.robot2026.commands.ShooterCommands.ShootIntoHubCommand; +import com.frc6324.robot2026.subsystems.drive.SwerveDrive; +import com.frc6324.robot2026.subsystems.indexer.Indexer; +import com.frc6324.robot2026.subsystems.intake.Intake; +import com.frc6324.robot2026.subsystems.rollers.Rollers; +import com.frc6324.robot2026.subsystems.shooter.Shooter; +import com.pathplanner.lib.auto.AutoBuilder; +import com.pathplanner.lib.path.PathPlannerPath; +import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.Commands; +import lombok.experimental.ExtensionMethod; + +@ExtensionMethod(PoseExtensions.class) +@UninstantiableClass +public final class AutoCommands { + public static enum AllianceSide { + Left, + Right; + } + + private AutoCommands() { + throw new IllegalAccessError(); + } + + public static Command trenchAuto( + SwerveDrive drive, + Indexer indexer, + Intake intake, + Rollers rollers, + Shooter shooter, + AllianceSide side) { + PathPlannerPath intakePath; + try { + intakePath = PathPlannerPath.fromPathFile("Trench First Intake"); + } catch (Exception e) { + e.printStackTrace(); + + return Commands.none().withName(side + " trench auto [MISSING PATH FILE]"); + } + + if (side == AllianceSide.Right) { + intakePath = intakePath.mirrorPath(); + } + + return Commands.sequence( + Commands.parallel(intake.run(intake::deploy), shooter.run(shooter::stowHood)) + .until(intake::isSafeToTrench), + AutoBuilder.followPath(intakePath) + .alongWith(intake.runOnce(intake::deploy), rollers.runOnce(rollers::spinRollers)), + new ShootIntoHubCommand(drive, indexer, intake, rollers, shooter, "AutoShootIntoHub") + .withTimeout(Seconds.of(10)), + // Copy and paste because it don't matter? + AutoBuilder.followPath(intakePath) + .alongWith(intake.runOnce(intake::deploy), rollers.runOnce(rollers::spinRollers)), + new ShootIntoHubCommand(drive, indexer, intake, rollers, shooter, "AutoShootIntoHub")); + } +} diff --git a/src/main/java/com/frc6324/robot2026/commands/AutoOperateCommand.java b/src/main/java/com/frc6324/robot2026/commands/AutoOperateCommand.java new file mode 100644 index 0000000..7ea8a87 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/commands/AutoOperateCommand.java @@ -0,0 +1,154 @@ +package com.frc6324.robot2026.commands; + +import com.ctre.phoenix6.swerve.SwerveRequest; +import com.frc6324.lib.util.FieldConstants; +import com.frc6324.lib.util.FieldConstants.Hub; +import com.frc6324.lib.util.FieldConstants.LinesVertical; +import com.frc6324.lib.util.PoseExtensions; +import com.frc6324.robot2026.Robot; +import com.frc6324.robot2026.subsystems.drive.SwerveDrive; +import com.frc6324.robot2026.subsystems.indexer.Indexer; +import com.frc6324.robot2026.subsystems.intake.Intake; +import com.frc6324.robot2026.subsystems.rollers.Rollers; +import com.frc6324.robot2026.subsystems.shooter.Shooter; +import edu.wpi.first.math.MathUtil; +import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.geometry.Translation2d; +import edu.wpi.first.math.util.Units; +import edu.wpi.first.wpilibj.DriverStation; +import edu.wpi.first.wpilibj.DriverStation.Alliance; +import edu.wpi.first.wpilibj.XboxController; +import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.button.CommandXboxController; +import lombok.experimental.ExtensionMethod; + +@ExtensionMethod(PoseExtensions.class) +@SuppressWarnings("unused") +public final class AutoOperateCommand extends Command { + private static final double TRIGGER_THRESHOLD = 0.5; + + private static final double HUB_ROTATION_TOLERANCE = Units.degreesToRadians(5); + + private double allianceStart = 0; + private double allianceEnd = 0; + + private final SwerveRequest.FieldCentric regularDrive = + new SwerveRequest.FieldCentric() + .withDriveRequestType(SwerveDrive.DRIVE_REQUEST) + .withSteerRequestType(SwerveDrive.STEER_REQUEST) + .withDesaturateWheelSpeeds(true); + + private final SwerveRequest.FieldCentricFacingAngle hubFacingRequest = + new SwerveRequest.FieldCentricFacingAngle() + .withDriveRequestType(SwerveDrive.DRIVE_REQUEST) + .withSteerRequestType(SwerveDrive.STEER_REQUEST) + .withDesaturateWheelSpeeds(true) + .withHeadingPID(DriveCommands.POINTING_KP, 0, DriveCommands.POINTING_KD); + + private final SwerveRequest.ApplyRobotSpeeds autointakeRequest = + new SwerveRequest.ApplyRobotSpeeds(); + + private final XboxController rawHID; + + private final SwerveDrive drive; + private final Indexer indexer; + private final Intake intake; + private final Rollers rollers; + private final Shooter shooter; + + private Alliance currentAlliance = Alliance.Blue; + + public AutoOperateCommand( + CommandXboxController controller, + SwerveDrive drive, + Indexer indexer, + Intake intake, + Rollers rollers, + Shooter shooter) { + this.rawHID = controller.getHID(); + + this.drive = drive; + this.indexer = indexer; + this.intake = intake; + this.rollers = rollers; + this.shooter = shooter; + + addRequirements(drive, indexer, intake, rollers, shooter); + } + + @Override + public void initialize() { + currentAlliance = DriverStation.getAlliance().orElse(Alliance.Blue); + + allianceStart = + switch (currentAlliance) { + case Blue -> 0; + case Red -> LinesVertical.OPP_ALIANCE_ZONE; + }; + allianceEnd = + switch (currentAlliance) { + case Blue -> LinesVertical.ALLIANCE_ZONE; + case Red -> FieldConstants.FIELD_LENGTH; + }; + } + + @Override + public void execute() { + if (!DriverStation.isEnabled()) { + return; + } + + final Pose2d robotPose = drive.getPose(); + if (Robot.getIsAllianceActive() && robotPose.boundedWithinX(allianceStart, allianceEnd)) { + executeScoringMode(); + } else { + executeInactiveMode(); + } + } + + private void driverControl() { + final Translation2d translation = DriveCommands.getLinearVelocityFromJoysticks(rawHID); + + drive.setControl( + regularDrive.withVelocityX(translation.getX()).withVelocityY(translation.getY())); + } + + private void executeScoringMode() { + if (rawHID.getRightTriggerAxis() > TRIGGER_THRESHOLD) { + final Pose2d robotPose = drive.getPose(); + + final Translation2d robotToHub = + Hub.TOP_CENTER_POINT.toTranslation2d().minus(robotPose.getTranslation()); + final Rotation2d facing = robotToHub.getAngle(); + + final Translation2d translation = + DriveCommands.getLinearVelocityFromJoysticks(rawHID) + .times(SwerveDrive.getMaxLinearSpeed()); + + drive.setControl( + hubFacingRequest + .withTargetDirection(facing) + .withVelocityX(translation.getX()) + .withVelocityY(translation.getY())); + + if (MathUtil.isNear( + facing.getRadians(), robotPose.getRotation().getRadians(), HUB_ROTATION_TOLERANCE)) { + // command the shooter to shoot and indexer to run + } else { + // ensure the indexer is stopped, but start to spin up the shooter + } + } else { + driverControl(); + } + } + + private void executeInactiveMode() { + driverControl(); + + final Pose2d drivePose = drive.getPose(); + if (drivePose.boundedWithinX(LinesVertical.NEUTRAL_ZONE_NEAR, LinesVertical.NEUTRAL_ZONE_FAR)) { + // spin up the intake's rollers + } + } +} diff --git a/src/main/java/com/frc6324/robot2026/commands/DriveCommands.java b/src/main/java/com/frc6324/robot2026/commands/DriveCommands.java index b0ae711..732834e 100644 --- a/src/main/java/com/frc6324/robot2026/commands/DriveCommands.java +++ b/src/main/java/com/frc6324/robot2026/commands/DriveCommands.java @@ -1,18 +1,17 @@ package com.frc6324.robot2026.commands; +import static edu.wpi.first.units.Units.Degrees; + import com.ctre.phoenix6.swerve.SwerveRequest; import com.frc6324.lib.UninstantiableClass; import com.frc6324.lib.util.PoseExtensions; import com.frc6324.robot2026.subsystems.drive.SwerveDrive; import edu.wpi.first.math.MathUtil; -import edu.wpi.first.math.geometry.Pose2d; -import edu.wpi.first.math.geometry.Rotation2d; -import edu.wpi.first.math.geometry.Translation2d; +import edu.wpi.first.math.geometry.*; import edu.wpi.first.math.util.Units; +import edu.wpi.first.units.measure.Angle; import edu.wpi.first.wpilibj.XboxController; import edu.wpi.first.wpilibj2.command.Command; -import frc.robot.lib.BLine.FollowPath; -import frc.robot.lib.BLine.Path; import lombok.experimental.ExtensionMethod; import org.jetbrains.annotations.Contract; import org.littletonrobotics.junction.Logger; @@ -29,6 +28,10 @@ public final class DriveCommands { static final double CONTROLLER_INPUT_EXP = 2; static final double DEADBAND = 0.1; + static final double POINTING_KP = 10; + static final double POINTING_KD = 0.02; + static final Angle POINTING_TOLERANCE = Degrees.of(1); + @Contract(value = "_ -> fail", pure = true) private DriveCommands() { throw new IllegalAccessError(); @@ -50,53 +53,15 @@ public static Translation2d getLinearVelocityFromJoysticks(double x, double y) { // Calculate the direction in which to drive // The use of arctan to calculate direction can be shown by this graph: // https://www.desmos.com/calculator/5dbrh321dh - Rotation2d direction = new Rotation2d(Math.atan2(y, x)); + final Rotation2d direction = new Rotation2d(Math.atan2(y, x)); // Return a translation of the given magnitude following the calculated // direction return new Translation2d(magnitude, direction); } - public static Command driveToPose(SwerveDrive drive, Pose2d pose) { - FollowPath.Builder builder = drive.getBLineBuilder(); - - return drive.defer( - () -> { - Path.Waypoint target = new Path.Waypoint(pose, true); - Path path = new Path(target); - - return builder.build(path); - }); - } - - public static Command drivePointingTowards( - SwerveDrive drive, XboxController controller, Pose2d target) { - SwerveRequest.FieldCentricFacingAngle request = - new SwerveRequest.FieldCentricFacingAngle() - .withDriveRequestType(SwerveDrive.DRIVE_REQUEST) - .withSteerRequestType(SwerveDrive.STEER_REQUEST) - .withDesaturateWheelSpeeds(true); - - return drive.run( - () -> { - // Get the linear velocity - Translation2d linearVelocity = - getLinearVelocityFromJoysticks(-controller.getLeftY(), -controller.getLeftX()); - // Multiply the linear velocity by the drivetrain's max speed - linearVelocity = linearVelocity.times(SwerveDrive.getMaxLinearSpeed()); - - // Calculate the translation difference to the target - Translation2d diff = target.getTranslation().minus(drive.getPose().getTranslation()); - // Calculate the angle that delta needs - Rotation2d facing = new Rotation2d(diff.getX(), diff.getY()); - - // Send the request to the drivetrain - drive.setControl( - request - .withVelocityX(linearVelocity.getX()) - .withVelocityY(linearVelocity.getY()) - .withTargetDirection(facing)); - }); + public static Translation2d getLinearVelocityFromJoysticks(XboxController controller) { + return getLinearVelocityFromJoysticks(-controller.getLeftY(), -controller.getLeftX()); } /** @@ -106,8 +71,8 @@ public static Command drivePointingTowards( * @param controller The controller to get input from. * @return The drive command. */ - public static Command joystickDrive(SwerveDrive drive, XboxController controller) { - SwerveRequest.FieldCentric request = + public static Command joystickDrive(final SwerveDrive drive, final XboxController controller) { + final SwerveRequest.FieldCentric request = new SwerveRequest.FieldCentric() .withDriveRequestType(SwerveDrive.DRIVE_REQUEST) .withSteerRequestType(SwerveDrive.STEER_REQUEST) @@ -116,8 +81,7 @@ public static Command joystickDrive(SwerveDrive drive, XboxController controller return drive.run( () -> { // Get the linear velocity - Translation2d linearVelocity = - getLinearVelocityFromJoysticks(-controller.getLeftY(), -controller.getLeftX()); + Translation2d linearVelocity = getLinearVelocityFromJoysticks(controller); // Multiply the linear velocity by the drivetrain's max speed linearVelocity = linearVelocity.times(SwerveDrive.getMaxLinearSpeed()); diff --git a/src/main/java/com/frc6324/robot2026/commands/ShooterCommands.java b/src/main/java/com/frc6324/robot2026/commands/ShooterCommands.java new file mode 100644 index 0000000..48e548d --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/commands/ShooterCommands.java @@ -0,0 +1,456 @@ +package com.frc6324.robot2026.commands; + +import static com.frc6324.robot2026.subsystems.shooter.ShooterConstants.SHOOTER_POSITION; + +import com.ctre.phoenix6.swerve.SwerveRequest; +import com.frc6324.lib.UninstantiableClass; +import com.frc6324.lib.util.AllianceFlipUtil; +import com.frc6324.lib.util.Allocated; +import com.frc6324.lib.util.FieldConstants; +import com.frc6324.lib.util.FieldConstants.LinesVertical; +import com.frc6324.lib.util.PoseExtensions; +import com.frc6324.lib.util.PoseExtensions.PoseSupplier; +import com.frc6324.robot2026.sim.MapleSimManager; +import com.frc6324.robot2026.subsystems.drive.DrivingUtils; +import com.frc6324.robot2026.subsystems.drive.SwerveDrive; +import com.frc6324.robot2026.subsystems.indexer.Indexer; +import com.frc6324.robot2026.subsystems.intake.Intake; +import com.frc6324.robot2026.subsystems.leds.LEDs.LEDState; +import com.frc6324.robot2026.subsystems.rollers.Rollers; +import com.frc6324.robot2026.subsystems.shooter.Shooter; +import edu.wpi.first.math.MathUtil; +import edu.wpi.first.math.filter.Debouncer; +import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.geometry.Translation2d; +import edu.wpi.first.math.util.Units; +import edu.wpi.first.wpilibj.DriverStation; +import edu.wpi.first.wpilibj.DriverStation.Alliance; +import edu.wpi.first.wpilibj.RobotBase; +import edu.wpi.first.wpilibj.Timer; +import edu.wpi.first.wpilibj.XboxController; +import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.Commands; +import edu.wpi.first.wpilibj2.command.button.CommandXboxController; +import java.util.List; +import java.util.Set; +import java.util.function.BooleanSupplier; +import lombok.experimental.ExtensionMethod; +import org.littletonrobotics.junction.Logger; + +@ExtensionMethod(PoseExtensions.class) +@UninstantiableClass +public final class ShooterCommands { + private ShooterCommands() { + throw new IllegalAccessError(); + } + + /** + * Creates the command that manages + * + * @param drive + * @param indexer + * @param intake + * @param shooter + * @param controller + * @return + */ + public static Command genericShootCommand( + SwerveDrive drive, + Indexer indexer, + Intake intake, + Rollers rollers, + Shooter shooter, + CommandXboxController controller) { + final Allocated inAllianceZone = new Allocated<>(false); + + final BooleanSupplier switchCondition = + () -> { + final boolean inAlliance = FieldConstants.isInAllianceZone(drive.getPose()); + + if (inAllianceZone.get() != inAlliance) { + inAllianceZone.set(inAlliance); + return true; + } + + return false; + }; + + return Commands.defer( + () -> { + final boolean inAlliance = FieldConstants.isInAllianceZone(drive.getPose()); + + inAllianceZone.set(inAlliance); + if (inAlliance) { + Logger.recordOutput("Commands/ShootCommand/Phase", "Hub"); + return new DriverShootIntoHubCommand( + drive, indexer, intake, rollers, shooter, controller); + } else { + Logger.recordOutput("Commands/ShootCommand/Phase", "Passing"); + return new PassToAllianceZoneCommand( + drive, indexer, intake, rollers, shooter, controller); + } + }, + Set.of(drive, indexer, intake, shooter)) + .until(switchCondition); + } + + abstract static class AbstractShootAtCommand extends Command { + protected final SwerveDrive drive; + protected final Indexer indexer; + protected final Intake intake; + protected final Rollers rollers; + protected final Shooter shooter; + protected final String logKey; + + protected SwerveRequest.FieldCentricFacingAngle request = + new SwerveRequest.FieldCentricFacingAngle() + .withDriveRequestType(SwerveDrive.DRIVE_REQUEST) + .withSteerRequestType(SwerveDrive.STEER_REQUEST) + .withHeadingPID(DriveCommands.POINTING_KP, 0, DriveCommands.POINTING_KD) + .withDesaturateWheelSpeeds(true); + + private boolean kickerRunning = false; + private boolean sendingIntakeOut = false; + private final Timer intakeCommandTimeout = new Timer(); + + protected AbstractShootAtCommand( + SwerveDrive drive, + Indexer indexer, + Intake intake, + Rollers rollers, + Shooter shooter, + String name) { + this.drive = drive; + this.indexer = indexer; + this.intake = intake; + this.rollers = rollers; + this.shooter = shooter; + this.logKey = "Commands/" + name; + + addRequirements(drive, indexer, intake, rollers, shooter); + } + + protected void applyDriverInput() {} + + abstract void commandShooter(double distanceToTarget); + + @Override + public void end(boolean interrupted) { + shooter.stopFlywheel(); + rollers.stopRollers(); + + indexer.stopKickerWheel(); + indexer.stopIndexerWheel(); + } + + @Override + public void execute() { + // Get the robot and shooter's positions + final Pose2d robotPose = drive.getPose(); + final Pose2d shooterPosition = robotPose.transformBy(SHOOTER_POSITION); + + // Calculate the linear distance to the target + final Translation2d target = getTarget(); + final Translation2d delta = target.minus(shooterPosition.getTranslation()); + final Rotation2d facing = delta.getAngle(); + + applyDriverInput(); + drive.setControl(request.withTargetDirection(AllianceFlipUtil.apply(facing))); + + // Command the shooter + final double distance = delta.getNorm(); + commandShooter(distance); + + // Conditionally start/stop indexing + final boolean index = shouldIndex(facing, distance); + if (index) { + indexer.runIndexerWheel(); + + if (!kickerRunning) { + indexer.runKickerWheel(); + kickerRunning = true; + } + + final boolean intakeTimedOut = intakeCommandTimeout.hasElapsed(0.420); + if (sendingIntakeOut) { + if (intakeTimedOut || intake.isDeployed()) { + intake.retract(); + sendingIntakeOut = false; + intakeCommandTimeout.restart(); + } + } else { + if (intakeTimedOut || intake.isRetracted()) { + intake.deploy(); + sendingIntakeOut = true; + intakeCommandTimeout.restart(); + } + } + } else { + if (kickerRunning) { + indexer.stopIndexerWheel(); + indexer.stopKickerWheel(); + } + + kickerRunning = false; + } + + // Launch a fuel during simulation + if (RobotBase.isSimulation()) { + MapleSimManager.getInstance().launchFuel(); + } + + // Log data about the command to preserve sanity + Logger.recordOutput(logKey + "/TargetPose", target); + Logger.recordOutput(logKey + "/TargetHeading", facing); + Logger.recordOutput(logKey + "/DistanceToTarget", distance); + Logger.recordOutput(logKey + "/Indexing", index); + Logger.recordOutput(logKey + "/SendingIntakeOut", sendingIntakeOut); + } + + /** + * Gets the target of fuel launched by this command. + * + * @return The translation of the target (e.g. alliance zone, the hub). + */ + abstract Translation2d getTarget(); + + @Override + public void initialize() { + indexer.stopIndexerWheel(); + indexer.stopKickerWheel(); + + kickerRunning = false; + sendingIntakeOut = !intake.isDeployed(); + intakeCommandTimeout.start(); + + rollers.spinRollers(); + } + + /** + * Determines whether the robot's current state is good enough to start actively launching fuel. + * + * @param targetFacing The targeted facing of the robot. + * @param distanceToTarget The distance from the shooter to the target. + * @return Whether the indexer should be running. + */ + abstract boolean shouldIndex(Rotation2d targetFacing, double distanceToTarget); + } + + public static class ShootIntoHubCommand extends AbstractShootAtCommand { + private static final double CLOSE_ANGLE_TOLERANCE = Units.degreesToRadians(7.5); + private static final double TOLERANCE_DECAY_PER_METER = Units.degreesToRadians(-1); + + private final Debouncer debouncer = new Debouncer(0.25); + private Translation2d hubTranslation; + + public ShootIntoHubCommand( + SwerveDrive drive, + Indexer indexer, + Intake intake, + Rollers rollers, + Shooter shooter, + String name) { + super(drive, indexer, intake, rollers, shooter, name); + } + + @Override + void commandShooter(double distanceToTarget) { + Logger.recordOutput(logKey + "/DistanceToHub", distanceToTarget); + shooter.shootIntoHub(distanceToTarget); + } + + @Override + public void end(boolean interrupted) { + LEDState.shooting = false; + super.end(interrupted); + } + + @Override + Translation2d getTarget() { + return hubTranslation; + } + + @Override + public void initialize() { + hubTranslation = FieldConstants.getAllianceHub().getTranslation(); + super.initialize(); + + LEDState.shooting = true; + } + + @Override + boolean shouldIndex(Rotation2d targetFacing, double distanceToTarget) { + final double tolerance = CLOSE_ANGLE_TOLERANCE + TOLERANCE_DECAY_PER_METER * distanceToTarget; + + final Rotation2d robotYaw = drive.getPose().getRotation(); + final boolean atRobotAngle = + MathUtil.isNear(robotYaw.getRadians(), targetFacing.getRadians(), tolerance); + final boolean atHoodAngle = shooter.atTargetHoodAngle(); + + Logger.recordOutput(logKey + "/AtRobotAngle", atRobotAngle); + Logger.recordOutput(logKey + "/AtHoodSetpoint", atHoodAngle); + + final boolean should = atRobotAngle && atHoodAngle; + return debouncer.calculate(should); + } + } + + public static class DriverShootIntoHubCommand extends ShootIntoHubCommand { + private final XboxController controller; + + public DriverShootIntoHubCommand( + SwerveDrive drive, + Indexer indexer, + Intake intake, + Rollers rollers, + Shooter shooter, + CommandXboxController controller) { + super(drive, indexer, intake, rollers, shooter, "ShootIntoHub"); + this.controller = controller.getHID(); + } + + @Override + protected void applyDriverInput() { + Translation2d velocity = DriveCommands.getLinearVelocityFromJoysticks(controller); + velocity = velocity.times(SwerveDrive.getMaxLinearSpeed() / 3); + + request.VelocityX = velocity.getX(); + request.VelocityY = velocity.getY(); + } + } + + public static class PassToAllianceZoneCommand extends AbstractShootAtCommand { + private final XboxController controller; + private List allianceZoneTranslations; + private boolean underTrench; + + public PassToAllianceZoneCommand( + SwerveDrive drive, + Indexer indexer, + Intake intake, + Rollers rollers, + Shooter shooter, + CommandXboxController controller) { + super(drive, indexer, intake, rollers, shooter, "PassToAllianceZone"); + this.controller = controller.getHID(); + } + + @Override + protected void applyDriverInput() { + Translation2d velocity = DriveCommands.getLinearVelocityFromJoysticks(controller); + velocity = velocity.times(SwerveDrive.getMaxLinearSpeed() / 1.5); + + request.VelocityX = velocity.getX(); + request.VelocityY = velocity.getY(); + } + + @Override + void commandShooter(double distanceToTarget) { + if (underTrench) { + shooter.stowHood(); + } else { + shooter.pass(distanceToTarget); + } + } + + @Override + Translation2d getTarget() { + return drive.getPose().getTranslation().nearest(allianceZoneTranslations); + } + + @Override + public void initialize() { + final double x = + switch (DriverStation.getAlliance().orElse(Alliance.Blue)) { + case Blue -> LinesVertical.ALLIANCE_ZONE / 2; + case Red -> (LinesVertical.OPP_ALIANCE_ZONE + FieldConstants.FIELD_LENGTH) / 2; + }; + + allianceZoneTranslations = + List.of( + new Translation2d(x, FieldConstants.FIELD_WIDTH / 5), + new Translation2d(x, FieldConstants.FIELD_WIDTH / 4), + new Translation2d(x, FieldConstants.FIELD_WIDTH * 0.75), + new Translation2d(x, FieldConstants.FIELD_WIDTH * 0.8)); + + Logger.recordOutput( + logKey + "/AllPassingPoses", allianceZoneTranslations.toArray(Translation2d[]::new)); + super.initialize(); + } + + @Override + public void execute() { + final Pose2d robotPose = drive.getPose(); + + underTrench = + robotPose.boundedWithinX(LinesVertical.ALLIANCE_ZONE, LinesVertical.NEUTRAL_ZONE_NEAR) + || robotPose.boundedWithinX( + LinesVertical.NEUTRAL_ZONE_FAR, LinesVertical.OPP_ALIANCE_ZONE); + + super.execute(); + } + + @Override + boolean shouldIndex(Rotation2d targetFacing, double distanceToTarget) { + return true; + } + } + + public static class IdleShooterCommand extends Command { + private final Shooter shooter; + private final PoseSupplier robotPoseSupplier; + + private double allianceZoneStart; + private double allianceZoneEnd; + + public IdleShooterCommand(Shooter shooter, PoseSupplier poseSupplier) { + this.shooter = shooter; + this.robotPoseSupplier = poseSupplier; + + addRequirements(shooter); + } + + @Override + public void initialize() { + switch (DriverStation.getAlliance().orElse(Alliance.Blue)) { + case Blue -> { + allianceZoneStart = 0; + allianceZoneEnd = LinesVertical.ALLIANCE_ZONE; + } + case Red -> { + allianceZoneStart = LinesVertical.OPP_ALIANCE_ZONE; + allianceZoneEnd = FieldConstants.FIELD_LENGTH; + } + } + } + + @Override + public void execute() { + final Pose2d robotPose = robotPoseSupplier.getPose(); + + if (robotPose.boundedWithinX(allianceZoneStart, allianceZoneEnd)) { + final Pose2d hub = FieldConstants.getAllianceHub(); + final double dist = robotPose.getTranslation().getDistance(hub.getTranslation()); + + // Spin up the shooter to a low velocity in the alliance zone to minimize + // overhead & current + // use + shooter.spinUpForHubShot(dist); + } else { + shooter.stopFlywheel(); + } + + final Pose2d poseIn1Sec = DrivingUtils.estimateFuturePose(0.5); + if (robotPose.boundedWithinX(LinesVertical.ALLIANCE_ZONE, LinesVertical.NEUTRAL_ZONE_NEAR) + || robotPose.boundedWithinX( + LinesVertical.NEUTRAL_ZONE_FAR, LinesVertical.OPP_ALIANCE_ZONE) + || poseIn1Sec.boundedWithinX(LinesVertical.ALLIANCE_ZONE, LinesVertical.NEUTRAL_ZONE_NEAR) + || poseIn1Sec.boundedWithinX( + LinesVertical.NEUTRAL_ZONE_FAR, LinesVertical.OPP_ALIANCE_ZONE)) { + // Stow the hood if we're going under the trench + shooter.stowHood(); + } + } + } +} diff --git a/src/main/java/com/frc6324/robot2026/generated/TunerConstants.java b/src/main/java/com/frc6324/robot2026/generated/TunerConstants.java index 94d53c9..9444953 100644 --- a/src/main/java/com/frc6324/robot2026/generated/TunerConstants.java +++ b/src/main/java/com/frc6324/robot2026/generated/TunerConstants.java @@ -84,12 +84,12 @@ public class TunerConstants { // This may need to be tuned to your individual robot private static final double kCoupleRatio = 3.857142857142857; - private static final double kDriveGearRatio = 6.026785714285714; - private static final double kSteerGearRatio = 26.09090909090909; + public static final double kDriveGearRatio = 6.026785714285714; + public static final double kSteerGearRatio = 26.09090909090909; private static final Distance kWheelRadius = Inches.of(2); - private static final boolean kInvertLeftSide = true; - private static final boolean kInvertRightSide = false; + private static final boolean kInvertLeftSide = false; + private static final boolean kInvertRightSide = true; private static final int kPigeonId = 15; @@ -136,7 +136,7 @@ public class TunerConstants { private static final int kFrontLeftDriveMotorId = 0; private static final int kFrontLeftSteerMotorId = 1; private static final int kFrontLeftEncoderId = 10; - private static final Angle kFrontLeftEncoderOffset = Rotations.of(0.48876953125); + private static final Angle kFrontLeftEncoderOffset = Rotations.of(0.494384765625); private static final boolean kFrontLeftSteerMotorInverted = false; private static final boolean kFrontLeftEncoderInverted = false; @@ -147,7 +147,7 @@ public class TunerConstants { private static final int kFrontRightDriveMotorId = 2; private static final int kFrontRightSteerMotorId = 3; private static final int kFrontRightEncoderId = 11; - private static final Angle kFrontRightEncoderOffset = Rotations.of(-0.328857421875); + private static final Angle kFrontRightEncoderOffset = Rotations.of(-0.326416015625); private static final boolean kFrontRightSteerMotorInverted = false; private static final boolean kFrontRightEncoderInverted = false; @@ -158,7 +158,7 @@ public class TunerConstants { private static final int kBackLeftDriveMotorId = 6; private static final int kBackLeftSteerMotorId = 7; private static final int kBackLeftEncoderId = 13; - private static final Angle kBackLeftEncoderOffset = Rotations.of(0.19482421875); + private static final Angle kBackLeftEncoderOffset = Rotations.of(0.2041015625); private static final boolean kBackLeftSteerMotorInverted = false; private static final boolean kBackLeftEncoderInverted = false; @@ -169,7 +169,7 @@ public class TunerConstants { private static final int kBackRightDriveMotorId = 4; private static final int kBackRightSteerMotorId = 5; private static final int kBackRightEncoderId = 12; - private static final Angle kBackRightEncoderOffset = Rotations.of(-0.44580078125); + private static final Angle kBackRightEncoderOffset = Rotations.of(-0.435546875); private static final boolean kBackRightSteerMotorInverted = false; private static final boolean kBackRightEncoderInverted = false; diff --git a/src/main/java/com/frc6324/robot2026/mechanisms/IntakeMechanism.java b/src/main/java/com/frc6324/robot2026/mechanisms/IntakeMechanism.java deleted file mode 100644 index e0302b1..0000000 --- a/src/main/java/com/frc6324/robot2026/mechanisms/IntakeMechanism.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.frc6324.robot2026.mechanisms; - -import edu.wpi.first.wpilibj.smartdashboard.Mechanism2d; -import edu.wpi.first.wpilibj.smartdashboard.MechanismLigament2d; -import edu.wpi.first.wpilibj.smartdashboard.MechanismRoot2d; - -public final class IntakeMechanism { - private static IntakeMechanism mechanism = null; - - // TODO: used LoggedMechanism2d instead(?) - private final Mechanism2d mech = new Mechanism2d(100, 60); - private final MechanismRoot2d intakeRoot = mech.getRoot("Intake Root", 0, 0); - private final MechanismLigament2d intake = - intakeRoot.append(new MechanismLigament2d("Intake", 0, 0)); - - public static IntakeMechanism getInstance() { - if (mechanism == null) { - mechanism = new IntakeMechanism(); - } - - return mechanism; - } - - public void setExtension(double extensionDistanceMeters) { - // TODO: is this right???? - intake.setLength(extensionDistanceMeters); - } - - public void log() { - // TODO: How? - } -} diff --git a/src/main/java/com/frc6324/robot2026/sim/FlyingFuelSimulation.java b/src/main/java/com/frc6324/robot2026/sim/FlyingFuelSimulation.java new file mode 100644 index 0000000..9cb8679 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/sim/FlyingFuelSimulation.java @@ -0,0 +1,242 @@ +package com.frc6324.robot2026.sim; + +import static edu.wpi.first.units.Units.MetersPerSecond; +import static edu.wpi.first.units.Units.Radians; + +import edu.wpi.first.math.geometry.*; +import edu.wpi.first.math.kinematics.ChassisSpeeds; +import edu.wpi.first.math.util.Units; +import edu.wpi.first.units.measure.Angle; +import edu.wpi.first.units.measure.LinearVelocity; +import java.util.function.Consumer; +import org.ironmaple.simulation.gamepieces.GamePiece; + +/** + * A simulation of a fuel flying through the air. + * + *

This is a direct replacement for {@link + * org.ironmaple.simulation.seasonspecific.rebuilt2026.RebuiltFuelOnFly RebuiltFuelOnFly} that + * improves upon the handling of gravity and adds drag to the fuel. You must use this class with + * {@link RebuiltArena} via {@link RebuiltArena#addFuelProjectile(FlyingFuelSimulation)} because it + * does not extend maple-sim's expected classes. + */ +public final class FlyingFuelSimulation implements GamePiece { + /** The tolerance for floating-point error. */ + private static final double EPSILON = 1e-6; + + /** The gravitational constant, in meters per second squared */ + private static final double GRAVITY = 9.80665; + + /** The acceleration vector created by only gravity. */ + private static final Translation3d GRAVITY_ACCEL_VECTOR = new Translation3d(0, 0, -GRAVITY); + + /** The density of the air. */ + private static final double AIR_DENSITY = 1.225; + + /** The dynamic viscosity of the air at about 75° Farenheit */ + private static final double AIR_DYNAMIC_VISCOSITY = 1.84e-5; + + // Fuel-specific constants + + /** The drag coefficient of the fuel. */ + private static final double COEFFICIENT_OF_DRAG = 0.75; + + private static final double COEFFICIENT_OF_RESTITUTION = 0.8; + + private static final double COEFFICIENT_OF_FRICTION = 0.975; + + /** The mass of the fuel. */ + private static final double MASS = Units.lbsToKilograms(0.5); + + /** The radius of the fuel. */ + private static final double RADIUS = 0.15 / 2; // Diameter is 15cm + + /** The surface area of the fuel. */ + private static final double AREA = Math.PI * Math.pow(RADIUS, 2); + + private static final double MOI = 2 / 5 * MASS * RADIUS * RADIUS; + + /** + * The drag constant of a fuel, defined as {@code ((air density * drag coeff * area) / mass) / 2}. + */ + private static final double LINEAR_DRAG_K = + (0.5 * AIR_DENSITY * COEFFICIENT_OF_DRAG * AREA) / MASS; + + private static final double ROTATIONAL_DRAG_K = + 8 * Math.PI * AIR_DYNAMIC_VISCOSITY * Math.pow(RADIUS, 3) / MOI; + + private static final double MAGNUS_SCALAR = + (16 / 3) * (Math.PI * Math.PI) * (RADIUS * RADIUS * RADIUS) * AIR_DENSITY / MASS; + + /** The fuel's current velocity. */ + private Translation3d velocity; + + /** The fuel's angular velocity. */ + private Translation3d spin; + + /** The fuel's current position. */ + private Pose3d currentPosition; + + /** + * Creates a new simulation of a fuel being shot out of a shooter mechanism. + * + *

For an unmoving shooter, {@code shooterRotation} should be a constant. For robots with a + * turret, this should be dynamically computed given encoder values. + * + *

To increase realism, you may want to multiply {@code launchSpeed} by a "flywheel efficiency" + * constant (typically 60-90%) to better account for things such as compression, slipping, etc. + * that can't be simulated. + * + * @param robotPose The current 2D position of the robot. + * @param shooterPosition The offset from the center of the robot to the center of the shooter. + * @param shooterRotation The 2D rotational offset from the robot's "forward" to the direction the + * shooter shoots at. + * @param drivetrainSpeeds The current speeds of the robot. It is perfectly OK to use {@code new + * ChassisSpeeds()} as this argument if you don't care about simulating drivetrain influence + * on the shooter. + * @param shooterAngle The angle the shooter shoots at. An angle of 0° means that the shooter + * shoots parallel to the ground; likewise, an angle of 90° will shoot the fuel vertically. + * @param launchSpeed The speed the fuel is being launched at. This should be calculated using + * some variation of {@code launcherWheelRadius * flywheelVelocity}. + */ + public FlyingFuelSimulation( + Pose2d robotPose, + Translation3d shooterPosition, + Rotation2d shooterRotation, + ChassisSpeeds drivetrainSpeeds, + Angle shooterAngle, + LinearVelocity launchSpeed, + double spinEfficiency) { + final Rotation3d shooterFrame = + new Rotation3d(0, -shooterAngle.in(Radians), 0) + .rotateBy(new Rotation3d(robotPose.getRotation().plus(shooterRotation))); + + // Define the shooter's "forward" multiplier vector + final Translation3d forward = new Translation3d(1, 0, 0).rotateBy(shooterFrame); + + // Get the 2D velocity of the robot chassis + final Translation2d chassisVelocity = + new Translation2d(drivetrainSpeeds.vxMetersPerSecond, drivetrainSpeeds.vyMetersPerSecond); + + // Compute the velocity offset from robot movement + final Translation2d shooterVelocity = + shooterPosition + .toTranslation2d() + .rotateBy(robotPose.getRotation()) + .rotateBy(Rotation2d.fromDegrees(90)) + .times(drivetrainSpeeds.omegaRadiansPerSecond) + .plus(chassisVelocity); + + // Add the launch velocity to the chassis velocity to arrive at an initial velocity + velocity = + forward.times(launchSpeed.in(MetersPerSecond)).plus(new Translation3d(shooterVelocity)); + + spin = + new Translation3d(0, -launchSpeed.in(MetersPerSecond) / RADIUS * spinEfficiency, 0) + .rotateBy(shooterFrame); + + // Derive the current position from the shooter's relative position to the robot's known + // position + currentPosition = + new Pose3d( + new Translation3d(robotPose.getTranslation()) + .plus(shooterPosition.rotateBy(new Rotation3d(robotPose.getRotation()))), + new Rotation3d(robotPose.getRotation().plus(shooterRotation))); + } + + @Override + public Pose3d getPose3d() { + // Return the current position + return currentPosition; + } + + @Override + public String getType() { + // This is always a fuel! + return "Fuel"; + } + + @Override + public Translation3d getVelocity3dMPS() { + // Return the velocity vector + return velocity; + } + + @Override + public boolean isGrounded() { + // This piece flies, so return false + return false; + } + + @Override + public void triggerHitTargeCallBack() { + // We don't support any configurable callbacks, so this is empty + } + + /** + * Updates this simulation's position and velocity over a given period of time. + * + *

This method should only be called by an instance of {@link RebuiltArena} unless you know + * what you're doing! + * + * @param hitFloorCallback The callback to call if this fuel hits the ground. + * @param deltaTime The difference in time since this method was last called. + */ + public void update( + final Consumer hitFloorCallback, final double deltaTime) { + if (currentPosition.getZ() < RADIUS + EPSILON && velocity.getZ() < 0) { + if (Math.abs(velocity.getZ()) < 0.05) { + velocity = Translation3d.kZero; + spin = Translation3d.kZero; + + hitFloorCallback.accept(this); + return; + } + + // If we're still moving at a resonable velocity, then bounce! + velocity = + new Translation3d( + velocity.getX() * COEFFICIENT_OF_FRICTION, + velocity.getY() * COEFFICIENT_OF_FRICTION, + -velocity.getZ() * COEFFICIENT_OF_RESTITUTION); + + currentPosition = + new Pose3d( + new Translation3d(currentPosition.getX(), currentPosition.getY(), RADIUS + EPSILON), + currentPosition.getRotation()); + } + + // Calculate the total speed vector magnitude + final double speed = velocity.getNorm(); + // Use the magnitude of speed and the drag constant to compute the air resistance experienced by + // the fuel + final Translation3d dragAccel = + speed < EPSILON + ? Translation3d.kZero + : velocity.div(speed).times(-LINEAR_DRAG_K * speed * speed); + + // Calculate the acceleration force caused by the magnus effect on the fuel. + final Translation3d magnusAccel = new Translation3d(spin.cross(velocity).times(MAGNUS_SCALAR)); + + // Compute the change in velocity since the last update() call + final Translation3d dv = + dragAccel.plus(GRAVITY_ACCEL_VECTOR).plus(magnusAccel).times(deltaTime); + + // Edit the linear and angular velocities of this fuel to take decelerations into account + velocity = velocity.plus(dv); + spin = spin.times(Math.max(0, 1 - ROTATIONAL_DRAG_K * velocity.getNorm() * deltaTime)); + + // Compute the change in the fuel's rotation (purely for visualization) + final Translation3d omega_dt = spin.times(deltaTime); + final Rotation3d currentRotation = currentPosition.getRotation(); + + // Integrate the current position + currentPosition = + new Pose3d( + currentPosition.getTranslation().plus(velocity.times(deltaTime)), + new Rotation3d( + currentRotation.getX() + omega_dt.getX(), + currentRotation.getY() + omega_dt.getY(), + currentRotation.getZ() + omega_dt.getZ())); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/drive/MapleSimDriveBase.java b/src/main/java/com/frc6324/robot2026/sim/MapleSimDriveBase.java similarity index 70% rename from src/main/java/com/frc6324/robot2026/subsystems/drive/MapleSimDriveBase.java rename to src/main/java/com/frc6324/robot2026/sim/MapleSimDriveBase.java index 58b74bc..588bb9b 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/drive/MapleSimDriveBase.java +++ b/src/main/java/com/frc6324/robot2026/sim/MapleSimDriveBase.java @@ -1,30 +1,26 @@ -package com.frc6324.robot2026.subsystems.drive; +package com.frc6324.robot2026.sim; -import static com.frc6324.robot2026.subsystems.drive.DrivetrainConstants.*; import static edu.wpi.first.units.Units.RadiansPerSecond; import com.ctre.phoenix6.configs.CANcoderConfiguration; import com.ctre.phoenix6.configs.TalonFXConfiguration; -import com.ctre.phoenix6.hardware.CANcoder; -import com.ctre.phoenix6.hardware.Pigeon2; -import com.ctre.phoenix6.hardware.TalonFX; -import com.ctre.phoenix6.sim.CANcoderSimState; -import com.ctre.phoenix6.sim.Pigeon2SimState; -import com.ctre.phoenix6.sim.TalonFXSimState; +import com.ctre.phoenix6.hardware.*; +import com.ctre.phoenix6.sim.*; import com.ctre.phoenix6.swerve.SwerveModule; import com.ctre.phoenix6.swerve.SwerveModuleConstants; -import edu.wpi.first.units.measure.Angle; -import edu.wpi.first.units.measure.AngularVelocity; -import edu.wpi.first.units.measure.Voltage; -import org.ironmaple.simulation.SimulatedArena; +import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.kinematics.ChassisSpeeds; +import edu.wpi.first.units.measure.*; import org.ironmaple.simulation.drivesims.SwerveDriveSimulation; import org.ironmaple.simulation.drivesims.SwerveModuleSimulation; import org.ironmaple.simulation.motorsims.SimulatedBattery; import org.ironmaple.simulation.motorsims.SimulatedMotorController; -public final class MapleSimDriveBase extends SwerveDriveSimulation { +public final class MapleSimDriveBase { private final Pigeon2SimState pigeonSim; private final SimSwerveModule[] simModules; + private final SwerveDriveSimulation simulation; @SuppressWarnings("unchecked") public MapleSimDriveBase( @@ -32,45 +28,57 @@ public MapleSimDriveBase( SwerveModule[] modules, SwerveModuleConstants... moduleConstants) { - super(MAPLE_SIM_CONFIG, STARTING_POSE); this.pigeonSim = pigeon.getSimState(); + this.simulation = MapleSimManager.getInstance().getMainRobotDriveSimulation(); simModules = new SimSwerveModule[moduleConstants.length]; - SwerveModuleSimulation[] moduleSimulations = getModules(); + SwerveModuleSimulation[] moduleSimulations = simulation.getModules(); for (int i = 0; i < this.simModules.length; i++) { - simModules[i] = new SimSwerveModule(moduleConstants[0], moduleSimulations[i], modules[i]); + simModules[i] = new SimSwerveModule(moduleConstants[i], moduleSimulations[i], modules[i]); } + } + + public ChassisSpeeds getChassisSpeeds() { + return simulation.getDriveTrainSimulatedChassisSpeedsRobotRelative(); + } + + public Pose2d getPose() { + return simulation.getSimulatedDriveTrainPose(); + } + + public Rotation2d getRotation() { + return getPose().getRotation(); + } - SimulatedArena.overrideSimulationTimings(ODOMETRY_PERIOD, 1); - SimulatedArena.getInstance().addDriveTrainSimulation(this); - SimulatedArena.getInstance().resetFieldForAuto(); + public void setPose(Pose2d pose) { + simulation.setSimulationWorldPose(pose); } public void update() { - SimulatedArena.getInstance().simulationPeriodic(); - pigeonSim.setRawYaw(getSimulatedDriveTrainPose().getRotation().getMeasure()); - pigeonSim.setAngularVelocityZ( - RadiansPerSecond.of( - getDriveTrainSimulatedChassisSpeedsRobotRelative().omegaRadiansPerSecond)); + pigeonSim.setRawYaw(getRotation().getMeasure()); + pigeonSim.setAngularVelocityZ(RadiansPerSecond.of(getChassisSpeeds().omegaRadiansPerSecond)); } - /** - * - * - *

Represents the simulation of a single {@link SwerveModule}.

- */ + /** Represents a simulation of a single {@link SwerveModule}. */ protected static class SimSwerveModule { public final SwerveModuleConstants< TalonFXConfiguration, TalonFXConfiguration, CANcoderConfiguration> - moduleConstant; + moduleConstants; public final SwerveModuleSimulation moduleSimulation; + /** + * Creates a new {@link SwerveModule} simulation. + * + * @param moduleConstants + * @param moduleSimulation + * @param module + */ public SimSwerveModule( SwerveModuleConstants - moduleConstant, + moduleConstants, SwerveModuleSimulation moduleSimulation, SwerveModule module) { - this.moduleConstant = moduleConstant; + this.moduleConstants = moduleConstants; this.moduleSimulation = moduleSimulation; moduleSimulation.useDriveMotorController( new TalonFXMotorControllerSim(module.getDriveMotor())); diff --git a/src/main/java/com/frc6324/robot2026/sim/MapleSimManager.java b/src/main/java/com/frc6324/robot2026/sim/MapleSimManager.java new file mode 100644 index 0000000..c92fb61 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/sim/MapleSimManager.java @@ -0,0 +1,206 @@ +package com.frc6324.robot2026.sim; + +import static edu.wpi.first.units.Units.*; + +import com.frc6324.lib.LazySingleton; +import com.frc6324.lib.util.CommonUtils; +import com.frc6324.robot2026.subsystems.drive.DrivetrainConstants; +import com.frc6324.robot2026.subsystems.intake.IntakeConstants; +import com.frc6324.robot2026.subsystems.shooter.ShooterConstants; +import com.frc6324.robot2026.subsystems.shooter.ShooterConstants.FlywheelConstants; +import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.geometry.Translation3d; +import edu.wpi.first.units.measure.Angle; +import edu.wpi.first.units.measure.AngularVelocity; +import edu.wpi.first.units.measure.LinearVelocity; +import edu.wpi.first.wpilibj.DriverStation.Alliance; +import edu.wpi.first.wpilibj.Timer; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; +import edu.wpi.first.wpilibj2.command.Commands; +import java.util.concurrent.locks.ReentrantLock; +import lombok.experimental.ExtensionMethod; +import org.ironmaple.simulation.IntakeSimulation; +import org.ironmaple.simulation.IntakeSimulation.IntakeSide; +import org.ironmaple.simulation.SimulatedArena; +import org.ironmaple.simulation.drivesims.SwerveDriveSimulation; +import org.littletonrobotics.junction.Logger; + +/** A helper class to manage maple-sim accross the whole robot in a thread-safe, lazy way. */ +@ExtensionMethod(CommonUtils.class) +@LazySingleton +public final class MapleSimManager { + private static MapleSimManager instance = null; + + private final RebuiltArena arena; + private final SwerveDriveSimulation driveSimulation = + new SwerveDriveSimulation( + DrivetrainConstants.MAPLE_SIM_CONFIG, DrivetrainConstants.STARTING_POSE); + private final IntakeSimulation intakeSim = + IntakeSimulation.OverTheBumperIntake( + "Fuel", + driveSimulation, + Inches.of(27), + IntakeConstants.INTAKE_EXTENSION, + IntakeSide.FRONT, + 50); + private final ReentrantLock simulationLock = new ReentrantLock(); + + private Translation3d shooterPosition = Translation3d.kZero; + private AngularVelocity shooterSpeed = RadiansPerSecond.zero(); + private Angle shooterAngle = Radians.zero(); + + private boolean intakeExtended = false; + private double lastLaunchTimestamp = 0; + + private MapleSimManager() { + arena = new RebuiltArena(); + + arena.setEfficiencyMode(false); + arena.addDriveTrainSimulation(driveSimulation); + intakeSim.register(arena); + + SimulatedArena.overrideInstance(arena); + + SmartDashboard.putData( + "FieldSimulationCommands/DumpBlueOutpost", + Commands.runOnce( + () -> { + try { + simulationLock.lock(); + arena.outpostDump(true); + } finally { + simulationLock.unlock(); + } + }) + .ignoringDisable(true)); + SmartDashboard.putData( + "FieldSimulationCommands/DumpRedOutpost", + Commands.runOnce( + () -> { + try { + simulationLock.lock(); + arena.outpostDump(false); + } finally { + simulationLock.unlock(); + } + }) + .ignoringDisable(true)); + SmartDashboard.putData( + "FieldSimulationCommands/ResetFieldForAuto", + Commands.runOnce( + () -> { + try { + simulationLock.lock(); + arena.resetFieldForAuto(); + } finally { + simulationLock.unlock(); + } + }) + .ignoringDisable(true)); + } + + /** + * Gets an instance of the simulation manager, or initializes it if it hasn't been already. + * + * @return The instance of the maple-sim manager. + */ + public static MapleSimManager getInstance() { + if (instance == null) { + instance = new MapleSimManager(); + } + + return instance; + } + + /** + * Gets the drivetrain simulation of the main robot; that is, the robot that this + * application is currently simulating. + * + * @return The desired swerve drive simulation. + */ + public SwerveDriveSimulation getMainRobotDriveSimulation() { + return driveSimulation; + } + + /** + * Sets whether the intake is extended (and therefore on). + * + * @param extended Whether the intake is extended. + */ + public void setIntakeExtended(boolean extended) { + intakeExtended = extended; + + if (extended) { + intakeSim.startIntake(); + } else if (intakeSim.isRunning()) { + intakeSim.stopIntake(); + } + } + + /** + * Sets the state of the simulated shooter. + * + * @param position The position of the center of the shooter. + * @param speed The speed of the shooter's flywheel. + * @param angle The angle of the shooter's hood. + */ + public void setShooterState(Translation3d position, AngularVelocity speed, Angle angle) { + shooterPosition = position; + shooterSpeed = speed; + shooterAngle = angle; + } + + /** Launches a single fuel given the known shooter state. */ + public void launchFuel() { + final double currentTimestamp = Timer.getTimestamp(); + + try { + simulationLock.lock(); + if (currentTimestamp - lastLaunchTimestamp > ShooterConstants.TIME_TO_LAUNCH_FUEL + && intakeSim.obtainGamePieceFromIntake()) { + final Pose2d drivePose = driveSimulation.getSimulatedDriveTrainPose(); + + final LinearVelocity fuelVelocity = + shooterSpeed + .getVelocity(FlywheelConstants.FLYWHEEL_RADIUS) + .times(FlywheelConstants.FLYWHEEL_EFFICIENCY); + + final FlyingFuelSimulation fuel = + new FlyingFuelSimulation( + drivePose, + shooterPosition, + Rotation2d.kZero, + driveSimulation.getDriveTrainSimulatedChassisSpeedsFieldRelative(), + shooterAngle, + fuelVelocity, + FlywheelConstants.FLYWHEEL_BACKSPIN_EFFICIENCY); + + arena.addFuelProjectile(fuel); + + lastLaunchTimestamp = currentTimestamp; + } + } finally { + simulationLock.unlock(); + } + } + + /** Updates maple-sim's simulation and logs helpful data for AdvantageScope. */ + public void simulationPeriodic() { + try { + simulationLock.lock(); + arena.simulationPeriodic(); + + Logger.recordOutput("FieldSimulation/Fuel", arena.getFuelPoses()); + Logger.recordOutput("FieldSimulation/BlueAllianceScore", arena.getScore(Alliance.Blue)); + Logger.recordOutput("FieldSimulation/RedAllianceScore", arena.getScore(Alliance.Red)); + + Logger.recordOutput("FieldSimulation/MainRobot/IntakeExtended", intakeExtended); + Logger.recordOutput("FieldSimulation/MainRobot/IntakeActive", intakeSim.isRunning()); + Logger.recordOutput( + "FieldSimulation/MainRobot/NumberFuelHeld", intakeSim.getGamePiecesAmount()); + } finally { + simulationLock.unlock(); + } + } +} diff --git a/src/main/java/com/frc6324/robot2026/sim/RebuiltArena.java b/src/main/java/com/frc6324/robot2026/sim/RebuiltArena.java new file mode 100644 index 0000000..8c41a7f --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/sim/RebuiltArena.java @@ -0,0 +1,86 @@ +package com.frc6324.robot2026.sim; + +import com.frc6324.lib.util.DeltaTimeCalculator; +import edu.wpi.first.math.geometry.Pose3d; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.ironmaple.simulation.gamepieces.GamePiece; +import org.ironmaple.simulation.seasonspecific.rebuilt2026.Arena2026Rebuilt; +import org.ironmaple.simulation.seasonspecific.rebuilt2026.RebuiltFuelOnField; + +public class RebuiltArena extends Arena2026Rebuilt { + private final List toRemove = new ArrayList<>(); + private final Set fuelSimulations = new HashSet<>(); + private final DeltaTimeCalculator deltaTime = new DeltaTimeCalculator(); + + public RebuiltArena() { + super(false); + } + + public void addFuelProjectile(FlyingFuelSimulation fuel) { + fuelSimulations.add(fuel); + } + + public boolean removeFuelProjectile(FlyingFuelSimulation fuel) { + return fuelSimulations.remove(fuel); + } + + @Override + public synchronized List getGamePiecesPosesByType(String type) { + final List poses = super.getGamePiecesPosesByType(type); + + if (type == "Fuel") { + for (final FlyingFuelSimulation fuel : fuelSimulations) { + poses.add(fuel.getPose3d()); + } + } + + return poses; + } + + @Override + public synchronized List getGamePiecesByType(String type) { + final List pieces = super.getGamePiecesByType(type); + + if (type == "Fuel") { + pieces.addAll(fuelSimulations); + } + + return pieces; + } + + public Pose3d[] getFuelPoses() { + return getGamePiecesArrayByType("Fuel"); + } + + @Override + public synchronized void simulationPeriodic() { + final double dt = deltaTime.get(); + + toRemove.clear(); + for (final FlyingFuelSimulation fuel : fuelSimulations) { + fuel.update(toRemove::add, dt); + } + + for (final FlyingFuelSimulation fuel : toRemove) { + fuelSimulations.remove(fuel); + + final RebuiltFuelOnField newFuel = + new RebuiltFuelOnField(fuel.getPose3d().getTranslation().toTranslation2d()); + addGamePiece(newFuel); + } + + super.simulationPeriodic(); + } + + @Override + public synchronized boolean removePiece(GamePiece toRemove) { + if (toRemove instanceof FlyingFuelSimulation fuel) { + return removeFuelProjectile(fuel); + } + + return super.removePiece(toRemove); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/climber/Climber.java b/src/main/java/com/frc6324/robot2026/subsystems/climber/Climber.java deleted file mode 100644 index fa56eaa..0000000 --- a/src/main/java/com/frc6324/robot2026/subsystems/climber/Climber.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.frc6324.robot2026.subsystems.climber; - -import edu.wpi.first.wpilibj2.command.Command; -import edu.wpi.first.wpilibj2.command.SubsystemBase; -import org.littletonrobotics.junction.Logger; - -public final class Climber extends SubsystemBase { - private final ClimberIO io; - private final ClimberInputsAutoLogged inputs = new ClimberInputsAutoLogged(); - - public Climber(ClimberIO io) { - this.io = io; - } - - public Command deploy() { - return run(io::deploy); - } - - @Override - public void periodic() { - // Only logs climber inputs since it doesn't do anything else - io.updateInputs(inputs); - Logger.processInputs("Climber", inputs); - } - - public Command stop() { - return runOnce(io::stop); - } - - public Command stow() { - return runOnce(io::stow); - } -} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberConstants.java b/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberConstants.java deleted file mode 100644 index 42a2a73..0000000 --- a/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberConstants.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.frc6324.robot2026.subsystems.climber; - -import static edu.wpi.first.units.Units.Amps; - -import com.ctre.phoenix6.CANBus; -import com.ctre.phoenix6.configs.CurrentLimitsConfigs; -import com.ctre.phoenix6.sim.TalonFXSimState.MotorType; -import com.frc6324.lib.UninstantiableClass; -import com.frc6324.robot2026.Constants; -import edu.wpi.first.math.numbers.N1; -import edu.wpi.first.math.numbers.N2; -import edu.wpi.first.math.system.LinearSystem; -import edu.wpi.first.math.system.plant.DCMotor; -import edu.wpi.first.math.system.plant.LinearSystemId; - -@UninstantiableClass -public final class ClimberConstants { - private ClimberConstants() { - throw new IllegalAccessError(); - } - - public static final CANBus CLIMBER_CAN_BUS = Constants.CANIVORE; - public static final int CLIMBER_MOTOR_ID = 50; - - public static final double CLIMBER_DEPLOY_OUTPUT_PERCENTAGE = 1; - public static final double CLIMBER_STOW_OUTPUT_PERCENTAGE = -1; - - public static final CurrentLimitsConfigs CLIMBER_CURRENT_LIMITS = - new CurrentLimitsConfigs() - .withStatorCurrentLimit(Amps.of(100)) - .withStatorCurrentLimitEnable(true) - .withSupplyCurrentLimit(Amps.of(60)) - .withSupplyCurrentLimitEnable(true); - - public static final MotorType CLIMBER_MOTOR_TYPE = MotorType.KrakenX60; - - public static final double CLIMBER_SIM_KV = 1; - public static final double CLIMBER_SIM_KA = 0.8; - - public static final LinearSystem CLIMBER_LINEAR_SYSTEM = - LinearSystemId.createDCMotorSystem(CLIMBER_SIM_KV, CLIMBER_SIM_KA); - public static final DCMotor CLIMBER_GEARBOX = DCMotor.getKrakenX60Foc(1); -} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberIO.java b/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberIO.java deleted file mode 100644 index 7ee41e0..0000000 --- a/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberIO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.frc6324.robot2026.subsystems.climber; - -import static edu.wpi.first.units.Units.Amps; -import static edu.wpi.first.units.Units.RadiansPerSecond; -import static edu.wpi.first.units.Units.Volts; - -import edu.wpi.first.units.measure.AngularVelocity; -import edu.wpi.first.units.measure.Current; -import edu.wpi.first.units.measure.Voltage; -import org.littletonrobotics.junction.AutoLog; - -@FunctionalInterface -public interface ClimberIO { - void updateInputs(ClimberInputs inputs); - - /** Deploys the climber. */ - default void deploy() {} - - /** Stops the climber motor. */ - default void stop() {} - - /** Stows the climber, which can also raise the robot. */ - default void stow() {} - - /** Inputs for climber IO implementations. */ - @AutoLog - class ClimberInputs { - public boolean motorConnected = false; - public AngularVelocity motorVelocity = RadiansPerSecond.zero(); - public Voltage motorVoltage = Volts.zero(); - public Current statorCurrent = Amps.zero(); - public Current supplyCurrent = Amps.zero(); - public Current torqueCurrent = Amps.zero(); - } -} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberIOSim.java b/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberIOSim.java deleted file mode 100644 index f04cd5c..0000000 --- a/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberIOSim.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.frc6324.robot2026.subsystems.climber; - -import static com.frc6324.robot2026.subsystems.climber.ClimberConstants.*; - -import com.ctre.phoenix6.sim.TalonFXSimState; -import com.frc6324.lib.util.DeltaTimeCalculator; -import edu.wpi.first.units.measure.Angle; -import edu.wpi.first.units.measure.AngularAcceleration; -import edu.wpi.first.units.measure.AngularVelocity; -import edu.wpi.first.wpilibj.simulation.DCMotorSim; -import org.littletonrobotics.junction.Logger; - -/** A simulation implementation for the climber's I/O. */ -public final class ClimberIOSim extends ClimberIOTalonFX { - private final DCMotorSim simulation = new DCMotorSim(CLIMBER_LINEAR_SYSTEM, CLIMBER_GEARBOX); - private final TalonFXSimState talonSim = talon.getSimState(); - private final DeltaTimeCalculator delta = new DeltaTimeCalculator(); - - /** Creates an I/O implementation for the climber that simulates a TalonFX motor. */ - public ClimberIOSim() { - talonSim.setMotorType(CLIMBER_MOTOR_TYPE); - } - - @Override - public void updateInputs(ClimberInputs inputs) { - simulation.setInputVoltage(talonSim.getMotorVoltage()); - simulation.update(delta.get()); - - // Log the angular position - final Angle position = simulation.getAngularPosition(); - Logger.recordOutput("ClimberSim/Position", position); - - // Log the angular velocity - final AngularVelocity velocity = simulation.getAngularVelocity(); - Logger.recordOutput("ClimberSim/Velocity", velocity); - - // Log the angular acceleration - final AngularAcceleration acceleration = simulation.getAngularAcceleration(); - Logger.recordOutput("ClimberSim/Acceleration", acceleration); - - // Set the TalonFX's state - talonSim.setRawRotorPosition(position); - talonSim.setRotorVelocity(velocity); - talonSim.setRotorAcceleration(acceleration); - - // Defer to super to update inputs - super.updateInputs(inputs); - } -} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberIOTalonFX.java b/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberIOTalonFX.java deleted file mode 100644 index 10f8cb0..0000000 --- a/src/main/java/com/frc6324/robot2026/subsystems/climber/ClimberIOTalonFX.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.frc6324.robot2026.subsystems.climber; - -import static com.frc6324.robot2026.subsystems.climber.ClimberConstants.*; - -import com.ctre.phoenix6.StatusSignal; -import com.ctre.phoenix6.StatusSignalCollection; -import com.ctre.phoenix6.controls.DutyCycleOut; -import com.ctre.phoenix6.hardware.TalonFX; -import com.ctre.phoenix6.signals.NeutralModeValue; -import com.frc6324.lib.util.PhoenixUtil; -import edu.wpi.first.units.measure.AngularVelocity; -import edu.wpi.first.units.measure.Current; -import edu.wpi.first.units.measure.Voltage; - -/** A real-world implementation of the climber's I/O using a TalonFX motor controller. */ -public class ClimberIOTalonFX implements ClimberIO { - // TODO: determine if the climber needs a follower for performance reasons - protected final TalonFX talon = new TalonFX(CLIMBER_MOTOR_ID, CLIMBER_CAN_BUS); - - private final DutyCycleOut output = - new DutyCycleOut(0).withEnableFOC(true).withOverrideBrakeDurNeutral(true); - - private final StatusSignal motorVelocity = talon.getVelocity(); - private final StatusSignal motorVoltage = talon.getMotorVoltage(); - private final StatusSignal motorStatorCurrent = talon.getStatorCurrent(); - private final StatusSignal motorSupplyCurrent = talon.getSupplyCurrent(); - private final StatusSignal motorTorqueCurrent = talon.getTorqueCurrent(); - private final StatusSignalCollection signals = - new StatusSignalCollection( - motorVelocity, motorVoltage, motorStatorCurrent, motorSupplyCurrent, motorTorqueCurrent); - - /** Creates an I/O implementation for the climber backed by a TalonFX motor controller. */ - public ClimberIOTalonFX() { - PhoenixUtil.tryUntilOk( - 5, - () -> talon.getConfigurator().apply(CLIMBER_CURRENT_LIMITS, 0.25), - "Failed to configure the climber motor's current limits"); - PhoenixUtil.tryUntilOk( - 5, - () -> talon.setNeutralMode(NeutralModeValue.Brake), - "Failed to configure the climber motor's neutral mode."); - } - - @Override - public void deploy() { - talon.setControl(output.withOutput(CLIMBER_DEPLOY_OUTPUT_PERCENTAGE)); - } - - @Override - public void stop() { - talon.stopMotor(); - } - - @Override - public void stow() { - talon.setControl(output.withOutput(CLIMBER_STOW_OUTPUT_PERCENTAGE)); - } - - @Override - public void updateInputs(ClimberInputs inputs) { - // Check if the motor is connected and OK - inputs.motorConnected = signals.refreshAll().isOK(); - - // Update generic motor info - inputs.motorVelocity = motorVelocity.getValue(); - inputs.motorVoltage = motorVoltage.getValue(); - - // Update current values - inputs.statorCurrent = motorStatorCurrent.getValue(); - inputs.supplyCurrent = motorSupplyCurrent.getValue(); - inputs.torqueCurrent = motorTorqueCurrent.getValue(); - } -} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIO.java b/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIO.java index ebd41a2..0a1d2ee 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIO.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIO.java @@ -16,18 +16,12 @@ package com.frc6324.robot2026.subsystems.drive; -import static edu.wpi.first.units.Units.*; - import com.ctre.phoenix6.swerve.SwerveDrivetrain.SwerveDriveState; import com.ctre.phoenix6.swerve.SwerveRequest; import edu.wpi.first.math.Matrix; -import edu.wpi.first.math.geometry.Pose2d; -import edu.wpi.first.math.geometry.Rotation2d; -import edu.wpi.first.math.kinematics.ChassisSpeeds; -import edu.wpi.first.math.kinematics.SwerveModulePosition; -import edu.wpi.first.math.kinematics.SwerveModuleState; +import edu.wpi.first.math.geometry.*; +import edu.wpi.first.math.kinematics.*; import edu.wpi.first.math.numbers.*; -import edu.wpi.first.units.measure.*; import java.util.Arrays; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -81,14 +75,6 @@ class DriveInputs extends SwerveDriveState { /** The angle of the robot as reported by the gyroscope. */ public Rotation2d GyroAngle = Rotation2d.kZero; - public Angle Roll = Radians.zero(); - public Angle Pitch = Radians.zero(); - public AngularVelocity RollVelocity = RadiansPerSecond.zero(); - public AngularVelocity PitchVelocity = RadiansPerSecond.zero(); - public AngularVelocity YawVelocity = RadiansPerSecond.zero(); - public LinearAcceleration AccelerationX = MetersPerSecondPerSecond.zero(); - public LinearAcceleration AccelerationY = MetersPerSecondPerSecond.zero(); - public DriveInputs() { Pose = Pose2d.kZero; RawHeading = Rotation2d.kZero; diff --git a/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIOCTRE.java b/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIOCTRE.java index 25237f5..697de2d 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIOCTRE.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIOCTRE.java @@ -4,16 +4,20 @@ import com.ctre.phoenix6.StatusSignal; import com.ctre.phoenix6.StatusSignalCollection; -import com.ctre.phoenix6.hardware.CANcoder; -import com.ctre.phoenix6.hardware.Pigeon2; -import com.ctre.phoenix6.hardware.TalonFX; +import com.ctre.phoenix6.Utils; +import com.ctre.phoenix6.hardware.*; import com.ctre.phoenix6.swerve.SwerveDrivetrain; import com.ctre.phoenix6.swerve.SwerveModule; import com.frc6324.robot2026.generated.TunerConstants; import com.frc6324.robot2026.subsystems.vision.apriltag.AprilTagIOPhoton.OdometryPoseGetter; -import edu.wpi.first.units.measure.Angle; -import edu.wpi.first.units.measure.AngularVelocity; -import edu.wpi.first.units.measure.LinearAcceleration; +import edu.wpi.first.math.Matrix; +import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.numbers.N1; +import edu.wpi.first.math.numbers.N3; +import edu.wpi.first.units.measure.*; +import edu.wpi.first.wpilibj.DriverStation; +import edu.wpi.first.wpilibj.DriverStation.Alliance; import edu.wpi.first.wpilibj.RobotBase; import org.littletonrobotics.junction.Logger; @@ -22,12 +26,12 @@ public sealed class DriveIOCTRE extends SwerveDrivetrain pitchVelocitySignal; private final StatusSignal rollVelocitySignal; - private final StatusSignal yawVelocity; private final StatusSignal rollSignal; private final StatusSignal pitchSignal; private final StatusSignal accelerationX; private final StatusSignal accelerationY; - private final SwerveDriveState state; + + private boolean hasAppliedOperatorPerspective = false; public DriveIOCTRE() { super( @@ -49,14 +53,11 @@ public DriveIOCTRE() { super.resetPose(STARTING_POSE); } - // Get the state and pigeon of the drivetrain - state = getState(); Pigeon2 pigeon = getPigeon2(); // Store signals from the pigeon we care about pitchVelocitySignal = pigeon.getAngularVelocityYWorld(); rollVelocitySignal = pigeon.getAngularVelocityXWorld(); - yawVelocity = pigeon.getAngularVelocityZWorld(); rollSignal = pigeon.getRoll(); pitchSignal = pigeon.getPitch(); accelerationX = pigeon.getAccelerationX(); @@ -73,6 +74,15 @@ public DriveIOCTRE() { gyroscopeSignals.setUpdateFrequencyForAll(100); } + @Override + public void addVisionMeasurement( + Pose2d visionRobotPoseMeters, + double timestampSeconds, + Matrix visionMeasurementStdDevs) { + super.addVisionMeasurement( + visionRobotPoseMeters, Utils.fpgaToCurrentTime(timestampSeconds), visionMeasurementStdDevs); + } + @Override public void logModuleStates(SwerveDriveState state) { // Stop if the module states or targets are null so we don't cause an NPE @@ -82,8 +92,8 @@ public void logModuleStates(SwerveDriveState state) { for (int i = 0; i < 4; i++) { // Get the current module and its name - SwerveModule module = getModule(i); - String name = MODULE_NAMES[i]; + final SwerveModule module = getModule(i); + final String name = MODULE_NAMES[i]; // Log steering information Logger.recordOutput( @@ -100,7 +110,26 @@ public void logModuleStates(SwerveDriveState state) { } @Override - public void updateInputs(DriveInputs inputs) { + public void updateInputs(final DriveInputs inputs) { + /* + * Periodically try to apply the operator perspective. + * If we haven't applied the operator perspective before, then we should apply it regardless of DS state. + * This allows us to correct the perspective in case the robot code restarts mid-match. + * Otherwise, only check and apply the operator perspective if the DS is disabled. + * This ensures driving behavior doesn't change until an explicit disable event occurs during testing. + */ + if (!hasAppliedOperatorPerspective || DriverStation.isDisabled()) { + DriverStation.getAlliance() + .ifPresent( + allianceColor -> { + setOperatorPerspectiveForward( + allianceColor == Alliance.Red ? Rotation2d.k180deg : Rotation2d.kZero); + hasAppliedOperatorPerspective = true; + }); + } + + final SwerveDriveState state = getState(); + // Update the last known odometry DrivingUtils.updateOdometry(state.Pose, state.Speeds); @@ -113,26 +142,15 @@ public void updateInputs(DriveInputs inputs) { // Refresh all of the status signals gyroscopeSignals.refreshAll(); - // Record states we don't care about for the safety below - inputs.YawVelocity = yawVelocity.getValue(); - // Get all of the other gyro values we care about - Angle roll = rollSignal.getValue(); - Angle pitch = pitchSignal.getValue(); - AngularVelocity rollVelocity = rollVelocitySignal.getValue(); - AngularVelocity pitchVelocity = pitchVelocitySignal.getValue(); - LinearAcceleration accelX = accelerationX.getValue(); - LinearAcceleration accelY = accelerationY.getValue(); + final Angle roll = rollSignal.getValue(); + final Angle pitch = pitchSignal.getValue(); + final AngularVelocity rollVelocity = rollVelocitySignal.getValue(); + final AngularVelocity pitchVelocity = pitchVelocitySignal.getValue(); + final LinearAcceleration accelX = accelerationX.getValue(); + final LinearAcceleration accelY = accelerationY.getValue(); // Send all of the tilt values to the driving safety util DrivingUtils.updateTilt(roll, pitch, rollVelocity, pitchVelocity, accelX, accelY); - - // Finally, write all of the tils values into the inputs. - inputs.Roll = roll; - inputs.RollVelocity = rollVelocity; - inputs.Pitch = pitch; - inputs.PitchVelocity = pitchVelocity; - inputs.AccelerationX = accelX; - inputs.AccelerationY = accelY; } } diff --git a/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIOSim.java b/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIOSim.java index b39ed05..7566396 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIOSim.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/drive/DriveIOSim.java @@ -1,18 +1,14 @@ package com.frc6324.robot2026.subsystems.drive; -import static com.frc6324.robot2026.subsystems.drive.DrivetrainConstants.ODOMETRY_PERIOD; -import static edu.wpi.first.units.Units.Seconds; - import com.frc6324.robot2026.generated.TunerConstants; +import com.frc6324.robot2026.sim.MapleSimDriveBase; import edu.wpi.first.math.geometry.Pose2d; -import edu.wpi.first.wpilibj.Notifier; -import edu.wpi.first.wpilibj.Timer; -import org.ironmaple.simulation.SimulatedArena; -import org.littletonrobotics.junction.Logger; +import lombok.Getter; public final class DriveIOSim extends DriveIOCTRE { + @Getter @SuppressWarnings("unchecked") - private final MapleSimDriveBase simulation = + private final MapleSimDriveBase driveSimulation = new MapleSimDriveBase( getPigeon2(), getModules(), @@ -21,33 +17,26 @@ public final class DriveIOSim extends DriveIOCTRE { TunerConstants.BackLeft, TunerConstants.BackRight); - private final Notifier notifier = new Notifier(simulation::update); - public DriveIOSim() { super(); - registerTelemetry(state -> state.Pose = simulation.getSimulatedDriveTrainPose()); - - // Notifier.setHALThreadPriority(true, 90); - - notifier.setName("Simulation Thread"); - notifier.startPeriodic(ODOMETRY_PERIOD.in(Seconds)); + registerTelemetry( + state -> { + state.Pose = driveSimulation.getPose(); + state.Speeds = driveSimulation.getChassisSpeeds(); + }); } @Override - public void resetPose(Pose2d pose) { - simulation.setSimulationWorldPose(pose); - Timer.delay(0.05); - - super.resetPose(pose); + public void updateInputs(final DriveInputs inputs) { + driveSimulation.update(); + super.updateInputs(inputs); } @Override - public void updateInputs(DriveInputs inputs) { - super.updateInputs(inputs); + public void resetPose(Pose2d pose) { + driveSimulation.setPose(pose); - var arena = SimulatedArena.getInstance(); - Logger.recordOutput("FieldSimulation/Algae", arena.getGamePiecesArrayByType("Algae")); - Logger.recordOutput("FieldSimulation/Coral", arena.getGamePiecesArrayByType("Coral")); + super.resetPose(pose); } } diff --git a/src/main/java/com/frc6324/robot2026/subsystems/drive/DrivetrainConstants.java b/src/main/java/com/frc6324/robot2026/subsystems/drive/DrivetrainConstants.java index a0e4069..bc8fb64 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/drive/DrivetrainConstants.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/drive/DrivetrainConstants.java @@ -7,15 +7,11 @@ import edu.wpi.first.math.VecBuilder; import edu.wpi.first.math.Vector; import edu.wpi.first.math.controller.PIDController; -import edu.wpi.first.math.geometry.Pose2d; -import edu.wpi.first.math.geometry.Rotation2d; -import edu.wpi.first.math.geometry.Translation2d; +import edu.wpi.first.math.geometry.*; import edu.wpi.first.math.numbers.N3; import edu.wpi.first.math.system.plant.DCMotor; import edu.wpi.first.math.util.Units; -import edu.wpi.first.units.measure.Mass; -import edu.wpi.first.units.measure.MomentOfInertia; -import edu.wpi.first.units.measure.Time; +import edu.wpi.first.units.measure.*; import org.ironmaple.simulation.drivesims.COTS; import org.ironmaple.simulation.drivesims.configs.DriveTrainSimulationConfig; import org.ironmaple.simulation.drivesims.configs.SwerveModuleSimulationConfig; @@ -31,7 +27,7 @@ private DrivetrainConstants() { public static final Time ODOMETRY_PERIOD = Hertz.of(ODOMETRY_UPDATE_FREQUENCY).asPeriod(); public static final Vector ODOMETRY_STDDEVS = - VecBuilder.fill(0.02, 0.02, Units.degreesToRadians(2.5)); + VecBuilder.fill(0.002, 0.002, Units.degreesToRadians(0.25)); public static final Vector DEFAULT_VISION_STDDEVS = VecBuilder.fill(0.05, 0.05, Units.degreesToRadians(5)); public static final String[] MODULE_NAMES = {"FrontLeft", "FrontRight", "BackLeft", "BackRight"}; @@ -45,24 +41,27 @@ private DrivetrainConstants() { public static final Mass ROBOT_MASS = Pounds.of(140); public static final MomentOfInertia ROBOT_MOI = KilogramSquareMeters.of(6); - public static final double WHEEL_COF = 1.6; + public static final double WHEEL_COF = 2.2; + + public static final Voltage DRIVE_FRICTION_VOLTAGE = Volts.of(0.25); + public static final Voltage STEER_FRICTION_VOLTAGE = Volts.of(0.35); public static final DriveTrainSimulationConfig MAPLE_SIM_CONFIG = DriveTrainSimulationConfig.Default() .withRobotMass(ROBOT_MASS) - .withBumperSize(Inches.of(27), Inches.of(27)) + .withBumperSize(Inches.of(34), Inches.of(34)) .withCustomModuleTranslations(MODULE_TRANSLATIONS) .withGyro(COTS.ofPigeon2()) .withSwerveModule( new SwerveModuleSimulationConfig( DCMotor.getKrakenX60Foc(1), DCMotor.getKrakenX44Foc(1), - 6.03, - 287 / 11, - Volts.of(0.1), - Volts.of(0.2), + TunerConstants.kDriveGearRatio, + TunerConstants.kSteerGearRatio, + DRIVE_FRICTION_VOLTAGE, + STEER_FRICTION_VOLTAGE, Inches.of(2), - KilogramSquareMeters.of(0.03), + KilogramSquareMeters.of(0.1), WHEEL_COF)); public static final Pose2d STARTING_POSE = new Pose2d(3, 3, Rotation2d.kZero); @@ -76,7 +75,7 @@ private DrivetrainConstants() { Math.hypot(TunerConstants.BackLeft.LocationX, TunerConstants.BackLeft.LocationY), Math.hypot(TunerConstants.BackRight.LocationX, TunerConstants.BackRight.LocationY))); - public static final PIDController BLINE_TRANSLATION_CONTROLLER = new PIDController(4.5, 0, 0); - public static final PIDController BLINE_ROTATION_CONTROLLER = new PIDController(5, 0, 0); - public static final PIDController BLINE_CTE_CONTROLLER = new PIDController(7, 0, 0); + public static final PIDController BLINE_TRANSLATION_CONTROLLER = new PIDController(1.5, 0, 0); + public static final PIDController BLINE_ROTATION_CONTROLLER = new PIDController(3, 0, 0); + public static final PIDController BLINE_CTE_CONTROLLER = new PIDController(3.5, 0, 0); } diff --git a/src/main/java/com/frc6324/robot2026/subsystems/drive/DrivingUtils.java b/src/main/java/com/frc6324/robot2026/subsystems/drive/DrivingUtils.java index 93eecb0..36875b3 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/drive/DrivingUtils.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/drive/DrivingUtils.java @@ -6,13 +6,9 @@ import com.frc6324.lib.util.Elastic; import com.frc6324.lib.util.Elastic.Notification; import com.frc6324.lib.util.Elastic.NotificationLevel; -import edu.wpi.first.math.geometry.Pose2d; -import edu.wpi.first.math.geometry.Rotation2d; -import edu.wpi.first.math.geometry.Translation2d; +import edu.wpi.first.math.geometry.*; import edu.wpi.first.math.kinematics.ChassisSpeeds; -import edu.wpi.first.units.measure.Angle; -import edu.wpi.first.units.measure.AngularVelocity; -import edu.wpi.first.units.measure.LinearAcceleration; +import edu.wpi.first.units.measure.*; @UninstantiableClass public final class DrivingUtils { @@ -98,7 +94,7 @@ static void updateTilt( */ public static boolean shouldLimitMotion() { // Calculate the magnitude of the known tilt - double tiltMagnitude = Math.hypot(rollDegrees, pitchDegrees); + final double tiltMagnitude = Math.hypot(rollDegrees, pitchDegrees); if (tiltMagnitude < TILT_LOOKAHEAD_THRESHOLD) { // No need to look ahead, current tilt is fine @@ -106,11 +102,11 @@ public static boolean shouldLimitMotion() { } // Predict the robot's future tilt - double rollLookahead = predictRoll(); - double pitchLookahead = predictPitch(); + final double rollLookahead = predictRoll(); + final double pitchLookahead = predictPitch(); // Calculate the magnitude of the future tilt - double lookeaheadMagnitude = Math.hypot(rollLookahead, pitchLookahead); + final double lookeaheadMagnitude = Math.hypot(rollLookahead, pitchLookahead); if (lookeaheadMagnitude > MAX_ACCEPTABLE_TILT) { // Return the tilt being at too great @@ -126,8 +122,8 @@ public static boolean shouldLimitMotion() { private static double predictRoll() { // Use velocity & acceleration to predict where roll will be - double velocityRoll = rollDegrees + rollVelocityDPS * LOOKAHEAD_TIME; - double accelerationRoll = + final double velocityRoll = rollDegrees + rollVelocityDPS * LOOKAHEAD_TIME; + final double accelerationRoll = rollDegrees + Math.toDegrees(Math.atan2(accelYMPSsq, GRAVITY_CONSTANT)) * LOOKAHEAD_TIME; // Return the weighted roll @@ -136,8 +132,8 @@ private static double predictRoll() { private static double predictPitch() { // Use velocity & acceleration to predict where pitch will be - double velocityPitch = pitchDegrees + pitchVelocityDPS * LOOKAHEAD_TIME; - double accelerationPitch = + final double velocityPitch = pitchDegrees + pitchVelocityDPS * LOOKAHEAD_TIME; + final double accelerationPitch = pitchDegrees + Math.toDegrees(Math.atan2(accelXMPSsq, GRAVITY_CONSTANT)) * LOOKAHEAD_TIME; // Return the weighted pitch @@ -163,16 +159,17 @@ public static void updateOdometry(Pose2d currentPose, ChassisSpeeds currentSpeed * @param lookaheadPeriod How many seconds in the future to estimate. * @return The pose of the robot in {@code lookaheadPeriod} seconds. */ - public static Pose2d estimateFuturePose(double lookaheadPeriod) { - Translation2d translationRate = + public static Pose2d estimateFuturePose(final double lookaheadPeriod) { + final Translation2d translationRate = new Translation2d( currentSpeeds.vxMetersPerSecond + accelXMPSsq * lookaheadPeriod, currentSpeeds.vyMetersPerSecond + accelYMPSsq * lookaheadPeriod); - Translation2d translation = + final Translation2d translation = currentPose.getTranslation().plus(translationRate.times(lookaheadPeriod)); - Rotation2d rotationalRate = new Rotation2d(currentSpeeds.omegaRadiansPerSecond); - Rotation2d rotation = currentPose.getRotation().plus(rotationalRate.times(lookaheadPeriod)); + final Rotation2d rotationalRate = + Rotation2d.fromRadians(currentSpeeds.omegaRadiansPerSecond * lookaheadPeriod); + final Rotation2d rotation = currentPose.getRotation().plus(rotationalRate); return new Pose2d(translation, rotation); } diff --git a/src/main/java/com/frc6324/robot2026/subsystems/drive/SwerveDrive.java b/src/main/java/com/frc6324/robot2026/subsystems/drive/SwerveDrive.java index 5ecd8e6..120f4d5 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/drive/SwerveDrive.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/drive/SwerveDrive.java @@ -3,51 +3,76 @@ import static com.frc6324.robot2026.subsystems.drive.DrivetrainConstants.*; import static edu.wpi.first.units.Units.*; +import com.ctre.phoenix6.swerve.*; import com.ctre.phoenix6.swerve.SwerveDrivetrain.SwerveDriveState; -import com.ctre.phoenix6.swerve.SwerveModule.DriveRequestType; -import com.ctre.phoenix6.swerve.SwerveModule.SteerRequestType; -import com.ctre.phoenix6.swerve.SwerveModuleConstants; import com.ctre.phoenix6.swerve.SwerveModuleConstants.ClosedLoopOutputType; -import com.ctre.phoenix6.swerve.SwerveRequest; -import com.ctre.phoenix6.swerve.SwerveRequest.ApplyRobotSpeeds; -import com.ctre.phoenix6.swerve.SwerveRequest.SwerveDriveBrake; +import com.frc6324.lib.util.AllianceFlipUtil; +import com.frc6324.lib.util.LocalADStarAK; +import com.frc6324.lib.util.LoggedTracer; import com.frc6324.lib.util.PoseExtensions.PoseSupplier; +import com.frc6324.lib.util.Statics; import com.frc6324.robot2026.generated.TunerConstants; import com.frc6324.robot2026.subsystems.vision.apriltag.AprilTagVision.VisionConsumer; +import com.pathplanner.lib.auto.AutoBuilder; +import com.pathplanner.lib.config.ModuleConfig; +import com.pathplanner.lib.config.PIDConstants; +import com.pathplanner.lib.config.RobotConfig; +import com.pathplanner.lib.controllers.PPHolonomicDriveController; +import com.pathplanner.lib.pathfinding.Pathfinding; +import com.pathplanner.lib.util.PathPlannerLogging; import edu.wpi.first.math.Matrix; import edu.wpi.first.math.geometry.Pose2d; import edu.wpi.first.math.kinematics.ChassisSpeeds; import edu.wpi.first.math.numbers.N1; import edu.wpi.first.math.numbers.N3; +import edu.wpi.first.math.system.plant.DCMotor; import edu.wpi.first.units.measure.AngularVelocity; import edu.wpi.first.units.measure.LinearVelocity; import edu.wpi.first.wpilibj.RobotBase; import edu.wpi.first.wpilibj.RobotController; -import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.SubsystemBase; -import frc.robot.lib.BLine.FollowPath; import org.littletonrobotics.junction.AutoLogOutput; import org.littletonrobotics.junction.Logger; public final class SwerveDrive extends SubsystemBase implements VisionConsumer, PoseSupplier { + public static final RobotConfig PP_CONFIG = + Statics.initOrDefault( + RobotConfig::fromGUISettings, + () -> + new RobotConfig( + ROBOT_MASS, + ROBOT_MOI, + new ModuleConfig( + Inches.of(2), + getMaxLinearSpeedMeasure(), + ODOMETRY_UPDATE_FREQUENCY, + DCMotor.getKrakenX60Foc(1), + Amps.of( + TunerConstants.FrontLeft.DriveMotorInitialConfigs.CurrentLimits + .StatorCurrentLimit), + 1), + MODULE_TRANSLATIONS)); + /** The type of request to use for a drive motor. */ - public static final DriveRequestType DRIVE_REQUEST = DriveRequestType.Velocity; + public static final SwerveModule.DriveRequestType DRIVE_REQUEST = + SwerveModule.DriveRequestType.Velocity; /** The type of request to use for a steer motor. */ - public static final SteerRequestType STEER_REQUEST = SteerRequestType.Position; + public static final SwerveModule.SteerRequestType STEER_REQUEST = + SwerveModule.SteerRequestType.Position; private final DriveIO io; private final DriveInputsAutoLogged inputs = new DriveInputsAutoLogged(); - private final FollowPath.Builder pathBuilder; - private final ApplyRobotSpeeds autoSpeedsRequest = - new ApplyRobotSpeeds() + private final SwerveRequest.ApplyRobotSpeeds autoSpeedsRequest = + new SwerveRequest.ApplyRobotSpeeds() .withDriveRequestType(DRIVE_REQUEST) .withSteerRequestType(STEER_REQUEST) .withDesaturateWheelSpeeds(true); - private final SwerveDriveBrake brakeRequest = new SwerveDriveBrake(); + + private final SwerveRequest.SwerveDriveBrake brakeRequest = new SwerveRequest.SwerveDriveBrake(); /** * Creates a new drivetrain subsystem. @@ -56,39 +81,29 @@ public final class SwerveDrive extends SubsystemBase implements VisionConsumer, */ public SwerveDrive(DriveIO io) { setName("Drivetrain"); - this.io = io; - // Create the builder we will use for BLine - pathBuilder = - new FollowPath.Builder( - this, - this::getPose, - this::getChassisSpeeds, - speeds -> io.setControl(autoSpeedsRequest.withSpeeds(speeds)), - BLINE_TRANSLATION_CONTROLLER, - BLINE_ROTATION_CONTROLLER, - BLINE_CTE_CONTROLLER) - .withDefaultShouldFlip() - .withPoseReset(this::setPoseIfSim); - - // Configure logging callbacks for BLine - FollowPath.setPoseLoggingConsumer( - (data) -> { - Logger.recordOutput("BLine/" + data.getFirst(), data.getSecond()); - }); - FollowPath.setBooleanLoggingConsumer( - (data) -> { - Logger.recordOutput("BLine/" + data.getFirst(), data.getSecond()); - }); - FollowPath.setDoubleLoggingConsumer( - (data) -> { - Logger.recordOutput("BLine/" + data.getFirst(), data.getSecond()); - }); - FollowPath.setTranslationListLoggingConsumer( - (data) -> { - Logger.recordOutput("BLine/" + data.getFirst(), data.getSecond()); - }); + AutoBuilder.configure( + this::getPose, + this::setPoseIfSim, + this::getChassisSpeeds, + (speeds, ff) -> + setControl( + autoSpeedsRequest + .withSpeeds(speeds) + .withWheelForceFeedforwardsX(ff.robotRelativeForcesX()) + .withWheelForceFeedforwardsY(ff.robotRelativeForcesY())), + new PPHolonomicDriveController(new PIDConstants(5), new PIDConstants(5)), + PP_CONFIG, + AllianceFlipUtil::shouldFlip, + this); + + PathPlannerLogging.setLogActivePathCallback( + (poses) -> + Logger.recordOutput("PathPlanner/CurrentTrajectory", poses.toArray(Pose2d[]::new))); + PathPlannerLogging.setLogTargetPoseCallback( + pose -> Logger.recordOutput("PathPlanner/TargetPose", pose)); + Pathfinding.setPathfinder(new LocalADStarAK()); // Put the swerve widget on SmartDashboard SmartDashboard.putData(new SwerveWidget(this)); @@ -122,15 +137,6 @@ public Command brake() { return applyRequest(brakeRequest); } - /** - * Gets the BLine builder configured for the drivetrain. - * - * @return The builder used to build BLine paths. - */ - public FollowPath.Builder getBLineBuilder() { - return pathBuilder; - } - /** * Gets the speed of the robot. * @@ -162,13 +168,10 @@ SwerveDriveState getState() { @Override public void periodic() { - double timestamp = Timer.getFPGATimestamp(); - io.updateInputs(inputs); Logger.processInputs("Drive", inputs); - io.logModuleStates(inputs); - Logger.recordOutput("Drive/UpdateLatency", Timer.getFPGATimestamp() - timestamp); + LoggedTracer.record("Drive periodic"); } /** @@ -195,7 +198,7 @@ public void setPose(Pose2d pose) { * @param pose The pose to reset to. */ public void setPoseIfSim(Pose2d pose) { - if (RobotBase.isSimulation()) { + if (io instanceof DriveIOSim) { setPose(pose); } } @@ -293,25 +296,25 @@ private static void regulateModuleConstantForSimulation( moduleConstants.DriveMotorInverted = false; moduleConstants.SteerMotorInverted = false; - // Use Voltage output during sim since Torque Current doesn't play nice - moduleConstants.SteerMotorClosedLoopOutput = ClosedLoopOutputType.Voltage; - moduleConstants.SteerMotorClosedLoopOutput = ClosedLoopOutputType.Voltage; - - // Alter motor PID gains for both sim and voltage + // Adjust drive PID for simulation (still in torque current) moduleConstants.DriveMotorGains.kP = 10; moduleConstants.DriveMotorGains.kD = 0; - moduleConstants.DriveMotorGains.kS = 0; + moduleConstants.DriveMotorGains.kS = 0.5; - moduleConstants.SteerMotorGains.kP = 80; - moduleConstants.SteerMotorGains.kD = 8; + // Use Voltage output during sim since Torque Current doesn't play nice + moduleConstants.SteerMotorClosedLoopOutput = ClosedLoopOutputType.Voltage; + // Alter steer motor PID gains for both sim and voltage + moduleConstants.SteerMotorGains.kP = 12.5; + moduleConstants.SteerMotorGains.kD = 1; moduleConstants.SteerMotorGains.kS = 0.6; moduleConstants.SteerMotorGains.kV = 0; + moduleConstants.SteerMotorGains.kA = 0; // Adjust friction voltages for sim - moduleConstants.DriveFrictionVoltage = 0.1; - moduleConstants.SteerFrictionVoltage = 0.15; + moduleConstants.DriveFrictionVoltage = DRIVE_FRICTION_VOLTAGE.in(Volts); + moduleConstants.SteerFrictionVoltage = STEER_FRICTION_VOLTAGE.in(Volts); // Adjust steer inertia - moduleConstants.SteerInertia = 0.05; + moduleConstants.SteerInertia = 0.1; } } diff --git a/src/main/java/com/frc6324/robot2026/subsystems/drive/SwerveWidget.java b/src/main/java/com/frc6324/robot2026/subsystems/drive/SwerveWidget.java index 560ab68..3f28e16 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/drive/SwerveWidget.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/drive/SwerveWidget.java @@ -6,12 +6,12 @@ public final class SwerveWidget implements Sendable { private final SwerveDrive drive; - public SwerveWidget(SwerveDrive drive) { + public SwerveWidget(final SwerveDrive drive) { this.drive = drive; } @Override - public void initSendable(SendableBuilder builder) { + public void initSendable(final SendableBuilder builder) { builder.setSmartDashboardType("SwerveDrive"); // Initialize the front left module diff --git a/src/main/java/com/frc6324/robot2026/subsystems/indexer/Indexer.java b/src/main/java/com/frc6324/robot2026/subsystems/indexer/Indexer.java new file mode 100644 index 0000000..c9b4999 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/indexer/Indexer.java @@ -0,0 +1,50 @@ +package com.frc6324.robot2026.subsystems.indexer; + +import static com.frc6324.robot2026.subsystems.indexer.IndexerConstants.*; +import static edu.wpi.first.units.Units.RPM; + +import com.frc6324.lib.util.LoggedTracer; +import edu.wpi.first.units.measure.AngularVelocity; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import org.littletonrobotics.junction.Logger; + +public final class Indexer extends SubsystemBase { + private final IndexerIO motorsIO; + private final IndexerInputsAutoLogged motorInputs = new IndexerInputsAutoLogged(); + + public Indexer(IndexerIO indexer) { + motorsIO = indexer; + } + + public boolean isFull() { + return false; + } + + @Override + public void periodic() { + motorsIO.updateInputs(motorInputs); + Logger.processInputs("Indexer", motorInputs); + LoggedTracer.record("Indexer periodic"); + } + + public void runIndexerWheel() { + final AngularVelocity addition = INDEXER_SPINNER_SHAKE_ADDITION.times(Math.random()); + final AngularVelocity velocity = INDEXER_SPINNER_VELOCITY.plus(addition); + + Logger.recordOutput("Indexer/SpinnerVelocitySetpoint", velocity); + motorsIO.setSpinnerVelocity(velocity); + } + + public void runKickerWheel() { + motorsIO.setKickerVelocity(INDEXER_KICKER_VELOCITY); + } + + public void stopIndexerWheel() { + Logger.recordOutput("Indexer/SpinnerVelocitySetpoint", RPM.zero()); + motorsIO.stopSpinner(); + } + + public void stopKickerWheel() { + motorsIO.stopKicker(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerConstants.java b/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerConstants.java new file mode 100644 index 0000000..00002d0 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerConstants.java @@ -0,0 +1,72 @@ +package com.frc6324.robot2026.subsystems.indexer; + +import static edu.wpi.first.units.Units.Amps; +import static edu.wpi.first.units.Units.RPM; +import static edu.wpi.first.units.Units.RotationsPerSecond; + +import com.ctre.phoenix6.CANBus; +import com.ctre.phoenix6.configs.CurrentLimitsConfigs; +import com.ctre.phoenix6.configs.FeedbackConfigs; +import com.ctre.phoenix6.configs.MotorOutputConfigs; +import com.ctre.phoenix6.configs.Slot0Configs; +import com.ctre.phoenix6.configs.TalonFXConfiguration; +import com.ctre.phoenix6.signals.InvertedValue; +import com.ctre.phoenix6.sim.TalonFXSimState.MotorType; +import com.frc6324.lib.UninstantiableClass; +import com.frc6324.robot2026.Constants; +import edu.wpi.first.math.system.plant.DCMotor; +import edu.wpi.first.units.measure.AngularVelocity; + +@UninstantiableClass +public final class IndexerConstants { + public static final CANBus INDEXER_CAN_BUS = Constants.CANIVORE; + public static final int INDEXER_SPINNER_MOTOR_ID = 30; + public static final int INDEXER_FEEDER_MOTOR_ID = 31; + + public static final AngularVelocity INDEXER_SPINNER_VELOCITY = RPM.of(600); + public static final AngularVelocity INDEXER_SPINNER_SHAKE_ADDITION = RPM.of(5); + public static final AngularVelocity INDEXER_KICKER_VELOCITY = RotationsPerSecond.of(38); + + public static final TalonFXConfiguration INDEXER_SPINNER_CONFIG = + new TalonFXConfiguration() + // CURRENT LIMITS + .withCurrentLimits( + new CurrentLimitsConfigs() + .withStatorCurrentLimit(Amps.of(120)) + .withStatorCurrentLimitEnable(true) + .withSupplyCurrentLimit(Amps.of(40)) + .withSupplyCurrentLimitEnable(true)) + // FEEDBACK + .withFeedback(new FeedbackConfigs().withSensorToMechanismRatio(9)) + .withMotorOutput(new MotorOutputConfigs().withInverted(InvertedValue.Clockwise_Positive)) + // GAINS + .withSlot0(new Slot0Configs().withKP(25).withKD(0.5).withKV(0.05).withKS(2.6)); + + public static final TalonFXConfiguration INDEXER_KICKER_CONFIG = + new TalonFXConfiguration() + // CURRENT LIMITS + .withCurrentLimits( + new CurrentLimitsConfigs() + .withStatorCurrentLimit(Amps.of(60)) + .withStatorCurrentLimitEnable(true) + .withSupplyCurrentLimit(Amps.of(40)) + .withSupplyCurrentLimitEnable(true)) + // FEEDBACK + .withFeedback(new FeedbackConfigs().withSensorToMechanismRatio(3)) + // GAINS + .withSlot0(new Slot0Configs().withKP(6).withKV(0.15).withKS(5)); + + public static final DCMotor INDEXER_KICKER_GEARBOX = DCMotor.getKrakenX44Foc(1); + public static final MotorType INDEXER_KICKER_MOTOR_TYPE = MotorType.KrakenX44; + public static final double INDEXER_KICKER_REDUCTION = 3; + public static final double INDEXER_KICKER_MOI = 0.01; + + public static final DCMotor INDEXER_SPINNER_GEARBOX = DCMotor.getKrakenX60Foc(1); + public static final MotorType INDEXER_SPINNER_MOTOR_TYPE = MotorType.KrakenX60; + public static final double INDEXER_SPINNER_REDUCTION = 9; + public static final double INDEXER_SPINNER_MOI = 0.1; + + private IndexerConstants() { + throw new IllegalAccessError(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerIO.java b/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerIO.java new file mode 100644 index 0000000..58deab8 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerIO.java @@ -0,0 +1,33 @@ +package com.frc6324.robot2026.subsystems.indexer; + +import static edu.wpi.first.units.Units.*; + +import edu.wpi.first.units.measure.*; +import org.littletonrobotics.junction.AutoLog; + +@FunctionalInterface +public interface IndexerIO { + default void setKickerVelocity(AngularVelocity velocity) {} + + default void setSpinnerVelocity(AngularVelocity velocity) {} + + default void stopKicker() {} + + default void stopSpinner() {} + + void updateInputs(IndexerInputs inputs); + + @AutoLog + public class IndexerInputs { + public boolean spinnerMotorConnected = false; + public boolean kickerMotorConnected = false; + + public AngularVelocity spinnerVelocity = RadiansPerSecond.zero(); + public Voltage spinnerMotorVoltage = Volts.zero(); + public Current spinnerStatorCurrent = Amps.zero(); + + public AngularVelocity kickerVelocity = RadiansPerSecond.zero(); + public Voltage kickerMotorVoltage = Volts.zero(); + public Current kickerStatorCurrent = Amps.zero(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerIOSim.java b/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerIOSim.java new file mode 100644 index 0000000..1fefed2 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerIOSim.java @@ -0,0 +1,55 @@ +package com.frc6324.robot2026.subsystems.indexer; + +import static com.frc6324.robot2026.subsystems.indexer.IndexerConstants.*; + +import com.ctre.phoenix6.sim.TalonFXSimState; +import com.frc6324.lib.util.DeltaTimeCalculator; +import edu.wpi.first.math.system.plant.LinearSystemId; +import edu.wpi.first.wpilibj.RobotController; +import edu.wpi.first.wpilibj.simulation.FlywheelSim; + +public class IndexerIOSim extends IndexerIOTalonFX { + private final TalonFXSimState kickerSimState = kicker.getSimState(); + private final FlywheelSim kickerSimulation = + new FlywheelSim( + LinearSystemId.createFlywheelSystem( + INDEXER_KICKER_GEARBOX, INDEXER_KICKER_MOI, INDEXER_KICKER_REDUCTION), + INDEXER_KICKER_GEARBOX); + + private final TalonFXSimState spinnerSimState = spinner.getSimState(); + private final FlywheelSim spinnerSimulation = + new FlywheelSim( + LinearSystemId.createFlywheelSystem( + INDEXER_SPINNER_GEARBOX, INDEXER_SPINNER_MOI, INDEXER_SPINNER_REDUCTION), + INDEXER_SPINNER_GEARBOX); + + private final DeltaTimeCalculator deltaTime = new DeltaTimeCalculator(); + + public IndexerIOSim() { + kickerSimState.setMotorType(INDEXER_KICKER_MOTOR_TYPE); + spinnerSimState.setMotorType(INDEXER_SPINNER_MOTOR_TYPE); + } + + @Override + public void updateInputs(IndexerInputs inputs) { + final double dt = deltaTime.get(); + final double batteryVoltage = RobotController.getBatteryVoltage(); + + kickerSimState.setSupplyVoltage(batteryVoltage); + spinnerSimState.setSupplyVoltage(batteryVoltage); + + kickerSimulation.setInputVoltage(kickerSimState.getMotorVoltage()); + kickerSimulation.update(dt); + + spinnerSimulation.setInputVoltage(spinnerSimState.getMotorVoltage()); + spinnerSimulation.update(dt); + + kickerSimState.setRotorVelocity(kickerSimulation.getAngularVelocity()); + kickerSimState.setRotorAcceleration(kickerSimulation.getAngularAcceleration()); + + spinnerSimState.setRotorVelocity(spinnerSimulation.getAngularVelocity()); + spinnerSimState.setRotorAcceleration(spinnerSimulation.getAngularAcceleration()); + + super.updateInputs(inputs); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerIOTalonFX.java b/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerIOTalonFX.java new file mode 100644 index 0000000..29a05e6 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/indexer/IndexerIOTalonFX.java @@ -0,0 +1,86 @@ +package com.frc6324.robot2026.subsystems.indexer; + +import static com.frc6324.lib.util.PhoenixUtil.tryUntilOk; +import static com.frc6324.robot2026.subsystems.indexer.IndexerConstants.*; +import static edu.wpi.first.units.Units.Hertz; + +import com.ctre.phoenix6.BaseStatusSignal; +import com.ctre.phoenix6.StatusSignal; +import com.ctre.phoenix6.controls.VelocityTorqueCurrentFOC; +import com.ctre.phoenix6.hardware.ParentDevice; +import com.ctre.phoenix6.hardware.TalonFX; +import com.ctre.phoenix6.signals.NeutralModeValue; +import com.frc6324.lib.util.PhoenixUtil; +import edu.wpi.first.units.measure.*; + +public class IndexerIOTalonFX implements IndexerIO { + protected final TalonFX spinner = new TalonFX(INDEXER_SPINNER_MOTOR_ID, INDEXER_CAN_BUS); + protected final TalonFX kicker = new TalonFX(INDEXER_FEEDER_MOTOR_ID, INDEXER_CAN_BUS); + + private final VelocityTorqueCurrentFOC kickerRequest = + new VelocityTorqueCurrentFOC(0).withOverrideCoastDurNeutral(true); + private final VelocityTorqueCurrentFOC spinnerRequest = + new VelocityTorqueCurrentFOC(0) + .withOverrideCoastDurNeutral(true) + .withUpdateFreqHz(Hertz.of(500)); + + private final StatusSignal kickerVelocity = kicker.getVelocity(); + private final StatusSignal kickerVoltage = kicker.getMotorVoltage(); + private final StatusSignal kickerStatorCurrent = kicker.getStatorCurrent(); + private final BaseStatusSignal[] kickerSignals = { + kickerVelocity, kickerVoltage, kickerStatorCurrent, + }; + + private final StatusSignal spinnerVelocity = spinner.getVelocity(); + private final StatusSignal spinnerVoltage = spinner.getMotorVoltage(); + private final StatusSignal spinnerStatorCurrent = spinner.getStatorCurrent(); + private final BaseStatusSignal[] spinnerSignals = { + spinnerVelocity, spinnerVoltage, spinnerStatorCurrent, + }; + + public IndexerIOTalonFX() { + PhoenixUtil.addSignals(kicker, kickerSignals); + PhoenixUtil.addSignals(spinner, spinnerSignals); + ParentDevice.optimizeBusUtilizationForAll(0, kicker, spinner); + + spinner.setSafetyEnabled(false); + + tryUntilOk(5, () -> kicker.getConfigurator().apply(INDEXER_KICKER_CONFIG)); + tryUntilOk(5, () -> kicker.setNeutralMode(NeutralModeValue.Brake)); + tryUntilOk(5, () -> spinner.getConfigurator().apply(INDEXER_SPINNER_CONFIG)); + tryUntilOk(5, () -> spinner.setNeutralMode(NeutralModeValue.Coast)); + } + + @Override + public void setKickerVelocity(AngularVelocity velocity) { + kicker.setControl(kickerRequest.withVelocity(velocity)); + } + + @Override + public void setSpinnerVelocity(AngularVelocity velocity) { + spinner.setControl(spinnerRequest.withVelocity(velocity)); + } + + @Override + public void stopKicker() { + kicker.stopMotor(); + } + + @Override + public void stopSpinner() { + spinner.stopMotor(); + } + + @Override + public void updateInputs(IndexerInputs inputs) { + inputs.kickerMotorConnected = BaseStatusSignal.isAllGood(kickerSignals); + inputs.kickerVelocity = kickerVelocity.getValue(); + inputs.kickerMotorVoltage = kickerVoltage.getValue(); + inputs.kickerStatorCurrent = kickerStatorCurrent.getValue(); + + inputs.spinnerMotorConnected = BaseStatusSignal.isAllGood(spinnerSignals); + inputs.spinnerVelocity = spinnerVelocity.getValue(); + inputs.spinnerMotorVoltage = spinnerVoltage.getValue(); + inputs.spinnerStatorCurrent = spinnerStatorCurrent.getValue(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/intake/Intake.java b/src/main/java/com/frc6324/robot2026/subsystems/intake/Intake.java new file mode 100644 index 0000000..0d07b16 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/intake/Intake.java @@ -0,0 +1,97 @@ +package com.frc6324.robot2026.subsystems.intake; + +import static com.frc6324.robot2026.subsystems.intake.IntakeConstants.*; +import static edu.wpi.first.units.Units.*; + +import com.frc6324.lib.util.CommonUtils; +import com.frc6324.lib.util.LoggedTracer; +import com.frc6324.robot2026.sim.MapleSimManager; +import edu.wpi.first.math.geometry.Rotation3d; +import edu.wpi.first.math.geometry.Transform3d; +import edu.wpi.first.math.geometry.Translation3d; +import edu.wpi.first.units.measure.Distance; +import edu.wpi.first.wpilibj.RobotBase; +import edu.wpi.first.wpilibj2.command.Commands; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import edu.wpi.first.wpilibj2.command.button.Trigger; +import lombok.experimental.ExtensionMethod; +import org.littletonrobotics.junction.Logger; + +@ExtensionMethod(CommonUtils.class) +public final class Intake extends SubsystemBase { + private final IntakeIO io; + private final IntakeInputsAutoLogged inputs = new IntakeInputsAutoLogged(); + private Distance extensionDistance = Inches.zero(); + + public final Trigger isDeployed = new Trigger(this::isDeployed); + public final Trigger isStowed = new Trigger(this::isStowed); + + public Intake(IntakeIO io) { + this.io = io; + + if (RobotBase.isSimulation()) { + isDeployed.onTrue( + Commands.runOnce(() -> MapleSimManager.getInstance().setIntakeExtended(true))); + isDeployed.onFalse( + Commands.runOnce(() -> MapleSimManager.getInstance().setIntakeExtended(false))); + } + } + + public void deploy() { + io.setPosition(INTAKE_DEPLOYED_POSITION, INTAKE_FAST_SLOT); + } + + public boolean isDeployed() { + return inputs.motorPosition.isNear(INTAKE_DEPLOYED_POSITION, INTAKE_DEPLOY_TOLERANCE); + } + + public boolean isRetracted() { + return inputs.motorPosition.isNear(INTAKE_RETRACTED_POSITION, INTAKE_DEPLOY_TOLERANCE); + } + + public boolean isSafeToTrench() { + return inputs.motorPosition.gte(INTAKE_TRENCH_SAFE_POSITION); + } + + public boolean isStowed() { + return inputs.motorPosition.isNear(INTAKE_STOWED_POSITION, INTAKE_DEPLOY_TOLERANCE); + } + + @Override + public void periodic() { + io.updateInputs(inputs); + Logger.processInputs("Intake/Deploy", inputs); + + // Unary minus is there bc the motor is inverted IRL + extensionDistance = + INTAKE_EXTENSION.times(inputs.motorPosition.div(INTAKE_DEPLOYED_POSITION).magnitude()); + + LoggedTracer.record("Intake periodic"); + } + + public void retract() { + io.setPosition(INTAKE_RETRACTED_POSITION, INTAKE_SLOW_SLOT); + } + + @Override + public void simulationPeriodic() { + Translation3d mechTranslation = + new Translation3d(extensionDistance, Inches.zero(), Inches.zero()) + .rotateBy(INTAKE_MECHANISM_ROTATION); + + Logger.recordOutput( + "Intake/MechanismTransform", new Transform3d(mechTranslation, Rotation3d.kZero)); + } + + public void spring() { + io.spring(); + } + + public void stow() { + io.setPosition(INTAKE_STOWED_POSITION, INTAKE_FAST_SLOT); + } + + public boolean visionAvailable() { + return inputs.motorPosition.gte(INTAKE_VISION_THRESHOLD); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeConstants.java b/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeConstants.java index beb05ca..251127a 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeConstants.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeConstants.java @@ -1,17 +1,77 @@ package com.frc6324.robot2026.subsystems.intake; -import static edu.wpi.first.units.Units.Inches; +import static edu.wpi.first.units.Units.*; +import com.ctre.phoenix6.CANBus; +import com.ctre.phoenix6.configs.CurrentLimitsConfigs; +import com.ctre.phoenix6.configs.FeedbackConfigs; +import com.ctre.phoenix6.configs.MotionMagicConfigs; +import com.ctre.phoenix6.configs.MotorOutputConfigs; +import com.ctre.phoenix6.configs.Slot0Configs; +import com.ctre.phoenix6.configs.Slot1Configs; +import com.ctre.phoenix6.configs.SoftwareLimitSwitchConfigs; +import com.ctre.phoenix6.configs.TalonFXConfiguration; +import com.ctre.phoenix6.signals.InvertedValue; +import com.ctre.phoenix6.sim.TalonFXSimState.MotorType; import com.frc6324.lib.UninstantiableClass; -import edu.wpi.first.units.measure.Distance; +import com.frc6324.robot2026.Constants; +import edu.wpi.first.math.geometry.Rotation3d; +import edu.wpi.first.math.system.plant.DCMotor; +import edu.wpi.first.units.measure.*; @UninstantiableClass public final class IntakeConstants { - private IntakeConstants() throws Error { - throw new IllegalAccessError(); - } + public static final CANBus INTAKE_CAN_BUS = Constants.CANIVORE; + public static final int INTAKE_MOTOR_ID = 20; + public static final double INTAKE_REDUCTION = 9; - public static final int MOTOR_ID = 20; + public static final int INTAKE_FAST_SLOT = 0; + public static final int INTAKE_SLOW_SLOT = 1; public static final Distance INTAKE_WIDTH = Inches.of(27); + public static final Distance INTAKE_EXTENSION = Inches.of(12); + + // Deployment setpoints + public static final Angle INTAKE_MAX_POSITION = Rotations.of(4.1); + public static final Angle INTAKE_DEPLOYED_POSITION = Rotations.of(4.1); + public static final Angle INTAKE_VISION_THRESHOLD = Rotations.of(2); + public static final Angle INTAKE_DEPLOY_TOLERANCE = Degrees.of(60); + public static final Angle INTAKE_RETRACTED_POSITION = Rotations.of(2); + public static final Angle INTAKE_TRENCH_SAFE_POSITION = Rotations.of(3); + public static final Angle INTAKE_STOWED_POSITION = Rotations.of(0); + + public static final TalonFXConfiguration INTAKE_MOTOR_CONFIG = + new TalonFXConfiguration() + .withCurrentLimits( + new CurrentLimitsConfigs() + .withStatorCurrentLimit(Amps.of(70)) + .withStatorCurrentLimitEnable(true) + .withSupplyCurrentLimit(Amps.of(45)) + .withSupplyCurrentLimitEnable(true)) + .withFeedback(new FeedbackConfigs().withSensorToMechanismRatio(INTAKE_REDUCTION)) + .withMotionMagic( + new MotionMagicConfigs() + .withMotionMagicCruiseVelocity(RotationsPerSecond.of(5)) + .withMotionMagicAcceleration(RotationsPerSecondPerSecond.of(25)) + .withMotionMagicJerk(0)) + .withMotorOutput(new MotorOutputConfigs().withInverted(InvertedValue.Clockwise_Positive)) + .withSlot0(new Slot0Configs().withKP(200).withKI(10).withKD(6.7).withKV(1).withKS(0.1)) + .withSlot1(new Slot1Configs().withKP(60).withKD(6.7).withKV(1).withKA(0.25).withKS(0.1)) + .withSoftwareLimitSwitch( + new SoftwareLimitSwitchConfigs() + .withForwardSoftLimitThreshold(INTAKE_MAX_POSITION) + .withForwardSoftLimitEnable(true) + .withReverseSoftLimitThreshold(INTAKE_STOWED_POSITION) + .withReverseSoftLimitEnable(true)); + + // Simulation constants for the extension/retraction motor + public static final double INTAKE_MOI = 0.2; + public static final DCMotor INTAKE_GEARBOX = DCMotor.getKrakenX60Foc(1); + public static final MotorType INTAKE_MOTOR_TYPE = MotorType.KrakenX60; + public static final Rotation3d INTAKE_MECHANISM_ROTATION = + new Rotation3d(Degrees.zero(), Degrees.of(18.5), Degrees.zero()); + + private IntakeConstants() { + throw new IllegalAccessError(); + } } diff --git a/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeIO.java b/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeIO.java new file mode 100644 index 0000000..ffa8479 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeIO.java @@ -0,0 +1,30 @@ +package com.frc6324.robot2026.subsystems.intake; + +import static edu.wpi.first.units.Units.*; + +import edu.wpi.first.units.measure.*; +import org.littletonrobotics.junction.AutoLog; + +@FunctionalInterface +public interface IntakeIO { + default void setPosition(Angle position, int slot) {} + + default void spring() {} + + /** + * Updates a set of loggable inputs for the intake. + * + * @param inputs the inputs to modify. + */ + void updateInputs(IntakeInputs inputs); + + @AutoLog + class IntakeInputs { + public boolean motorConnected = false; + + public Angle motorPosition = Rotations.zero(); + public AngularVelocity motorVelocity = RotationsPerSecond.zero(); + public Voltage motorVoltage = Volts.zero(); + public Current motorStatorCurrent = Amps.zero(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeIOSim.java b/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeIOSim.java new file mode 100644 index 0000000..26c9467 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeIOSim.java @@ -0,0 +1,46 @@ +package com.frc6324.robot2026.subsystems.intake; + +import static com.frc6324.robot2026.subsystems.intake.IntakeConstants.*; + +import com.ctre.phoenix6.sim.TalonFXSimState; +import com.frc6324.lib.util.DeltaTimeCalculator; +import edu.wpi.first.math.system.plant.LinearSystemId; +import edu.wpi.first.wpilibj.RobotController; +import edu.wpi.first.wpilibj.simulation.DCMotorSim; + +public final class IntakeIOSim extends IntakeIOTalonFX { + private final TalonFXSimState deploySimState = talon.getSimState(); + private final DCMotorSim deploySimulation = + new DCMotorSim( + LinearSystemId.createDCMotorSystem(INTAKE_GEARBOX, INTAKE_MOI, INTAKE_REDUCTION), + INTAKE_GEARBOX); + + private final DeltaTimeCalculator deltaTime = new DeltaTimeCalculator(); + + /** Creates a new sim implementation of the intake. */ + public IntakeIOSim() { + deploySimState.setMotorType(INTAKE_MOTOR_TYPE); + } + + @Override + public void updateInputs(IntakeInputs inputs) { + // Get the time since the last loop and the robot's current battery + final double dt = deltaTime.get(); + final double batteryVoltage = RobotController.getBatteryVoltage(); + + // Set the supply voltages for all of the sim states + deploySimState.setSupplyVoltage(batteryVoltage); + + // Update the deploy motor sim + deploySimulation.setInputVoltage(deploySimState.getMotorVoltage()); + deploySimulation.update(dt); + + // Set the phoenix sim state for the deploy motor + deploySimState.setRawRotorPosition(deploySimulation.getAngularPosition()); + deploySimState.setRotorVelocity(deploySimulation.getAngularVelocity()); + deploySimState.setRotorAcceleration(deploySimulation.getAngularAcceleration()); + + // Defer to `super` to actually update inputs. + super.updateInputs(inputs); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeIOTalonFX.java b/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeIOTalonFX.java new file mode 100644 index 0000000..0953c96 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/intake/IntakeIOTalonFX.java @@ -0,0 +1,55 @@ +package com.frc6324.robot2026.subsystems.intake; + +import static com.frc6324.lib.util.PhoenixUtil.tryUntilOk; +import static com.frc6324.robot2026.subsystems.intake.IntakeConstants.*; + +import com.ctre.phoenix6.BaseStatusSignal; +import com.ctre.phoenix6.StatusSignal; +import com.ctre.phoenix6.controls.PositionTorqueCurrentFOC; +import com.ctre.phoenix6.hardware.TalonFX; +import com.ctre.phoenix6.signals.NeutralModeValue; +import com.frc6324.lib.util.PhoenixUtil; +import edu.wpi.first.units.measure.*; + +public class IntakeIOTalonFX implements IntakeIO { + protected final TalonFX talon = new TalonFX(INTAKE_MOTOR_ID, INTAKE_CAN_BUS); + private final PositionTorqueCurrentFOC request = new PositionTorqueCurrentFOC(0); + // Status signals + private final StatusSignal deployPosition = talon.getPosition(); + private final StatusSignal deployVelocity = talon.getVelocity(); + private final StatusSignal deployMotorVoltage = talon.getMotorVoltage(); + private final StatusSignal deployStatorCurrent = talon.getStatorCurrent(); + + private final BaseStatusSignal[] signals = { + deployPosition, deployVelocity, deployMotorVoltage, deployStatorCurrent, + }; + + public IntakeIOTalonFX() { + PhoenixUtil.addSignals(talon, signals); + talon.optimizeBusUtilization(0); + + // Set configurations for the motor + tryUntilOk(5, () -> talon.getConfigurator().apply(INTAKE_MOTOR_CONFIG)); + tryUntilOk(5, () -> talon.setNeutralMode(NeutralModeValue.Coast)); + } + + @Override + public void setPosition(Angle position, int slot) { + talon.setControl(request.withPosition(position).withSlot(slot)); + } + + @Override + public void spring() { + talon.setControl(request.withPosition(INTAKE_DEPLOYED_POSITION)); + } + + @Override + public void updateInputs(IntakeInputs inputs) { + inputs.motorConnected = BaseStatusSignal.isAllGood(signals); + + inputs.motorPosition = deployPosition.getValue(); + inputs.motorVelocity = deployVelocity.getValue(); + inputs.motorVoltage = deployMotorVoltage.getValue(); + inputs.motorStatorCurrent = deployStatorCurrent.getValue(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/leds/LEDs.java b/src/main/java/com/frc6324/robot2026/subsystems/leds/LEDs.java new file mode 100644 index 0000000..c22c209 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/leds/LEDs.java @@ -0,0 +1,79 @@ +package com.frc6324.robot2026.subsystems.leds; + +import static com.frc6324.robot2026.subsystems.leds.LEDsConstants.*; + +import com.frc6324.lib.UninstantiableClass; +import com.frc6324.lib.util.LoggedTracer; +import com.frc6324.lib.util.VirtualSubsystem; +import edu.wpi.first.math.filter.Debouncer; +import edu.wpi.first.math.filter.Debouncer.DebounceType; +import edu.wpi.first.wpilibj.AddressableLED; +import edu.wpi.first.wpilibj.AddressableLEDBuffer; +import edu.wpi.first.wpilibj.AddressableLEDBufferView; +import edu.wpi.first.wpilibj.DriverStation; +import edu.wpi.first.wpilibj.LEDPattern; +import edu.wpi.first.wpilibj.RobotController; + +public final class LEDs extends VirtualSubsystem { + private final AddressableLED leds = new AddressableLED(LED_RIO_PWM_PORT); + private final AddressableLEDBuffer buffer = new AddressableLEDBuffer(LED_BUFFER_LENGTH); + + private final AddressableLEDBufferView fmsView = + buffer.createView(LED_FMS_BUFFER_START, LED_BUFFER_LENGTH - 1); + private final AddressableLEDBufferView dataView = buffer.createView(0, LED_FMS_BUFFER_START - 1); + private final Debouncer browoutDebouncer = new Debouncer(1, DebounceType.kRising); + + public LEDs() { + leds.setLength(LED_BUFFER_LENGTH); + leds.setData(buffer); + leds.start(); + } + + @Override + public void periodic() { + final LEDPattern fmsPattern = + DriverStation.isDSAttached() + ? (DriverStation.isFMSAttached() + ? LED_ALL_CONNECTED_PATTERN + : LED_FMS_DISCONNECTED_PATTERN) + : LED_DS_DISCONNECTED_PATTERN; + fmsPattern.applyTo(fmsView); + + final boolean browningOut = browoutDebouncer.calculate(RobotController.isBrownedOut()); + + final LEDPattern dataPattern; + if (DriverStation.isEStopped()) { + dataPattern = LED_ESTOP_PATTERN; + } else if (browningOut) { + dataPattern = LED_BROWNOUT_PATTERN; + } else { + if (LEDState.shooting) { + dataPattern = LED_SHOOTING_PATTERN; + } else if (LEDState.passing) { + dataPattern = LED_PASSING_PATTERN; + } else if (LEDState.outtaking) { + dataPattern = LED_OUTTAKING_PATTERN; + } else if (LEDState.intaking) { + dataPattern = LED_INTAKING_PATTERN; + } else { + dataPattern = LED_DEFAULT_PATTERN; + } + } + dataPattern.applyTo(dataView); + + leds.setData(buffer); + LoggedTracer.record("LEDs periodic"); + } + + @UninstantiableClass + public static final class LEDState { + public static boolean passing = false; + public static boolean shooting = false; + public static boolean outtaking = false; + public static boolean intaking = false; + + private LEDState() { + throw new IllegalAccessError(); + } + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/leds/LEDsConstants.java b/src/main/java/com/frc6324/robot2026/subsystems/leds/LEDsConstants.java new file mode 100644 index 0000000..5925915 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/leds/LEDsConstants.java @@ -0,0 +1,43 @@ +package com.frc6324.robot2026.subsystems.leds; + +import static edu.wpi.first.units.Units.Percent; +import static edu.wpi.first.units.Units.Second; +import static edu.wpi.first.units.Units.Seconds; + +import com.frc6324.lib.UninstantiableClass; +import edu.wpi.first.wpilibj.LEDPattern; +import edu.wpi.first.wpilibj.LEDPattern.GradientType; +import edu.wpi.first.wpilibj.util.Color; + +@UninstantiableClass +public final class LEDsConstants { + public static final int LED_RIO_PWM_PORT = 0; + public static final int LED_BUFFER_LENGTH = 15; + + public static final int LED_FMS_BUFFER_START = 13; + + public static final Color LED_DEFAULT_COLOR = new Color(0, 51, 160); + public static final LEDPattern LED_DEFAULT_PATTERN = LEDPattern.solid(LED_DEFAULT_COLOR); + + public static final LEDPattern LED_ALL_CONNECTED_PATTERN = LEDPattern.solid(Color.kGreen); + public static final LEDPattern LED_DS_DISCONNECTED_PATTERN = LEDPattern.solid(Color.kRed); + public static final LEDPattern LED_FMS_DISCONNECTED_PATTERN = LEDPattern.solid(Color.kPurple); + public static final LEDPattern LED_ESTOP_PATTERN = LEDPattern.solid(Color.kRed); + public static final LEDPattern LED_BROWNOUT_PATTERN = + LEDPattern.solid(Color.kDarkOrange).blink(Seconds.of(2)); + public static final LEDPattern LED_OUTTAKING_PATTERN = + LEDPattern.gradient(GradientType.kDiscontinuous, Color.kMaroon, Color.kYellow); + public static final LEDPattern LED_INTAKING_PATTERN = + LEDPattern.solid(Color.kYellow).blink(Seconds.of(0.5), Seconds.of(0.2)); + public static final LEDPattern LED_SHOOTING_PATTERN = + LEDPattern.gradient(GradientType.kContinuous, Color.kDeepPink, Color.kCyan) + .scrollAtRelativeSpeed(Percent.per(Second).of(50)); + public static final LEDPattern LED_PASSING_PATTERN = + LEDPattern.gradient( + GradientType.kContinuous, Color.kBlueViolet, Color.kChartreuse, Color.kSilver) + .scrollAtRelativeSpeed(Percent.per(Second).of(-50)); + + private LEDsConstants() { + throw new IllegalAccessError(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerConstants.java b/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerConstants.java new file mode 100644 index 0000000..d7994fb --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerConstants.java @@ -0,0 +1,36 @@ +package com.frc6324.robot2026.subsystems.rollers; + +import static edu.wpi.first.units.Units.RPM; + +import com.ctre.phoenix6.CANBus; +import com.ctre.phoenix6.configs.Slot0Configs; +import com.ctre.phoenix6.configs.TalonFXConfiguration; +import com.ctre.phoenix6.signals.MotorAlignmentValue; +import com.ctre.phoenix6.sim.TalonFXSimState.MotorType; +import com.frc6324.lib.UninstantiableClass; +import com.frc6324.robot2026.Constants; +import edu.wpi.first.math.system.plant.DCMotor; +import edu.wpi.first.units.measure.AngularVelocity; + +@UninstantiableClass +public final class RollerConstants { + public static final CANBus ROLLER_CAN_BUS = Constants.RIO_BUS; + public static final int ROLLER_LEADER_ID = 21; + public static final int ROLLER_FOLLOWER_ID = 22; + + public static final TalonFXConfiguration ROLLER_MOTOR_CONFIG = + new TalonFXConfiguration() + .withSlot0(new Slot0Configs().withKP(5).withKD(0.001).withKS(1).withKV(1)); + public static final MotorAlignmentValue ROLLER_ALIGNMENT = MotorAlignmentValue.Opposed; + public static final AngularVelocity ROLLER_SPIN_VELOCITY = RPM.of(5000); + public static final AngularVelocity ROLLER_OUTTAKE_VELOCITY = RPM.of(-6000); + + public static final double ROLLER_MOI = 0.1; + public static final double ROLLER_REDUCTION = 2; + public static final MotorType ROLLER_MOTOR_TYPE = MotorType.KrakenX44; + public static final DCMotor ROLLER_GEARBOX = DCMotor.getKrakenX44Foc(2); + + private RollerConstants() { + throw new IllegalAccessError(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerIO.java b/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerIO.java new file mode 100644 index 0000000..757bcf2 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerIO.java @@ -0,0 +1,31 @@ +package com.frc6324.robot2026.subsystems.rollers; + +import static edu.wpi.first.units.Units.*; + +import edu.wpi.first.units.measure.*; +import org.littletonrobotics.junction.AutoLog; + +@FunctionalInterface +public interface RollerIO { + default void start() {} + + default void stop() {} + + default void outtake() {} + + void updateInputs(RollerInputs inputs); + + @AutoLog + class RollerInputs { + public boolean leaderConnected = false; + public boolean followerConnected = false; + + public AngularVelocity leaderVelocity = RotationsPerSecond.zero(); + public Voltage leaderMotorVoltage = Volts.zero(); + public Current leaderStatorCurrent = Amps.zero(); + + public AngularVelocity followerVelocity = RotationsPerSecond.zero(); + public Voltage followerMotorVoltage = Volts.zero(); + public Current followerStatorCurrent = Amps.zero(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerIOSim.java b/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerIOSim.java new file mode 100644 index 0000000..ee1fb64 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerIOSim.java @@ -0,0 +1,57 @@ +package com.frc6324.robot2026.subsystems.rollers; + +import static com.frc6324.robot2026.subsystems.rollers.RollerConstants.*; + +import com.ctre.phoenix6.sim.TalonFXSimState; +import com.frc6324.lib.util.DeltaTimeCalculator; +import edu.wpi.first.math.system.plant.LinearSystemId; +import edu.wpi.first.wpilibj.RobotController; +import edu.wpi.first.wpilibj.simulation.FlywheelSim; + +public final class RollerIOSim extends RollerIOTalonFX { + private final TalonFXSimState leaderSimState = leader.getSimState(); + private final TalonFXSimState followerSimState = follower.getSimState(); + + private final FlywheelSim leaderSimulation = + new FlywheelSim( + LinearSystemId.createFlywheelSystem(ROLLER_GEARBOX, ROLLER_MOI, ROLLER_REDUCTION), + ROLLER_GEARBOX); + private final FlywheelSim followerSimulation = + new FlywheelSim( + LinearSystemId.createFlywheelSystem(ROLLER_GEARBOX, ROLLER_MOI, ROLLER_REDUCTION), + ROLLER_GEARBOX); + + private final DeltaTimeCalculator deltaTime = new DeltaTimeCalculator(); + + public RollerIOSim() { + leaderSimState.setMotorType(ROLLER_MOTOR_TYPE); + followerSimState.setMotorType(ROLLER_MOTOR_TYPE); + } + + @Override + public void updateInputs(RollerInputs inputs) { + final double dt = deltaTime.get(); + final double batteryVoltage = RobotController.getBatteryVoltage(); + + // Update the CTRE sims' supply voltage measure + leaderSimState.setSupplyVoltage(batteryVoltage); + followerSimState.setSupplyVoltage(batteryVoltage); + + // Set the wpilib simulations' input voltage per motor + leaderSimulation.setInputVoltage(leaderSimState.getMotorVoltage()); + followerSimulation.setInputVoltage(followerSimState.getMotorVoltage()); + + // Update the simulations + leaderSimulation.update(dt); + followerSimulation.update(dt); + + // Update the sim states of the leader and follower motors + leaderSimState.setRotorVelocity(leaderSimulation.getAngularVelocity()); + leaderSimState.setRotorAcceleration(leaderSimulation.getAngularAcceleration()); + followerSimState.setRotorVelocity(followerSimulation.getAngularVelocity()); + followerSimState.setRotorAcceleration(followerSimulation.getAngularAcceleration()); + + // Defer to `super` to actually update the inputs + super.updateInputs(inputs); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerIOTalonFX.java b/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerIOTalonFX.java new file mode 100644 index 0000000..cffd8c6 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/rollers/RollerIOTalonFX.java @@ -0,0 +1,100 @@ +package com.frc6324.robot2026.subsystems.rollers; + +import static com.frc6324.lib.util.PhoenixUtil.tryUntilOk; +import static com.frc6324.robot2026.subsystems.rollers.RollerConstants.*; +import static edu.wpi.first.units.Units.Hertz; + +import com.ctre.phoenix6.BaseStatusSignal; +import com.ctre.phoenix6.StatusSignal; +import com.ctre.phoenix6.StatusSignalCollection; +import com.ctre.phoenix6.controls.Follower; +import com.ctre.phoenix6.controls.VelocityTorqueCurrentFOC; +import com.ctre.phoenix6.hardware.ParentDevice; +import com.ctre.phoenix6.hardware.TalonFX; +import com.ctre.phoenix6.signals.InvertedValue; +import com.ctre.phoenix6.signals.NeutralModeValue; +import com.frc6324.robot2026.Constants; +import edu.wpi.first.units.measure.*; + +public class RollerIOTalonFX implements RollerIO { + protected final TalonFX leader = new TalonFX(ROLLER_LEADER_ID, ROLLER_CAN_BUS); + protected final TalonFX follower = new TalonFX(ROLLER_FOLLOWER_ID, ROLLER_CAN_BUS); + + private final Follower followerRequest = new Follower(ROLLER_LEADER_ID, ROLLER_ALIGNMENT); + private final VelocityTorqueCurrentFOC spinRequest = new VelocityTorqueCurrentFOC(0).withSlot(0); + + private final StatusSignal leaderVelocity = leader.getVelocity(); + private final StatusSignal leaderMotorVoltage = leader.getMotorVoltage(); + private final StatusSignal leaderStatorCurrent = leader.getStatorCurrent(); + private final BaseStatusSignal[] leaderSignals = { + leaderVelocity, leaderMotorVoltage, leaderStatorCurrent + }; + + private final StatusSignal followerVelocity = follower.getVelocity(); + private final StatusSignal followerMotorVoltage = follower.getMotorVoltage(); + private final StatusSignal followerStatorCurrent = follower.getStatorCurrent(); + private final BaseStatusSignal[] followerSignals = { + followerVelocity, followerMotorVoltage, followerStatorCurrent, + }; + + private final StatusSignalCollection rollerSignals = new StatusSignalCollection(); + + public RollerIOTalonFX() { + // Add all of the leader and follower's signals to the larger collection + rollerSignals.addSignals(leaderSignals); + rollerSignals.addSignals(followerSignals); + + if (ROLLER_CAN_BUS == Constants.CANIVORE) { + // If the rollers are on the CANivore, synchronize all of its signals + rollerSignals.waitForAll(1); + } + + // Set the update frequency to that of the robot code + rollerSignals.setUpdateFrequencyForAll(Hertz.of(100)); + // Disable all unneccesary status signals to save CAN bus utilization + ParentDevice.optimizeBusUtilizationForAll(0, leader, follower); + + // Configure both of the motors + tryUntilOk(5, () -> leader.getConfigurator().apply(ROLLER_MOTOR_CONFIG)); + ROLLER_MOTOR_CONFIG.MotorOutput.Inverted = InvertedValue.Clockwise_Positive; + tryUntilOk(5, () -> follower.getConfigurator().apply(ROLLER_MOTOR_CONFIG)); + + // Configure the motors to brake when stopped + tryUntilOk(5, () -> leader.setNeutralMode(NeutralModeValue.Brake)); + tryUntilOk(5, () -> follower.setNeutralMode(NeutralModeValue.Brake)); + } + + @Override + public void start() { + leader.setControl(spinRequest.withVelocity(ROLLER_SPIN_VELOCITY)); + follower.setControl(followerRequest); + } + + @Override + public void stop() { + leader.stopMotor(); + follower.stopMotor(); + } + + @Override + public void outtake() { + leader.setControl(spinRequest.withVelocity(ROLLER_OUTTAKE_VELOCITY)); + follower.setControl(followerRequest); + } + + @Override + public void updateInputs(RollerInputs inputs) { + rollerSignals.refreshAll(); + + inputs.leaderConnected = BaseStatusSignal.isAllGood(leaderSignals); + inputs.followerConnected = BaseStatusSignal.isAllGood(followerSignals); + + inputs.leaderVelocity = leaderVelocity.getValue(); + inputs.leaderMotorVoltage = leaderMotorVoltage.getValue(); + inputs.leaderStatorCurrent = leaderStatorCurrent.getValue(); + + inputs.followerVelocity = followerVelocity.getValue(); + inputs.followerMotorVoltage = followerMotorVoltage.getValue(); + inputs.followerStatorCurrent = followerStatorCurrent.getValue(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/rollers/Rollers.java b/src/main/java/com/frc6324/robot2026/subsystems/rollers/Rollers.java new file mode 100644 index 0000000..620e99e --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/rollers/Rollers.java @@ -0,0 +1,63 @@ +package com.frc6324.robot2026.subsystems.rollers; + +import com.frc6324.lib.util.LoggedTracer; +import edu.wpi.first.math.filter.Debouncer; +import edu.wpi.first.wpilibj.Alert; +import edu.wpi.first.wpilibj.Alert.AlertType; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import org.littletonrobotics.junction.Logger; + +public final class Rollers extends SubsystemBase { + private final RollerIO io; + private final RollerInputsAutoLogged inputs = new RollerInputsAutoLogged(); + private final Debouncer leaderDiconnectedDebouncer = new Debouncer(0.5); + private final Debouncer followerDisconnectedDebouncer = new Debouncer(0.5); + private final Alert leaderDisconnectedAlert = + new Alert("Lead roller motor is disconnected!", AlertType.kError); + private final Alert followerDisconnectedAlert = + new Alert("Follower roller motor is disconnected!", AlertType.kError); + + /** + * Creates a new roller subsystem with the given I/O implementation. + * + * @param io The implementation to use for the rollers. + */ + public Rollers(RollerIO io) { + setName("Intake Rollers"); + + this.io = io; + leaderDisconnectedAlert.set(false); + followerDisconnectedAlert.set(false); + } + + @Override + public void periodic() { + // Update & log inputs + io.updateInputs(inputs); + Logger.processInputs("Intake/Rollers", inputs); + + // Update the alerts using the debounced connection values + final boolean leaderDisconnected = + leaderDiconnectedDebouncer.calculate(!inputs.leaderConnected); + final boolean followerDisconnected = + followerDisconnectedDebouncer.calculate(!inputs.followerConnected); + leaderDisconnectedAlert.set(leaderDisconnected); + followerDisconnectedAlert.set(followerDisconnected); + + LoggedTracer.record("Rollers periodic"); + } + + /** Starts the intake's rollers. */ + public void spinRollers() { + io.start(); + } + + /** Immediately stops the intake's rollers. */ + public void stopRollers() { + io.stop(); + } + + public void outtake() { + io.outtake(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/shooter/Shooter.java b/src/main/java/com/frc6324/robot2026/subsystems/shooter/Shooter.java new file mode 100644 index 0000000..984cf77 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/shooter/Shooter.java @@ -0,0 +1,136 @@ +package com.frc6324.robot2026.subsystems.shooter; + +import static com.frc6324.lib.util.CommonUtils.NINETY_DEGREES; +import static com.frc6324.robot2026.subsystems.shooter.ShooterConstants.*; +import static com.frc6324.robot2026.subsystems.shooter.ShooterConstants.FlywheelConstants.*; +import static com.frc6324.robot2026.subsystems.shooter.ShooterConstants.HoodConstants.*; +import static edu.wpi.first.units.Units.*; + +import com.frc6324.lib.util.LoggedTracer; +import com.frc6324.robot2026.sim.MapleSimManager; +import edu.wpi.first.math.geometry.Pose3d; +import edu.wpi.first.math.geometry.Rotation3d; +import edu.wpi.first.math.geometry.Translation3d; +import edu.wpi.first.units.measure.Angle; +import edu.wpi.first.units.measure.AngularVelocity; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import org.littletonrobotics.junction.Logger; + +public final class Shooter extends SubsystemBase { + private final ShooterIO io; + private final ShooterInputsAutoLogged inputs = new ShooterInputsAutoLogged(); + + private Angle hoodSetpoint = Rotations.zero(); + private boolean hoodAtSetpoint = false; + private AngularVelocity flywheelSetpoint = RadiansPerSecond.zero(); + + /** + * Creates a new shooter subsystem. + * + * @param io The implementation of the shooter's I/O to use. + */ + public Shooter(ShooterIO io) { + this.io = io; + } + + public boolean atTargetHoodAngle() { + return hoodAtSetpoint; + } + + /** + * Commands the shooter to pass into this robot's alliance zone. + * + * @param distanceToZone The distance from the robot to the alliance zone. + */ + public void pass(double distanceToZone) { + setHoodAngle(HOOD_MAX_ANGLE); + + AngularVelocity targetVelocity = PASSING_FLYWHEEL_VELOCITY_MAP.get(distanceToZone); + setFlywheelVelocity(targetVelocity, FLYWHEEL_SHOOTING_SLOT); + } + + @Override + public void periodic() { + io.updateInputs(inputs); + Logger.processInputs("Shooter", inputs); + + hoodAtSetpoint = inputs.hoodPosition.isNear(hoodSetpoint, HOOD_TOLERANCE); + + Logger.recordOutput("Shooter/Hood Setpoint", hoodSetpoint); + Logger.recordOutput("Shooter/Hood At Setpoint", hoodAtSetpoint); + Logger.recordOutput("Shooter/Flywheel Setpoint", flywheelSetpoint); + + LoggedTracer.record("Shooter periodic"); + } + + /** + * Sets the target velocity of the flywheel. + * + * @param velocity The velocity setpoint. + */ + private void setFlywheelVelocity(AngularVelocity velocity, int slot) { + io.setFlywheelVelocity(velocity, slot); + flywheelSetpoint = velocity; + } + + /** + * Sets the target position of the hood. + * + * @param angle The hood setpoint. + */ + private void setHoodAngle(Angle angle) { + io.setHoodAngle(angle); + hoodSetpoint = angle; + } + + @Override + public void simulationPeriodic() { + final Angle shooterAngle = inputs.hoodPosition; + final double shooterAngleRads = + shooterAngle.div(HOOD_MAX_ANGLE).magnitude() * HOOD_SIM_MAX_ANGLE.in(Radians); + + final Rotation3d rot = new Rotation3d(0, shooterAngleRads, 0); + final Translation3d translation = ROBOT_TO_HOOD_AXLE.plus(HOOD_AXLE_TO_HOOD.rotateBy(rot)); + + final Rotation3d flippedRot = new Rotation3d(0, -shooterAngleRads, 0); + final Pose3d hoodPose = new Pose3d(translation, flippedRot); + + Logger.recordOutput("Shooter/HoodMechanismPosition", hoodPose); + + MapleSimManager.getInstance() + .setShooterState( + translation.plus(HOOD_SIM_SHOOTING_OFFSET), + inputs.flywheelLeaderVelocity, + NINETY_DEGREES.minus(inputs.hoodPosition)); + } + + /** + * Commands the shooter to shoot into the hub. + * + * @param distanceToHub The distance from the robot to the hub. + */ + public void shootIntoHub(double distanceToHub) { + Angle hoodAngle = HOOD_ANGLE_MAP.get(distanceToHub); + AngularVelocity targetVelocity = HUB_FLYWHEEL_VELOCITY_MAP.get(distanceToHub); + + setHoodAngle(hoodAngle); + setFlywheelVelocity(targetVelocity, FLYWHEEL_SHOOTING_SLOT); + } + + public void spinUpForHubShot(double distanceToHub) { + final Angle angle = HOOD_ANGLE_MAP.get(distanceToHub); + setHoodAngle(angle); + + setFlywheelVelocity(FLYWHEEL_IDLE_SPEED, FLYWHEEL_SPINUP_SLOT); + } + + /** Commands the flywheel to coast out to conserve battery voltage. */ + public void stopFlywheel() { + io.coastFlywheel(); + } + + /** Commands the hood to stow when it isn't being used. */ + public void stowHood() { + setHoodAngle(HOOD_STOW_ANGLE); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterConstants.java b/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterConstants.java new file mode 100644 index 0000000..a5e422b --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterConstants.java @@ -0,0 +1,186 @@ +package com.frc6324.robot2026.subsystems.shooter; + +import static edu.wpi.first.units.Units.*; + +import com.ctre.phoenix6.CANBus; +import com.ctre.phoenix6.configs.*; +import com.ctre.phoenix6.signals.*; +import com.ctre.phoenix6.sim.TalonFXSimState.MotorType; +import com.frc6324.lib.UninstantiableClass; +import com.frc6324.robot2026.Constants; +import edu.wpi.first.math.geometry.*; +import edu.wpi.first.math.interpolation.InterpolatingTreeMap; +import edu.wpi.first.math.interpolation.InverseInterpolator; +import edu.wpi.first.math.system.plant.DCMotor; +import edu.wpi.first.math.util.Units; +import edu.wpi.first.units.measure.*; + +@UninstantiableClass +public final class ShooterConstants { + public static final CANBus SHOOTER_CAN_BUS = Constants.CANIVORE; + public static final Transform2d SHOOTER_POSITION = + new Transform2d(Units.inchesToMeters(-6), Units.inchesToMeters(6), Rotation2d.kZero); + + public static final double APPROX_FUEL_PER_SECOND = 5; + public static final double TIME_TO_LAUNCH_FUEL = (1 / APPROX_FUEL_PER_SECOND); + + public static final InterpolatingTreeMap HOOD_ANGLE_MAP = + new InterpolatingTreeMap<>( + InverseInterpolator.forDouble(), (a1, a2, t) -> a1.plus(a2.minus(a1).times(t))); + + public static final InterpolatingTreeMap HUB_FLYWHEEL_VELOCITY_MAP = + new InterpolatingTreeMap<>( + InverseInterpolator.forDouble(), (v1, v2, t) -> v1.plus(v2.minus(v1).times(t))); + + public static final InterpolatingTreeMap PASSING_FLYWHEEL_VELOCITY_MAP = + new InterpolatingTreeMap<>( + InverseInterpolator.forDouble(), (v1, v2, t) -> v1.plus(v2.minus(v1).times(t))); + + static { + HUB_FLYWHEEL_VELOCITY_MAP.put(0.0, RotationsPerSecond.of(34)); + HUB_FLYWHEEL_VELOCITY_MAP.put(1.2, RotationsPerSecond.of(34)); + HUB_FLYWHEEL_VELOCITY_MAP.put(1.5, RotationsPerSecond.of(35.25)); + HUB_FLYWHEEL_VELOCITY_MAP.put(1.75, RotationsPerSecond.of(36.75)); + HUB_FLYWHEEL_VELOCITY_MAP.put(2.0, RotationsPerSecond.of(37.75)); + HUB_FLYWHEEL_VELOCITY_MAP.put(2.25, RotationsPerSecond.of(39)); + HUB_FLYWHEEL_VELOCITY_MAP.put(2.5, RotationsPerSecond.of(40.25)); + HUB_FLYWHEEL_VELOCITY_MAP.put(2.75, RotationsPerSecond.of(41.5)); + HUB_FLYWHEEL_VELOCITY_MAP.put(3.0, RotationsPerSecond.of(42.75)); + HUB_FLYWHEEL_VELOCITY_MAP.put(3.25, RotationsPerSecond.of(44)); + HUB_FLYWHEEL_VELOCITY_MAP.put(3.5, RotationsPerSecond.of(45.25)); + HUB_FLYWHEEL_VELOCITY_MAP.put(3.75, RotationsPerSecond.of(45.25)); + HUB_FLYWHEEL_VELOCITY_MAP.put(4.0, RotationsPerSecond.of(46.25)); + HUB_FLYWHEEL_VELOCITY_MAP.put(4.25, RotationsPerSecond.of(47)); + HUB_FLYWHEEL_VELOCITY_MAP.put(4.5, RotationsPerSecond.of(47.75)); + HUB_FLYWHEEL_VELOCITY_MAP.put(5.0, RotationsPerSecond.of(48.75)); + HUB_FLYWHEEL_VELOCITY_MAP.put(5.3, RotationsPerSecond.of(50.5)); + + PASSING_FLYWHEEL_VELOCITY_MAP.put(0.0, RotationsPerSecond.of(20)); + PASSING_FLYWHEEL_VELOCITY_MAP.put(3.4, RotationsPerSecond.of(42)); + PASSING_FLYWHEEL_VELOCITY_MAP.put(4.1, RotationsPerSecond.of(45)); + PASSING_FLYWHEEL_VELOCITY_MAP.put(4.75, RotationsPerSecond.of(47)); + PASSING_FLYWHEEL_VELOCITY_MAP.put(5.5, RotationsPerSecond.of(50)); + PASSING_FLYWHEEL_VELOCITY_MAP.put(6.0, RotationsPerSecond.of(55)); + PASSING_FLYWHEEL_VELOCITY_MAP.put(7.0, RotationsPerSecond.of(59)); + PASSING_FLYWHEEL_VELOCITY_MAP.put(8.8, RotationsPerSecond.of(61.5)); + PASSING_FLYWHEEL_VELOCITY_MAP.put(16.0, RotationsPerSecond.of(61.5)); + + HOOD_ANGLE_MAP.put(0.0, Rotations.of(0.15)); + HOOD_ANGLE_MAP.put(3.5, Rotations.of(0.15)); + HOOD_ANGLE_MAP.put(3.75, Rotations.of(0.225)); + HOOD_ANGLE_MAP.put(4.0, Rotations.of(0.3)); + HOOD_ANGLE_MAP.put(4.25, Rotations.of(0.3)); + HOOD_ANGLE_MAP.put(4.5, Rotations.of(0.35)); + HOOD_ANGLE_MAP.put(5.0, Rotations.of(0.3875)); + HOOD_ANGLE_MAP.put(7.0, Rotations.of(0.4)); + } + + /** Constants for the shooter's hood. */ + @UninstantiableClass + public static final class HoodConstants { + public static final int HOOD_MOTOR_ID = 40; + public static final double HOOD_REDUCTION = 5; + + /** The translation from the robot's center to the axle the hood is mounted on. */ + public static final Translation3d ROBOT_TO_HOOD_AXLE = + new Translation3d(Inches.of(-1.75), Inches.of(0.75), Inches.of(17.5)); + + /** The translation from the axle the hood is mounted on to the hood itself. */ + public static final Translation3d HOOD_AXLE_TO_HOOD = + new Translation3d(-0.110334, 0, -0.0609053); + + /** + * The offset from the {@link #HOOD_AXLE_TO_HOOD} translation that gets the center point of the + * hood. + */ + public static final Translation3d HOOD_SIM_SHOOTING_OFFSET = + new Translation3d(0, -0.0224069, 0); + + // Setpoint values & tolerance + public static final Angle HOOD_STOW_ANGLE = Rotations.of(0.05); + public static final Angle HOOD_MAX_ANGLE = Rotations.of(0.6); + public static final Angle HOOD_SIM_MAX_ANGLE = Degrees.of(25); + public static final Angle HOOD_TOLERANCE = Rotations.of(0.05); + + /** The full configuration for the hood's {@link com.ctre.phoenix6.hardware.TalonFX TalonFX}. */ + public static final TalonFXConfiguration HOOD_MOTOR_CONFIG = + new TalonFXConfiguration() + .withCurrentLimits( + new CurrentLimitsConfigs() + .withStatorCurrentLimit(Amps.of(70)) + .withStatorCurrentLimitEnable(true) + .withSupplyCurrentLimit(Amps.of(40)) + .withSupplyCurrentLimitEnable(true)) + .withFeedback(new FeedbackConfigs().withSensorToMechanismRatio(HOOD_REDUCTION)) + .withMotorOutput( + new MotorOutputConfigs() + .withControlTimesyncFreqHz(Hertz.of(100)) + .withInverted(InvertedValue.Clockwise_Positive) + .withNeutralMode(NeutralModeValue.Brake)) + .withSlot0(new Slot0Configs().withKP(200).withKI(15).withKD(3.5).withKG(2.6)) + .withSoftwareLimitSwitch( + new SoftwareLimitSwitchConfigs() + .withForwardSoftLimitThreshold(HOOD_MAX_ANGLE) + .withForwardSoftLimitEnable(true) + .withReverseSoftLimitThreshold(Rotations.zero()) + .withReverseSoftLimitEnable(true)); + + /** The gearbox for the hood's motor. */ + public static final DCMotor HOOD_GEARBOX = DCMotor.getKrakenX44Foc(1); + + /** The type of motor the hood uses (a Kraken X44). */ + public static final MotorType HOOD_MOTOR_TYPE = MotorType.KrakenX44; + + /** The inertia of the hood. */ + public static final MomentOfInertia HOOD_MOI = KilogramSquareMeters.of(0.02); + + private HoodConstants() { + throw new IllegalAccessError(); + } + } + + @UninstantiableClass + public static final class FlywheelConstants { + public static final int FLYWHEEL_LEADER_ID = 41; + public static final int FLYWHEEL_FOLLOWER_ID = 42; + // Accounts for loss of speed due to compression, slip and others that we can't explicitly model + // in sim + public static final double FLYWHEEL_EFFICIENCY = 0.7; + public static final double FLYWHEEL_BACKSPIN_EFFICIENCY = 0.4; + public static final Distance FLYWHEEL_RADIUS = Inches.of(1.5); + + public static final AngularVelocity FLYWHEEL_IDLE_SPEED = RPM.of(1500); + public static final MotorAlignmentValue FLYWHEEL_MOTOR_ALIGNMENT = MotorAlignmentValue.Opposed; + + public static final TalonFXConfiguration FLYWHEEL_MOTOR_CONFIG = + new TalonFXConfiguration() + .withCurrentLimits( + new CurrentLimitsConfigs() + .withStatorCurrentLimit(Amps.of(120)) + .withStatorCurrentLimitEnable(true) + .withSupplyCurrentLimit(Amps.of(100)) + .withSupplyCurrentLimitEnable(true)) + .withMotorOutput( + new MotorOutputConfigs() + .withControlTimesyncFreqHz(Hertz.of(100)) + .withInverted(InvertedValue.CounterClockwise_Positive) + .withNeutralMode(NeutralModeValue.Brake)) + .withSlot0(new Slot0Configs().withKP(10).withKI(5).withKD(0.1).withKS(10).withKV(0.175)) + .withSlot1(new Slot1Configs().withKP(5).withKI(5).withKS(0.05).withKS(10).withKV(0.75)); + + public static final int FLYWHEEL_SHOOTING_SLOT = 0; + public static final int FLYWHEEL_SPINUP_SLOT = 1; + + public static final DCMotor FLYWHEEL_GEARBOX = DCMotor.getKrakenX60Foc(2); + public static final MotorType FLYWHEEL_MOTOR_TYPE = MotorType.KrakenX60; + public static final MomentOfInertia FLYWHEEL_MOI = KilogramSquareMeters.of(0.0011705586); + + private FlywheelConstants() { + throw new IllegalAccessError(); + } + } + + private ShooterConstants() { + throw new IllegalAccessError(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterIO.java b/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterIO.java new file mode 100644 index 0000000..56aeea6 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterIO.java @@ -0,0 +1,39 @@ +package com.frc6324.robot2026.subsystems.shooter; + +import static edu.wpi.first.units.Units.*; + +import edu.wpi.first.units.measure.*; +import org.littletonrobotics.junction.AutoLog; + +@FunctionalInterface +public interface ShooterIO { + default void coastFlywheel() {} + + default void setFlywheelVelocity(AngularVelocity velocity, int slot) {} + + default void setHoodAngle(Angle angle) {} + + default void stopHoodMotor() {} + + void updateInputs(ShooterInputs inputs); + + @AutoLog + public class ShooterInputs { + public boolean hoodConnected = false; + public boolean flywheelLeaderConnected = false; + public boolean flywheelFollowerConnected = false; + + public Angle hoodPosition = Rotations.zero(); + public AngularVelocity hoodVelocity = RotationsPerSecond.zero(); + public Voltage hoodMotorVoltage = Volts.zero(); + public Current hoodStatorCurrent = Amps.zero(); + + public AngularVelocity flywheelLeaderVelocity = RotationsPerSecond.zero(); + public Voltage flywheelLeaderMotorVoltage = Volts.zero(); + public Current flywheelLeaderStatorCurrent = Amps.zero(); + + public AngularVelocity flywheelFollowerVelocity = RotationsPerSecond.zero(); + public Voltage flywheelFollowerMotorVoltage = Volts.zero(); + public Current flywheelFollowerStatorCurrent = Amps.zero(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterIOSim.java b/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterIOSim.java new file mode 100644 index 0000000..6168f20 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterIOSim.java @@ -0,0 +1,62 @@ +package com.frc6324.robot2026.subsystems.shooter; + +import static com.frc6324.robot2026.subsystems.shooter.ShooterConstants.FlywheelConstants.*; +import static com.frc6324.robot2026.subsystems.shooter.ShooterConstants.HoodConstants.*; +import static edu.wpi.first.units.Units.KilogramSquareMeters; + +import com.ctre.phoenix6.sim.TalonFXSimState; +import com.frc6324.lib.util.DeltaTimeCalculator; +import edu.wpi.first.math.system.plant.LinearSystemId; +import edu.wpi.first.wpilibj.RobotController; +import edu.wpi.first.wpilibj.simulation.DCMotorSim; +import edu.wpi.first.wpilibj.simulation.FlywheelSim; + +public class ShooterIOSim extends ShooterIOTalonFX { + private final DCMotorSim hoodSim = + new DCMotorSim( + LinearSystemId.createDCMotorSystem( + HOOD_GEARBOX, HOOD_MOI.in(KilogramSquareMeters), HOOD_REDUCTION), + HOOD_GEARBOX); + private final FlywheelSim flywheelSim = + new FlywheelSim( + LinearSystemId.createFlywheelSystem( + FLYWHEEL_GEARBOX, FLYWHEEL_MOI.in(KilogramSquareMeters), 1), + FLYWHEEL_GEARBOX); + + private final TalonFXSimState hoodSimState = hoodTalon.getSimState(); + private final TalonFXSimState flywheelSimState = flywheelLeader.getSimState(); + private final DeltaTimeCalculator deltaTime = new DeltaTimeCalculator(); + + public ShooterIOSim() { + hoodSimState.setMotorType(HOOD_MOTOR_TYPE); + flywheelSimState.setMotorType(FLYWHEEL_MOTOR_TYPE); + } + + @Override + public void updateInputs(ShooterInputs inputs) { + final double dt = deltaTime.get(); + final double batteryVoltage = RobotController.getBatteryVoltage(); + + // Inform the motors of the supply voltage + hoodSimState.setSupplyVoltage(batteryVoltage); + flywheelSimState.setSupplyVoltage(batteryVoltage); + + // Update the sims + hoodSim.setInputVoltage(hoodSimState.getMotorVoltage()); + hoodSim.update(dt); + flywheelSim.setInputVoltage(flywheelSimState.getMotorVoltage()); + flywheelSim.update(dt); + + // Update the hood's state + hoodSimState.setRawRotorPosition(hoodSim.getAngularPosition()); + hoodSimState.setRotorVelocity(hoodSim.getAngularVelocity()); + hoodSimState.setRotorAcceleration(hoodSim.getAngularAcceleration()); + + // Update the flywheel's state + flywheelSimState.setRotorVelocity(flywheelSim.getAngularVelocity()); + flywheelSimState.setRotorAcceleration(flywheelSim.getAngularAcceleration()); + + // Defer to `super` to actually update inputs. + super.updateInputs(inputs); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterIOTalonFX.java b/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterIOTalonFX.java new file mode 100644 index 0000000..e366e62 --- /dev/null +++ b/src/main/java/com/frc6324/robot2026/subsystems/shooter/ShooterIOTalonFX.java @@ -0,0 +1,123 @@ +package com.frc6324.robot2026.subsystems.shooter; + +import static com.frc6324.lib.util.PhoenixUtil.tryUntilOk; +import static com.frc6324.robot2026.subsystems.shooter.ShooterConstants.*; +import static com.frc6324.robot2026.subsystems.shooter.ShooterConstants.FlywheelConstants.*; +import static com.frc6324.robot2026.subsystems.shooter.ShooterConstants.HoodConstants.*; +import static edu.wpi.first.units.Units.Hertz; + +import com.ctre.phoenix6.BaseStatusSignal; +import com.ctre.phoenix6.StatusSignal; +import com.ctre.phoenix6.controls.Follower; +import com.ctre.phoenix6.controls.PositionTorqueCurrentFOC; +import com.ctre.phoenix6.controls.VelocityTorqueCurrentFOC; +import com.ctre.phoenix6.hardware.ParentDevice; +import com.ctre.phoenix6.hardware.TalonFX; +import com.ctre.phoenix6.signals.InvertedValue; +import com.frc6324.lib.util.PhoenixUtil; +import edu.wpi.first.units.measure.*; + +public class ShooterIOTalonFX implements ShooterIO { + protected final TalonFX hoodTalon = new TalonFX(HOOD_MOTOR_ID, SHOOTER_CAN_BUS); + protected final TalonFX flywheelLeader = new TalonFX(FLYWHEEL_LEADER_ID, SHOOTER_CAN_BUS); + protected final TalonFX flywheelFollower = new TalonFX(FLYWHEEL_FOLLOWER_ID, SHOOTER_CAN_BUS); + + // Control requests (have higher update frequencies to make PID smoother-ish and stick faster to ) + private final PositionTorqueCurrentFOC hoodRequest = + new PositionTorqueCurrentFOC(0) + .withSlot(0) + .withUpdateFreqHz(Hertz.of(500)) + .withUseTimesync(true); + + private final VelocityTorqueCurrentFOC flywheelRequest = + new VelocityTorqueCurrentFOC(0) + .withSlot(0) + .withUpdateFreqHz(Hertz.of(1000)) + .withUseTimesync(true); + + private final Follower followerRequest = + new Follower(FLYWHEEL_LEADER_ID, FLYWHEEL_MOTOR_ALIGNMENT).withUpdateFreqHz(Hertz.of(1000)); + + private final StatusSignal hoodPosition = hoodTalon.getPosition(); + private final StatusSignal hoodVelocity = hoodTalon.getVelocity(); + private final StatusSignal hoodMotorVoltage = hoodTalon.getMotorVoltage(); + private final StatusSignal hoodStatorCurrent = hoodTalon.getStatorCurrent(); + private final BaseStatusSignal[] hoodSignals = { + hoodPosition, hoodVelocity, hoodMotorVoltage, hoodStatorCurrent + }; + + private final StatusSignal flywheelVelocity = flywheelLeader.getVelocity(); + private final StatusSignal flywheelMotorVoltage = flywheelLeader.getMotorVoltage(); + private final StatusSignal flywheelStatorCurrent = flywheelLeader.getStatorCurrent(); + private final BaseStatusSignal[] flywheelLeaderSignals = { + flywheelVelocity, flywheelMotorVoltage, flywheelStatorCurrent, + }; + + private final StatusSignal flywheelFollowerVelocity = + flywheelFollower.getVelocity(); + private final StatusSignal flywheelFollowerMotorVoltage = + flywheelFollower.getMotorVoltage(); + private final StatusSignal flywheelFollowerStatorCurrent = + flywheelFollower.getStatorCurrent(); + private final BaseStatusSignal[] flywheelFollowerSignals = { + flywheelFollowerVelocity, flywheelFollowerMotorVoltage, flywheelFollowerStatorCurrent, + }; + + public ShooterIOTalonFX() { + tryUntilOk(5, () -> hoodTalon.getConfigurator().apply(HOOD_MOTOR_CONFIG)); + + // Apply the config to the leader + tryUntilOk(5, () -> flywheelLeader.getConfigurator().apply(FLYWHEEL_MOTOR_CONFIG)); + + // Invert the config & apply to the follower + FLYWHEEL_MOTOR_CONFIG.MotorOutput.Inverted = InvertedValue.Clockwise_Positive; + tryUntilOk(5, () -> flywheelFollower.getConfigurator().apply(FLYWHEEL_MOTOR_CONFIG)); + + PhoenixUtil.addSignals(hoodTalon, hoodSignals); + PhoenixUtil.addSignals(flywheelLeader, flywheelLeaderSignals); + PhoenixUtil.addSignals(flywheelFollower, flywheelFollowerSignals); + ParentDevice.optimizeBusUtilizationForAll(0, hoodTalon, flywheelLeader, flywheelFollower); + } + + @Override + public void coastFlywheel() { + flywheelLeader.stopMotor(); + flywheelFollower.stopMotor(); + } + + @Override + public void setFlywheelVelocity(AngularVelocity velocity, int slot) { + flywheelLeader.setControl(flywheelRequest.withVelocity(velocity).withSlot(slot)); + flywheelFollower.setControl(followerRequest); + } + + @Override + public void setHoodAngle(Angle angle) { + hoodTalon.setControl(hoodRequest.withPosition(angle)); + } + + @Override + public void stopHoodMotor() { + hoodTalon.stopMotor(); + } + + @Override + public void updateInputs(ShooterInputs inputs) { + inputs.hoodConnected = BaseStatusSignal.isAllGood(hoodSignals); + inputs.flywheelLeaderConnected = BaseStatusSignal.isAllGood(flywheelLeaderSignals); + inputs.flywheelFollowerConnected = BaseStatusSignal.isAllGood(flywheelFollowerSignals); + + inputs.hoodPosition = hoodPosition.getValue(); + inputs.hoodVelocity = hoodVelocity.getValue(); + inputs.hoodMotorVoltage = hoodMotorVoltage.getValue(); + inputs.hoodStatorCurrent = hoodStatorCurrent.getValue(); + + inputs.flywheelLeaderVelocity = flywheelVelocity.getValue(); + inputs.flywheelLeaderMotorVoltage = flywheelMotorVoltage.getValue(); + inputs.flywheelLeaderStatorCurrent = flywheelStatorCurrent.getValue(); + + inputs.flywheelFollowerVelocity = flywheelFollowerVelocity.getValue(); + inputs.flywheelFollowerMotorVoltage = flywheelFollowerMotorVoltage.getValue(); + inputs.flywheelFollowerStatorCurrent = flywheelFollowerStatorCurrent.getValue(); + } +} diff --git a/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagConstants.java b/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagConstants.java index 3cd42b2..70d12d7 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagConstants.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagConstants.java @@ -6,6 +6,7 @@ import com.frc6324.lib.util.FieldConstants; import edu.wpi.first.apriltag.AprilTagFieldLayout; import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.geometry.Rotation3d; import edu.wpi.first.math.geometry.Transform3d; import edu.wpi.first.math.util.Units; import edu.wpi.first.units.measure.Frequency; @@ -20,34 +21,42 @@ private AprilTagConstants() { FieldConstants.DEFAULT_APRILTAG_TYPE.getLayout(); public static final String[] CAMERA_NAMES = { - "Front Left", "Back Left", "Front Right", "Back Right" + "Front Tag Camera", "Rear Tag Camera", "Right Tag Camera" }; - public static final double[] CAMERA_STDDEV_FACTORS = {1, 1, 1, 1}; + public static final double[] CAMERA_STDDEV_FACTORS = {1, 1.1, 1.1}; public static final Resolution[] CAMERA_RESOLUTIONS = { - new Resolution(1280, 800), - new Resolution(1280, 800), - new Resolution(1280, 800), - new Resolution(1280, 800) + new Resolution(1280, 800), new Resolution(1280, 800), new Resolution(1280, 800) }; - public static final double[] CAMERA_LATENCIES = {30, 30, 30, 30}; - public static final double[] CAMERA_FPS = {60, 60, 60, 60}; + public static final double[] CAMERA_LATENCIES = {30, 30, 30}; + public static final double[] CAMERA_FPS = {30, 30, 30}; public static final Rotation2d[] CAMERA_FOVS = { - Rotation2d.fromDegrees(70), - Rotation2d.fromDegrees(110), - Rotation2d.fromDegrees(70), - Rotation2d.fromDegrees(110) + Rotation2d.fromDegrees(80), Rotation2d.fromDegrees(110), Rotation2d.fromDegrees(110) }; public static final Transform3d[] ROBOT_TO_CAMERAS = { - new Transform3d(), new Transform3d(), new Transform3d(), new Transform3d() + new Transform3d( + Units.inchesToMeters(-10), + Units.inchesToMeters(-6), + Units.inchesToMeters(18.775), + new Rotation3d(0, Units.degreesToRadians(20), 0)), + new Transform3d( + Units.inchesToMeters(-12.175), + Units.inchesToMeters(-4), + Units.inchesToMeters(15.6), + new Rotation3d(0, Units.degreesToRadians(-20), Units.degreesToRadians(180))), + new Transform3d( + Units.inchesToMeters(0), + Units.inchesToMeters(0), + Units.inchesToMeters(0), + new Rotation3d(Units.degreesToRadians(6), 0, Units.degreesToRadians(90))) }; - public static final Frequency UPDATE_THREAD_FREQUENCY = Hertz.of(30); + public static final Frequency UPDATE_THREAD_FREQUENCY = Hertz.of(60); public static final boolean HEADING_FREE = false; public static final double HEADING_FACTOR = 10; - public static final double LINEAR_STDDEV_BASELINE = Units.inchesToMeters(2); - public static final double ANGULAR_STDDEV_BASELINE = Units.degreesToRadians(2.5); + public static final double LINEAR_STDDEV_BASELINE = Units.inchesToMeters(0.4); + public static final double ANGULAR_STDDEV_BASELINE = Units.degreesToRadians(1.75); public static final double MAX_LATENCY_SECS = 2; public static final double MAX_AMBIGUITY = 0.2; diff --git a/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagIO.java b/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagIO.java index 79575f5..b965f78 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagIO.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagIO.java @@ -18,5 +18,12 @@ public record VisionEstimation( double timestamp, double ambiguity, double averageTagDistance, - int numTagsUsed) {} + int numTagsUsed, + EstimationStrategy strategy) {} + + public enum EstimationStrategy { + ConstrainedSolvePNP, + Multitag, + Singletag, + } } diff --git a/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagIOPhoton.java b/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagIOPhoton.java index 331495e..e791ab8 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagIOPhoton.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagIOPhoton.java @@ -16,6 +16,7 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import java.util.function.BooleanSupplier; import org.photonvision.EstimatedRobotPose; import org.photonvision.PhotonCamera; import org.photonvision.PhotonPoseEstimator; @@ -39,13 +40,19 @@ public class AprilTagIOPhoton implements AprilTagIO { private Matrix cameraMatrix = camera.getCameraMatrix().orElse(null); private Matrix distortionCoefficients = camera.getDistCoeffs().orElse(null); + private final BooleanSupplier enableSignal; - public AprilTagIOPhoton(OdometryPoseGetter odometryPoseGetter) { + public AprilTagIOPhoton(OdometryPoseGetter odometryPoseGetter, BooleanSupplier enableSignal) { odometryPoseAtTime = odometryPoseGetter; + this.enableSignal = enableSignal; VisionUpdateThread.addCallback(this::updateOdometry); } + public AprilTagIOPhoton(OdometryPoseGetter odometryPoseGetter) { + this(odometryPoseGetter, () -> true); + } + /** * Updates the vision odometry for this camera. * @@ -73,6 +80,7 @@ private void updateOdometry() { for (final PhotonPipelineResult result : allResults) { final double timestamp = result.getTimestampSeconds(); final EstimatedRobotPose estimatedPose; + final EstimationStrategy strategy; // If the result doesn't have targets or is stale, skip it if (!result.hasTargets() || Timer.getFPGATimestamp() - timestamp > MAX_LATENCY_SECS) { @@ -85,8 +93,10 @@ private void updateOdometry() { // 3. Average of targets using ambiguity as weight final Optional multitagOpt = poseEstimator.estimateCoprocMultiTagPose(result); + if (multitagOpt.isPresent()) { estimatedPose = multitagOpt.get(); + strategy = EstimationStrategy.Multitag; } else { final Optional odomPoseOpt = odometryPoseAtTime.samplePoseAt(timestamp); Optional constrainedSolvePNPOpt = Optional.empty(); @@ -106,9 +116,11 @@ private void updateOdometry() { if (constrainedSolvePNPOpt.isPresent()) { estimatedPose = constrainedSolvePNPOpt.get(); + strategy = EstimationStrategy.ConstrainedSolvePNP; } else { // It is safe to call `.get` here since we already know that the result has targets estimatedPose = poseEstimator.estimateAverageBestTargetsPose(result).get(); + strategy = EstimationStrategy.Singletag; } } @@ -133,7 +145,8 @@ private void updateOdometry() { timestamp, totalAmbiguity / numTags, totalDistance / numTags, - numTags)); + numTags, + strategy)); } this.tagsSeen.set(tagsSeen); @@ -142,7 +155,7 @@ private void updateOdometry() { @Override public void updateInputs(VisionInputs inputs) { - if (!camera.isConnected()) { + if (!camera.isConnected() || !enableSignal.getAsBoolean()) { inputs.connected = false; inputs.estimations = new VisionEstimation[0]; inputs.tagsSeen = new int[0]; diff --git a/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagVision.java b/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagVision.java index 8c99177..af8b5fe 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagVision.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/vision/apriltag/AprilTagVision.java @@ -2,19 +2,21 @@ import static com.frc6324.robot2026.subsystems.vision.apriltag.AprilTagConstants.*; +import com.frc6324.lib.util.LoggedTracer; +import com.frc6324.lib.util.VirtualSubsystem; import com.frc6324.robot2026.subsystems.vision.apriltag.AprilTagIO.VisionEstimation; import edu.wpi.first.math.Matrix; import edu.wpi.first.math.VecBuilder; import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Pose3d; import edu.wpi.first.math.numbers.N1; import edu.wpi.first.math.numbers.N3; import edu.wpi.first.wpilibj.Alert; import edu.wpi.first.wpilibj.Alert.AlertType; -import edu.wpi.first.wpilibj2.command.SubsystemBase; import java.util.ArrayList; import org.littletonrobotics.junction.Logger; -public class AprilTagVision extends SubsystemBase { +public class AprilTagVision extends VirtualSubsystem { private final AprilTagIO[] io; private final VisionInputsAutoLogged[] inputs; private final Alert[] disconnectedAlerts; @@ -41,6 +43,11 @@ public AprilTagVision(AprilTagIO... io) { inputs[i] = new VisionInputsAutoLogged(); } + final Pose3d[] allTagPoses = + APRILTAG_LAYOUT.getTags().stream().map(tag -> tag.pose).toArray(Pose3d[]::new); + + Logger.recordOutput("Vision/AllKnownAprilTags", allTagPoses); + VisionUpdateThread.start(); } @@ -122,12 +129,7 @@ public void periodic() { allRobotPosesRejected.addAll(robotPosesRejected); } - // Log vision summary data - Logger.recordOutput("Vision/AprilTag/Summary/RobotPoses", allRobotPoses.toArray(Pose2d[]::new)); - Logger.recordOutput( - "Vision/AprilTag/Summary/RobotPosesAccepted", allRobotPosesAccepted.toArray(Pose2d[]::new)); - Logger.recordOutput( - "Vision/AprilTag/Summary/RobotPosesRejected", allRobotPosesRejected.toArray(Pose2d[]::new)); + LoggedTracer.record("Vision periodic"); } /** diff --git a/src/main/java/com/frc6324/robot2026/subsystems/vision/objdetect/ObjectDetection.java b/src/main/java/com/frc6324/robot2026/subsystems/vision/objdetect/ObjectDetection.java index 4333876..fee1b9d 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/vision/objdetect/ObjectDetection.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/vision/objdetect/ObjectDetection.java @@ -2,16 +2,17 @@ import static com.frc6324.robot2026.subsystems.vision.objdetect.ObjectDetectionConstants.*; +import com.frc6324.lib.util.LoggedTracer; +import com.frc6324.lib.util.VirtualSubsystem; import com.frc6324.robot2026.subsystems.vision.objdetect.ObjDetectIO.ObjDetectInputs; import com.frc6324.robot2026.subsystems.vision.objdetect.ObjDetectIO.VisibleGamePiece; import edu.wpi.first.math.geometry.Rotation2d; -import edu.wpi.first.wpilibj2.command.SubsystemBase; import java.util.ArrayList; import java.util.Comparator; import org.littletonrobotics.junction.AutoLogOutput; import org.littletonrobotics.junction.Logger; -public final class ObjectDetection extends SubsystemBase { +public final class ObjectDetection extends VirtualSubsystem { private static final RangeEventComparator RANGE_EVENT_COMPARATOR = new RangeEventComparator(); private final ObjDetectIO[] io; @@ -158,6 +159,8 @@ public void periodic() { io[i].updateInputs(currentInputs); Logger.processInputs("Vision/Object Detection/" + CAMERA_NAMES[i], currentInputs); } + + LoggedTracer.record("Object Detection Periodic"); } /** diff --git a/src/main/java/com/frc6324/robot2026/subsystems/vision/objdetect/ObjectDetectionConstants.java b/src/main/java/com/frc6324/robot2026/subsystems/vision/objdetect/ObjectDetectionConstants.java index 38fa6a1..53043d0 100644 --- a/src/main/java/com/frc6324/robot2026/subsystems/vision/objdetect/ObjectDetectionConstants.java +++ b/src/main/java/com/frc6324/robot2026/subsystems/vision/objdetect/ObjectDetectionConstants.java @@ -1,7 +1,6 @@ package com.frc6324.robot2026.subsystems.vision.objdetect; -import static edu.wpi.first.units.Units.Centimeters; -import static edu.wpi.first.units.Units.Meters; +import static edu.wpi.first.units.Units.*; import com.frc6324.lib.UninstantiableClass; import com.frc6324.robot2026.subsystems.intake.IntakeConstants; diff --git a/tuner-swerve-project.json b/tuner-project.json similarity index 91% rename from tuner-swerve-project.json rename to tuner-project.json index b96bfd8..38f666e 100644 --- a/tuner-swerve-project.json +++ b/tuner-project.json @@ -1,232 +1,232 @@ -{ - "Version": "1.0.0.0", - "LastState": 11, - "Modules": [ - { - "ModuleName": "Front Left", - "ModuleId": 0, - "Encoder": { - "Id": 10, - "Name": "Front Left Encoder", - "Model": "CANCoder", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Default Name", - "SelectedMotorType": null - }, - "SteerMotor": { - "Id": 1, - "Name": "Front Left Steer", - "Model": "Talon FX vers. F", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Default Name", - "SelectedMotorType": { - "Name": "WCP Kraken x44", - "FreeSpeedRps": 125.5, - "SlipCurrentLimit": 120, - "StatorCurrentLimit": 60 - } - }, - "DriveMotor": { - "Id": 0, - "Name": "Front Left Drive", - "Model": "Talon FX vers. C", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Default Name", - "SelectedMotorType": { - "Name": "WCP Kraken x60", - "FreeSpeedRps": 96.7, - "SlipCurrentLimit": 120, - "StatorCurrentLimit": 60 - } - }, - "IsEncoderInverted": false, - "IsSteerInverted": false, - "SelectedEncoderType": "CANcoder", - "EncoderOffset": 0.48876953125, - "DriveMotorSelectionState": 1, - "SteerMotorSelectionState": 1, - "SteerEncoderSelectionState": 1, - "IsModuleValidationComplete": true, - "ValidatedSteerId": 1, - "ValidatedDriveId": 0, - "ValidatedEncoderId": 10 - }, - { - "ModuleName": "Front Right", - "ModuleId": 1, - "Encoder": { - "Id": 11, - "Name": "Front Right Encoder", - "Model": "CANCoder vers. H", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Default Name", - "SelectedMotorType": null - }, - "SteerMotor": { - "Id": 3, - "Name": "Front Right Steer", - "Model": "Talon FX vers. F", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Default Name", - "SelectedMotorType": { - "Name": "WCP Kraken x44", - "FreeSpeedRps": 125.5, - "SlipCurrentLimit": 120, - "StatorCurrentLimit": 60 - } - }, - "DriveMotor": { - "Id": 2, - "Name": "Front Right Drive", - "Model": "Talon FX vers. C", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Default Name", - "SelectedMotorType": { - "Name": "WCP Kraken x60", - "FreeSpeedRps": 96.7, - "SlipCurrentLimit": 120, - "StatorCurrentLimit": 60 - } - }, - "IsEncoderInverted": false, - "IsSteerInverted": false, - "SelectedEncoderType": "CANcoder", - "EncoderOffset": -0.328857421875, - "DriveMotorSelectionState": 1, - "SteerMotorSelectionState": 1, - "SteerEncoderSelectionState": 1, - "IsModuleValidationComplete": true, - "ValidatedSteerId": 3, - "ValidatedDriveId": 2, - "ValidatedEncoderId": 11 - }, - { - "ModuleName": "Back Left", - "ModuleId": 2, - "Encoder": { - "Id": 13, - "Name": "Back Left Encoder", - "Model": "CANCoder vers. H", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Default Name", - "SelectedMotorType": null - }, - "SteerMotor": { - "Id": 7, - "Name": "Back Left Steer", - "Model": "Talon FX vers. F", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Drivetrain", - "SelectedMotorType": { - "Name": "WCP Kraken x44", - "FreeSpeedRps": 125.5, - "SlipCurrentLimit": 120, - "StatorCurrentLimit": 60 - } - }, - "DriveMotor": { - "Id": 6, - "Name": "Back Left Drive", - "Model": "Talon FX vers. C", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Drivetrain", - "SelectedMotorType": { - "Name": "WCP Kraken x60", - "FreeSpeedRps": 96.7, - "SlipCurrentLimit": 120, - "StatorCurrentLimit": 60 - } - }, - "IsEncoderInverted": false, - "IsSteerInverted": false, - "SelectedEncoderType": "CANcoder", - "EncoderOffset": 0.19482421875, - "DriveMotorSelectionState": 1, - "SteerMotorSelectionState": 1, - "SteerEncoderSelectionState": 1, - "IsModuleValidationComplete": true, - "ValidatedSteerId": 7, - "ValidatedDriveId": 6, - "ValidatedEncoderId": 13 - }, - { - "ModuleName": "Back Right", - "ModuleId": 3, - "Encoder": { - "Id": 12, - "Name": "Back Right Encoder", - "Model": "CANCoder", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Drivetrain", - "SelectedMotorType": null - }, - "SteerMotor": { - "Id": 5, - "Name": "Back Right Steer", - "Model": "Talon FX vers. F", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Drivetrain", - "SelectedMotorType": { - "Name": "WCP Kraken x44", - "FreeSpeedRps": 125.5, - "SlipCurrentLimit": 120, - "StatorCurrentLimit": 60 - } - }, - "DriveMotor": { - "Id": 4, - "Name": "Back Right Drive", - "Model": "Talon FX vers. C", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Drivetrain", - "SelectedMotorType": { - "Name": "WCP Kraken x60", - "FreeSpeedRps": 96.7, - "SlipCurrentLimit": 120, - "StatorCurrentLimit": 60 - } - }, - "IsEncoderInverted": false, - "IsSteerInverted": false, - "SelectedEncoderType": "CANcoder", - "EncoderOffset": -0.44580078125, - "DriveMotorSelectionState": 1, - "SteerMotorSelectionState": 1, - "SteerEncoderSelectionState": 1, - "IsModuleValidationComplete": true, - "ValidatedSteerId": 5, - "ValidatedDriveId": 4, - "ValidatedEncoderId": 12 - } - ], - "SwerveOptions": { - "Gyro": { - "Id": 15, - "Name": "Pigeon 2", - "Model": "Pigeon 2 vers. S", - "CANbus": "2E952D794C324353202020594B2F17FF", - "CANbusFriendly": "Default Name", - "SelectedMotorType": null - }, - "IsValidGyroCANbus": true, - "VerticalTrackSizeInches": 21.75, - "HorizontalTrackSizeInches": 21.75, - "WheelRadiusInches": 2.0, - "IsLeftSideInverted": true, - "IsRightSideInverted": false, - "SwerveModuleType": 7, - "SwerveModuleConfiguration": { - "ModuleBrand": 7, - "DriveRatio": 6.026785714285714, - "SteerRatio": 26.09090909090909, - "CouplingRatio": 3.857142857142857, - "CustomName": "R2" - }, - "HasVerifiedSteer": true, - "SelectedModuleManufacturer": "Swerve Drive Specialties (SDS)", - "HasVerifiedDrive": true, - "IsValidConfiguration": true - }, - "TeamNumber": 0, - "schema_version": "1" -} +{ + "Version": "1.0.0.0", + "LastState": 11, + "Modules": [ + { + "ModuleName": "Front Left", + "ModuleId": 0, + "Encoder": { + "Id": 10, + "Name": "Front Left Encoder", + "Model": "CANCoder", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Default Name", + "SelectedMotorType": null + }, + "SteerMotor": { + "Id": 1, + "Name": "Front Left Steer", + "Model": "Talon FX vers. F", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Drivetrain", + "SelectedMotorType": { + "Name": "WCP Kraken x44", + "FreeSpeedRps": 125.5, + "SlipCurrentLimit": 120, + "StatorCurrentLimit": 60 + } + }, + "DriveMotor": { + "Id": 0, + "Name": "Front Left Drive", + "Model": "Talon FX vers. C", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Drivetrain", + "SelectedMotorType": { + "Name": "WCP Kraken x60", + "FreeSpeedRps": 96.7, + "SlipCurrentLimit": 120, + "StatorCurrentLimit": 60 + } + }, + "IsEncoderInverted": false, + "IsSteerInverted": false, + "SelectedEncoderType": "CANcoder", + "EncoderOffset": 0.49267578125, + "DriveMotorSelectionState": 1, + "SteerMotorSelectionState": 1, + "SteerEncoderSelectionState": 1, + "IsModuleValidationComplete": true, + "ValidatedSteerId": 1, + "ValidatedDriveId": 0, + "ValidatedEncoderId": 10 + }, + { + "ModuleName": "Front Right", + "ModuleId": 1, + "Encoder": { + "Id": 11, + "Name": "Front Right Encoder", + "Model": "CANCoder vers. H", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Default Name", + "SelectedMotorType": null + }, + "SteerMotor": { + "Id": 3, + "Name": "Front Right Steer", + "Model": "Talon FX vers. F", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Default Name", + "SelectedMotorType": { + "Name": "WCP Kraken x44", + "FreeSpeedRps": 125.5, + "SlipCurrentLimit": 120, + "StatorCurrentLimit": 60 + } + }, + "DriveMotor": { + "Id": 2, + "Name": "Front Right Drive", + "Model": "Talon FX vers. C", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Default Name", + "SelectedMotorType": { + "Name": "WCP Kraken x60", + "FreeSpeedRps": 96.7, + "SlipCurrentLimit": 120, + "StatorCurrentLimit": 60 + } + }, + "IsEncoderInverted": false, + "IsSteerInverted": false, + "SelectedEncoderType": "CANcoder", + "EncoderOffset": -0.325439453125, + "DriveMotorSelectionState": 1, + "SteerMotorSelectionState": 1, + "SteerEncoderSelectionState": 1, + "IsModuleValidationComplete": true, + "ValidatedSteerId": 3, + "ValidatedDriveId": 2, + "ValidatedEncoderId": 11 + }, + { + "ModuleName": "Back Left", + "ModuleId": 2, + "Encoder": { + "Id": 13, + "Name": "Back Left Encoder", + "Model": "CANCoder vers. H", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Default Name", + "SelectedMotorType": null + }, + "SteerMotor": { + "Id": 7, + "Name": "Back Left Steer", + "Model": "Talon FX vers. F", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Drivetrain", + "SelectedMotorType": { + "Name": "WCP Kraken x44", + "FreeSpeedRps": 125.5, + "SlipCurrentLimit": 120, + "StatorCurrentLimit": 60 + } + }, + "DriveMotor": { + "Id": 6, + "Name": "Back Left Drive", + "Model": "Talon FX vers. C", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Drivetrain", + "SelectedMotorType": { + "Name": "WCP Kraken x60", + "FreeSpeedRps": 96.7, + "SlipCurrentLimit": 120, + "StatorCurrentLimit": 60 + } + }, + "IsEncoderInverted": false, + "IsSteerInverted": false, + "SelectedEncoderType": "CANcoder", + "EncoderOffset": 0.20068359375, + "DriveMotorSelectionState": 1, + "SteerMotorSelectionState": 1, + "SteerEncoderSelectionState": 1, + "IsModuleValidationComplete": true, + "ValidatedSteerId": 7, + "ValidatedDriveId": 6, + "ValidatedEncoderId": 13 + }, + { + "ModuleName": "Back Right", + "ModuleId": 3, + "Encoder": { + "Id": 12, + "Name": "Back Right Encoder", + "Model": "CANCoder", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Drivetrain", + "SelectedMotorType": null + }, + "SteerMotor": { + "Id": 5, + "Name": "Back Right Steer", + "Model": "Talon FX vers. F", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Drivetrain", + "SelectedMotorType": { + "Name": "WCP Kraken x44", + "FreeSpeedRps": 125.5, + "SlipCurrentLimit": 120, + "StatorCurrentLimit": 60 + } + }, + "DriveMotor": { + "Id": 4, + "Name": "Back Right Drive", + "Model": "Talon FX vers. C", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Drivetrain", + "SelectedMotorType": { + "Name": "WCP Kraken x60", + "FreeSpeedRps": 96.7, + "SlipCurrentLimit": 120, + "StatorCurrentLimit": 60 + } + }, + "IsEncoderInverted": false, + "IsSteerInverted": false, + "SelectedEncoderType": "CANcoder", + "EncoderOffset": -0.437744140625, + "DriveMotorSelectionState": 1, + "SteerMotorSelectionState": 1, + "SteerEncoderSelectionState": 1, + "IsModuleValidationComplete": true, + "ValidatedSteerId": 5, + "ValidatedDriveId": 4, + "ValidatedEncoderId": 12 + } + ], + "SwerveOptions": { + "Gyro": { + "Id": 15, + "Name": "Pigeon 2", + "Model": "Pigeon 2 vers. S", + "CANbus": "2E952D794C324353202020594B2F17FF", + "CANbusFriendly": "Drivetrain", + "SelectedMotorType": null + }, + "IsValidGyroCANbus": true, + "VerticalTrackSizeInches": 21.75, + "HorizontalTrackSizeInches": 21.75, + "WheelRadiusInches": 2.0, + "IsLeftSideInverted": false, + "IsRightSideInverted": true, + "SwerveModuleType": 7, + "SwerveModuleConfiguration": { + "ModuleBrand": 7, + "DriveRatio": 6.026785714285714, + "SteerRatio": 26.09090909090909, + "CouplingRatio": 3.857142857142857, + "CustomName": "R2" + }, + "HasVerifiedSteer": true, + "SelectedModuleManufacturer": "Swerve Drive Specialties (SDS)", + "HasVerifiedDrive": true, + "IsValidConfiguration": true + }, + "TeamNumber": 6324, + "schema_version": "1" +} diff --git a/uri_logfiles/akit_26-03-20_16-49-10_rikin_q10.wpilog b/uri_logfiles/akit_26-03-20_16-49-10_rikin_q10.wpilog new file mode 100644 index 0000000..4e30c7f Binary files /dev/null and b/uri_logfiles/akit_26-03-20_16-49-10_rikin_q10.wpilog differ diff --git a/uri_logfiles/akit_26-03-20_18-17-59_rikin_q13.wpilog b/uri_logfiles/akit_26-03-20_18-17-59_rikin_q13.wpilog new file mode 100644 index 0000000..c584eb7 Binary files /dev/null and b/uri_logfiles/akit_26-03-20_18-17-59_rikin_q13.wpilog differ diff --git a/uri_logfiles/akit_26-03-20_19-43-39_rikin_q21.wpilog b/uri_logfiles/akit_26-03-20_19-43-39_rikin_q21.wpilog new file mode 100644 index 0000000..33e66bb Binary files /dev/null and b/uri_logfiles/akit_26-03-20_19-43-39_rikin_q21.wpilog differ diff --git a/uri_logfiles/akit_26-03-20_20-30-15_rikin_q26.wpilog b/uri_logfiles/akit_26-03-20_20-30-15_rikin_q26.wpilog new file mode 100644 index 0000000..8f22c2b Binary files /dev/null and b/uri_logfiles/akit_26-03-20_20-30-15_rikin_q26.wpilog differ diff --git a/uri_logfiles/akit_26-03-20_21-07-21_rikin_q30.wpilog b/uri_logfiles/akit_26-03-20_21-07-21_rikin_q30.wpilog new file mode 100644 index 0000000..eaed2e1 Binary files /dev/null and b/uri_logfiles/akit_26-03-20_21-07-21_rikin_q30.wpilog differ diff --git a/uri_logfiles/akit_26-03-20_21-39-45_rikin_q33.wpilog b/uri_logfiles/akit_26-03-20_21-39-45_rikin_q33.wpilog new file mode 100644 index 0000000..d808887 Binary files /dev/null and b/uri_logfiles/akit_26-03-20_21-39-45_rikin_q33.wpilog differ diff --git a/uri_logfiles/akit_26-03-20_23-00-21_rikin_q41.wpilog b/uri_logfiles/akit_26-03-20_23-00-21_rikin_q41.wpilog new file mode 100644 index 0000000..376d912 Binary files /dev/null and b/uri_logfiles/akit_26-03-20_23-00-21_rikin_q41.wpilog differ diff --git a/uri_logfiles/akit_26-03-20_23-50-47_rikin_q46.wpilog b/uri_logfiles/akit_26-03-20_23-50-47_rikin_q46.wpilog new file mode 100644 index 0000000..d0130cf Binary files /dev/null and b/uri_logfiles/akit_26-03-20_23-50-47_rikin_q46.wpilog differ diff --git a/uri_logfiles/akit_26-03-21_15-31-13_rikin_q62.wpilog b/uri_logfiles/akit_26-03-21_15-31-13_rikin_q62.wpilog new file mode 100644 index 0000000..15d781d Binary files /dev/null and b/uri_logfiles/akit_26-03-21_15-31-13_rikin_q62.wpilog differ diff --git a/uri_logfiles/akit_26-03-21_15-37-25_rikin_q62__post_reboot.wpilog b/uri_logfiles/akit_26-03-21_15-37-25_rikin_q62__post_reboot.wpilog new file mode 100644 index 0000000..2daf08b Binary files /dev/null and b/uri_logfiles/akit_26-03-21_15-37-25_rikin_q62__post_reboot.wpilog differ diff --git a/uri_logfiles/akit_26-03-21_18-22-51_rikin_e3.wpilog b/uri_logfiles/akit_26-03-21_18-22-51_rikin_e3.wpilog new file mode 100644 index 0000000..5e55f15 Binary files /dev/null and b/uri_logfiles/akit_26-03-21_18-22-51_rikin_e3.wpilog differ diff --git a/uri_logfiles/akit_26-03-21_19-20-02_rikin_e8.wpilog b/uri_logfiles/akit_26-03-21_19-20-02_rikin_e8.wpilog new file mode 100644 index 0000000..6b14388 Binary files /dev/null and b/uri_logfiles/akit_26-03-21_19-20-02_rikin_e8.wpilog differ diff --git a/uri_logfiles/akit_26-03-21_19-23-36_rikin_e8__post_reboot.wpilog b/uri_logfiles/akit_26-03-21_19-23-36_rikin_e8__post_reboot.wpilog new file mode 100644 index 0000000..47be498 Binary files /dev/null and b/uri_logfiles/akit_26-03-21_19-23-36_rikin_e8__post_reboot.wpilog differ diff --git a/uri_logfiles/akit_26-03-21_19-59-16_rikin_e11.wpilog b/uri_logfiles/akit_26-03-21_19-59-16_rikin_e11.wpilog new file mode 100644 index 0000000..d4d9707 Binary files /dev/null and b/uri_logfiles/akit_26-03-21_19-59-16_rikin_e11.wpilog differ diff --git a/uri_logfiles/akit_26-03-21_20-40-38_rikin_e13.wpilog b/uri_logfiles/akit_26-03-21_20-40-38_rikin_e13.wpilog new file mode 100644 index 0000000..1aec932 Binary files /dev/null and b/uri_logfiles/akit_26-03-21_20-40-38_rikin_e13.wpilog differ diff --git a/vendordeps/AdvantageKit.json b/vendordeps/AdvantageKit.json index 2faa4db..91b4e34 100644 --- a/vendordeps/AdvantageKit.json +++ b/vendordeps/AdvantageKit.json @@ -1,7 +1,7 @@ { "fileName": "AdvantageKit.json", "name": "AdvantageKit", - "version": "26.0.0", + "version": "26.0.1", "uuid": "d820cc26-74e3-11ec-90d6-0242ac120003", "frcYear": "2026", "mavenUrls": [ @@ -12,14 +12,14 @@ { "groupId": "org.littletonrobotics.akit", "artifactId": "akit-java", - "version": "26.0.0" + "version": "26.0.1" } ], "jniDependencies": [ { "groupId": "org.littletonrobotics.akit", "artifactId": "akit-wpilibio", - "version": "26.0.0", + "version": "26.0.1", "skipInvalidPlatforms": false, "isJar": false, "validPlatforms": [ diff --git a/vendordeps/BLine-Lib.json b/vendordeps/BLine-Lib.json deleted file mode 100644 index 306f8e7..0000000 --- a/vendordeps/BLine-Lib.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "fileName": "BLine-Lib.json", - "name": "BLine-Lib", - "version": "v0.4.2", - "frcYear": "2026", - "uuid": "4b7270e9-4e8d-4e7b-8cf0-5805f12c3c7d", - "mavenUrls": [ - "https://jitpack.io" - ], - "jsonUrl": "https://raw.githubusercontent.com/edanliahovetsky/BLine-Lib/main/BLine-Lib.json", - "javaDependencies": [ - { - "groupId": "com.github.edanliahovetsky", - "artifactId": "BLine-Lib", - "version": "v0.4.2" - } - ], - "jniDependencies": [], - "cppDependencies": [] -} diff --git a/vendordeps/PathplannerLib-2026.1.2.json b/vendordeps/PathplannerLib-2026.1.2.json new file mode 100644 index 0000000..5f04ffa --- /dev/null +++ b/vendordeps/PathplannerLib-2026.1.2.json @@ -0,0 +1,38 @@ +{ + "fileName": "PathplannerLib-2026.1.2.json", + "name": "PathplannerLib", + "version": "2026.1.2", + "uuid": "1b42324f-17c6-4875-8e77-1c312bc8c786", + "frcYear": "2026", + "mavenUrls": [ + "https://3015rangerrobotics.github.io/pathplannerlib/repo" + ], + "jsonUrl": "https://3015rangerrobotics.github.io/pathplannerlib/PathplannerLib.json", + "javaDependencies": [ + { + "groupId": "com.pathplanner.lib", + "artifactId": "PathplannerLib-java", + "version": "2026.1.2" + } + ], + "jniDependencies": [], + "cppDependencies": [ + { + "groupId": "com.pathplanner.lib", + "artifactId": "PathplannerLib-cpp", + "version": "2026.1.2", + "libName": "PathplannerLib", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "osxuniversal", + "linuxathena", + "linuxarm32", + "linuxarm64" + ] + } + ] +} diff --git a/vendordeps/Phoenix6-26.1.1.json b/vendordeps/Phoenix6-26.1.2.json similarity index 92% rename from vendordeps/Phoenix6-26.1.1.json rename to vendordeps/Phoenix6-26.1.2.json index c0a1c19..d33c02b 100644 --- a/vendordeps/Phoenix6-26.1.1.json +++ b/vendordeps/Phoenix6-26.1.2.json @@ -1,7 +1,7 @@ { - "fileName": "Phoenix6-26.1.1.json", + "fileName": "Phoenix6-26.1.2.json", "name": "CTRE-Phoenix (v6)", - "version": "26.1.1", + "version": "26.1.2", "frcYear": "2026", "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", "mavenUrls": [ @@ -19,14 +19,14 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "wpiapi-java", - "version": "26.1.1" + "version": "26.1.2" } ], "jniDependencies": [ { "groupId": "com.ctre.phoenix6", "artifactId": "api-cpp", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -40,7 +40,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "tools", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -54,7 +54,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "api-cpp-sim", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -68,7 +68,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "tools-sim", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -82,7 +82,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonSRX", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -96,7 +96,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simVictorSPX", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -110,7 +110,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simPigeonIMU", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -124,7 +124,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFX", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -138,7 +138,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFXS", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -152,7 +152,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANcoder", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -166,7 +166,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProPigeon2", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -180,7 +180,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANrange", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -194,7 +194,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANdi", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -208,7 +208,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANdle", - "version": "26.1.1", + "version": "26.1.2", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -224,7 +224,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "wpiapi-cpp", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_Phoenix6_WPI", "headerClassifier": "headers", "sharedLibrary": true, @@ -240,7 +240,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "tools", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_PhoenixTools", "headerClassifier": "headers", "sharedLibrary": true, @@ -256,7 +256,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "wpiapi-cpp-sim", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_Phoenix6_WPISim", "headerClassifier": "headers", "sharedLibrary": true, @@ -272,7 +272,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "tools-sim", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_PhoenixTools_Sim", "headerClassifier": "headers", "sharedLibrary": true, @@ -288,7 +288,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonSRX", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_SimTalonSRX", "headerClassifier": "headers", "sharedLibrary": true, @@ -304,7 +304,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simVictorSPX", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_SimVictorSPX", "headerClassifier": "headers", "sharedLibrary": true, @@ -320,7 +320,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simPigeonIMU", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_SimPigeonIMU", "headerClassifier": "headers", "sharedLibrary": true, @@ -336,7 +336,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFX", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_SimProTalonFX", "headerClassifier": "headers", "sharedLibrary": true, @@ -352,7 +352,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFXS", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_SimProTalonFXS", "headerClassifier": "headers", "sharedLibrary": true, @@ -368,7 +368,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANcoder", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_SimProCANcoder", "headerClassifier": "headers", "sharedLibrary": true, @@ -384,7 +384,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProPigeon2", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_SimProPigeon2", "headerClassifier": "headers", "sharedLibrary": true, @@ -400,7 +400,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANrange", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_SimProCANrange", "headerClassifier": "headers", "sharedLibrary": true, @@ -416,7 +416,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANdi", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_SimProCANdi", "headerClassifier": "headers", "sharedLibrary": true, @@ -432,7 +432,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANdle", - "version": "26.1.1", + "version": "26.1.2", "libName": "CTRE_SimProCANdle", "headerClassifier": "headers", "sharedLibrary": true, diff --git a/vendordeps/photonlib.json b/vendordeps/photonlib.json index b0ac8fb..62661dd 100644 --- a/vendordeps/photonlib.json +++ b/vendordeps/photonlib.json @@ -1,7 +1,7 @@ { "fileName": "photonlib.json", "name": "photonlib", - "version": "v2026.1.1", + "version": "v2026.3.1", "uuid": "515fe07e-bfc6-11fa-b3de-0242ac130004", "frcYear": "2026", "mavenUrls": [ @@ -13,7 +13,7 @@ { "groupId": "org.photonvision", "artifactId": "photontargeting-cpp", - "version": "v2026.1.1", + "version": "v2026.3.1", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ @@ -28,7 +28,7 @@ { "groupId": "org.photonvision", "artifactId": "photonlib-cpp", - "version": "v2026.1.1", + "version": "v2026.3.1", "libName": "photonlib", "headerClassifier": "headers", "sharedLibrary": true, @@ -43,7 +43,7 @@ { "groupId": "org.photonvision", "artifactId": "photontargeting-cpp", - "version": "v2026.1.1", + "version": "v2026.3.1", "libName": "photontargeting", "headerClassifier": "headers", "sharedLibrary": true, @@ -60,12 +60,12 @@ { "groupId": "org.photonvision", "artifactId": "photonlib-java", - "version": "v2026.1.1" + "version": "v2026.3.1" }, { "groupId": "org.photonvision", "artifactId": "photontargeting-java", - "version": "v2026.1.1" + "version": "v2026.3.1" } ] }