Skip to content

Commit 79ad238

Browse files
committed
Print to JSON
1 parent d5218e1 commit 79ad238

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

photon-targeting/src/main/java/org/photonvision/estimation/VisionEstimation.java

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@
4444
import org.photonvision.targeting.PnpResult;
4545
import org.photonvision.targeting.TargetCorner;
4646

47+
import com.fasterxml.jackson.core.JsonProcessingException;
48+
import com.fasterxml.jackson.databind.ObjectMapper;
49+
4750
public class VisionEstimation {
4851
/** Get the visible {@link AprilTag}s which are in the tag layout using the visible tag IDs. */
4952
public static List<AprilTag> getVisibleLayoutTags(
@@ -145,6 +148,18 @@ public static Optional<PnpResult> estimateCamPosePNP(
145148
}
146149
}
147150

151+
private static class DebugData {
152+
public double[] cameraCal;
153+
public SimpleMatrix field2points;
154+
public SimpleMatrix point_observations;
155+
156+
public DebugData(double[] cameraCal, SimpleMatrix field2points, SimpleMatrix point_observations) {
157+
this.cameraCal = cameraCal;
158+
this.field2points = field2points;
159+
this.point_observations = point_observations;
160+
}
161+
}
162+
148163
/**
149164
* Performs constrained solvePNP using 3d-2d point correspondences of visible AprilTags to
150165
* estimate the field-to-camera transformation.
@@ -258,9 +273,15 @@ public static Optional<PnpResult> estimateRobotPoseConstrainedSolvepnp(
258273

259274
var guess2 = robotPoseSeed.toPose2d();
260275

261-
System.out.println("cameraCal:\n" + cameraCal);
262-
System.out.println("field2points:\n" + field2points);
263-
System.out.println("point_observations:\n" + point_observations);
276+
277+
// Replace the println statements with:
278+
var debugData = new DebugData(cameraCal, field2points, point_observations);
279+
try {
280+
ObjectMapper mapper = new ObjectMapper();
281+
System.out.println(mapper.writeValueAsString(debugData));
282+
} catch (JsonProcessingException e) {
283+
System.err.println("Failed to serialize debug data: " + e.getMessage());
284+
}
264285

265286
var ret =
266287
ConstrainedSolvepnpJni.do_optimization(

0 commit comments

Comments
 (0)