Solve for mounting position as well as angle
This gives us the full extrinsics of our camera!
Change-Id: Ia8c09fe6eefc361837fd7c525fb1fbaed6c4a184
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/y2020/vision/calibration_accumulator.h b/y2020/vision/calibration_accumulator.h
index 0f1bff7..7bff9f0 100644
--- a/y2020/vision/calibration_accumulator.h
+++ b/y2020/vision/calibration_accumulator.h
@@ -13,11 +13,17 @@
namespace frc971 {
namespace vision {
+// This class provides an interface for an application to be notified of all
+// camera and IMU samples in order with the correct timestamps.
class CalibrationDataObserver {
public:
+ // Observes a camera sample at the corresponding time t, and with the
+ // corresponding rotation and translation vectors rt.
virtual void UpdateCamera(aos::distributed_clock::time_point t,
std::pair<Eigen::Vector3d, Eigen::Vector3d> rt) = 0;
+ // Observes an IMU sample at the corresponding time t, and with the
+ // corresponding angular velocity and linear acceleration vectors wa.
virtual void UpdateIMU(aos::distributed_clock::time_point t,
std::pair<Eigen::Vector3d, Eigen::Vector3d> wa) = 0;
};