Refactor charuco_lib to use full EOF times
This is what we actually care about when doing calibration. We want to
know the actual capture time of the image, not how old it is. Account
for network delays while we are converting to EOF time too.
Change-Id: Id64951783c334bbedbb994124ec9b73dcfd52b95
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/y2020/vision/calibration.cc b/y2020/vision/calibration.cc
index 517e65c..80f1491 100644
--- a/y2020/vision/calibration.cc
+++ b/y2020/vision/calibration.cc
@@ -31,18 +31,19 @@
pi_number_(aos::network::ParsePiNumber(pi)),
charuco_extractor_(
event_loop, pi,
- [this](cv::Mat rgb_image, const double age_double,
+ [this](cv::Mat rgb_image, const aos::monotonic_clock::time_point eof,
std::vector<int> charuco_ids,
std::vector<cv::Point2f> charuco_corners, bool valid,
Eigen::Vector3d rvec_eigen, Eigen::Vector3d tvec_eigen) {
- HandleCharuco(rgb_image, age_double, charuco_ids, charuco_corners,
+ HandleCharuco(rgb_image, eof, charuco_ids, charuco_corners,
valid, rvec_eigen, tvec_eigen);
}) {
CHECK(pi_number_) << ": Invalid pi number " << pi
<< ", failed to parse pi number";
}
- void HandleCharuco(cv::Mat rgb_image, const double /*age_double*/,
+ void HandleCharuco(cv::Mat rgb_image,
+ const aos::monotonic_clock::time_point /*eof*/,
std::vector<int> charuco_ids,
std::vector<cv::Point2f> charuco_corners, bool valid,
Eigen::Vector3d /*rvec_eigen*/,