Move calibration flatbuffer to frc971
This was the exact same in 2022 and 2023, and the namespace was already
frc971.
Signed-off-by: milind-u <milind.upadhyay@gmail.com>
Change-Id: Ibc92525cc7f946116399524e9799139669f73d96
diff --git a/y2022/vision/BUILD b/y2022/vision/BUILD
index 777d139..ceec638 100644
--- a/y2022/vision/BUILD
+++ b/y2022/vision/BUILD
@@ -1,36 +1,7 @@
-load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_py_library")
+load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
load("@npm//@bazel/typescript:index.bzl", "ts_library")
-flatbuffer_cc_library(
- name = "calibration_fbs",
- srcs = ["calibration.fbs"],
- gen_reflections = 1,
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//y2022:__subpackages__"],
-)
-
-flatbuffer_ts_library(
- name = "calibration_ts_fbs",
- srcs = ["calibration.fbs"],
- target_compatible_with = ["@platforms//os:linux"],
-)
-
-flatbuffer_py_library(
- name = "calibration_fbs_python",
- srcs = [
- "calibration.fbs",
- ],
- namespace = "frc971.vision.calibration",
- tables = [
- "CalibrationData",
- "CameraCalibration",
- "TransformationMatrix",
- ],
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//visibility:public"],
-)
-
ts_library(
name = "vision_plotter",
srcs = ["vision_plotter.ts"],
@@ -70,7 +41,7 @@
target_compatible_with = ["@platforms//os:linux"],
deps = [
":camera_definition",
- "//y2022/vision:calibration_fbs_python",
+ "//frc971/vision:calibration_fbs_python",
"@bazel_tools//tools/python/runfiles",
"@pip//glog",
"@pip//opencv_python",
@@ -121,13 +92,13 @@
deps = [
":blob_detector_lib",
":calibration_data",
- ":calibration_fbs",
":target_estimate_fbs",
":target_estimator_lib",
"//aos:flatbuffer_merge",
"//aos/events:event_loop",
"//aos/events:shm_event_loop",
"//aos/network:team_number",
+ "//frc971/vision:calibration_fbs",
"//frc971/vision:v4l2_reader",
"//frc971/vision:vision_fbs",
"//third_party:opencv",
@@ -246,11 +217,11 @@
visibility = ["//y2022:__subpackages__"],
deps = [
":blob_detector_lib",
- ":calibration_fbs",
":target_estimate_fbs",
"//aos/logging",
"//aos/time",
"//frc971/control_loops:quaternion_utils",
+ "//frc971/vision:calibration_fbs",
"//frc971/vision:geometry_lib",
"//third_party:opencv",
"//y2022:constants",
@@ -265,7 +236,7 @@
srcs = ["target_estimate.fbs"],
gen_reflections = 1,
includes = [
- ":calibration_fbs_includes",
+ "//frc971/vision:calibration_fbs_includes",
],
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//y2022:__subpackages__"],
@@ -276,7 +247,7 @@
srcs = ["target_estimate.fbs"],
target_compatible_with = ["@platforms//os:linux"],
deps = [
- ":calibration_ts_fbs",
+ "//frc971/vision:calibration_ts_fbs",
],
)
diff --git a/y2022/vision/calibration.fbs b/y2022/vision/calibration.fbs
deleted file mode 100644
index f5e30a6..0000000
--- a/y2022/vision/calibration.fbs
+++ /dev/null
@@ -1,55 +0,0 @@
-namespace frc971.vision.calibration;
-
-table TransformationMatrix {
- // The matrix data for a row-major 4x4 homogeneous transformation matrix.
- // This implies the bottom row is (0, 0, 0, 1).
- data:[float] (id: 0);
-}
-
-// Calibration information for a given camera on a given robot.
-table CameraCalibration {
- // The name of the camera node which this calibration data applies to.
- node_name:string (id: 0);
- // The team number of the robot which this calibration data applies to.
- team_number:int (id: 1);
-
- // Intrinsics for the camera.
- //
- // This is the standard OpenCV intrinsics matrix in row major order (3x3).
- intrinsics:[float] (id: 2);
-
- // Fixed extrinsics for the camera. This transforms from camera coordinates to
- // robot coordinates. For example: multiplying (0, 0, 0, 1) by this results in
- // the position of the camera aperture in robot coordinates.
- fixed_extrinsics:TransformationMatrix (id: 3);
-
- // Extrinsics for a camera on a turret. This will only be filled out for
- // applicable cameras. For turret-mounted cameras, fixed_extrinsics defines
- // a position for the center of rotation of the turret, and this field defines
- // a position for the camera on the turret.
- //
- // The combination of the two transformations is underdefined, so nothing can
- // distinguish between the two parts of the final extrinsics for a given
- // turret position.
- //
- // To get the final extrinsics for a camera using this transformation,
- // multiply (in order):
- // fixed_extrinsics
- // rotation around the Z axis by the turret angle
- // turret_extrinsics
- turret_extrinsics:TransformationMatrix (id: 4);
-
- // This is the standard OpenCV 5 parameter distortion coefficients
- dist_coeffs:[float] (id: 5);
-
- // Timestamp for when the calibration was taken on the realtime clock.
- calibration_timestamp:int64 (id: 6);
-}
-
-// Calibration information for all the cameras we know about.
-table CalibrationData {
- camera_calibrations:[CameraCalibration] (id: 0);
-}
-
-
-root_type CalibrationData;
diff --git a/y2022/vision/camera_reader.cc b/y2022/vision/camera_reader.cc
index 0af4afc..b64bc2b 100644
--- a/y2022/vision/camera_reader.cc
+++ b/y2022/vision/camera_reader.cc
@@ -8,11 +8,11 @@
#include "aos/events/shm_event_loop.h"
#include "aos/flatbuffer_merge.h"
#include "aos/network/team_number.h"
+#include "frc971/vision/calibration_generated.h"
#include "frc971/vision/v4l2_reader.h"
#include "frc971/vision/vision_generated.h"
#include "opencv2/imgproc.hpp"
#include "y2022/vision/blob_detector.h"
-#include "y2022/vision/calibration_generated.h"
DEFINE_string(image_png, "", "A set of PNG images");
diff --git a/y2022/vision/camera_reader.h b/y2022/vision/camera_reader.h
index 8317c09..c2d4f5f 100644
--- a/y2022/vision/camera_reader.h
+++ b/y2022/vision/camera_reader.h
@@ -11,11 +11,11 @@
#include "aos/events/shm_event_loop.h"
#include "aos/flatbuffer_merge.h"
#include "aos/network/team_number.h"
+#include "frc971/vision/calibration_generated.h"
#include "frc971/vision/v4l2_reader.h"
#include "frc971/vision/vision_generated.h"
#include "y2022/localizer/localizer_output_generated.h"
#include "y2022/vision/calibration_data.h"
-#include "y2022/vision/calibration_generated.h"
#include "y2022/vision/gpio.h"
#include "y2022/vision/target_estimate_generated.h"
#include "y2022/vision/target_estimator.h"
diff --git a/y2022/vision/target_estimate.fbs b/y2022/vision/target_estimate.fbs
index 3ba10f03..9ba2b11 100644
--- a/y2022/vision/target_estimate.fbs
+++ b/y2022/vision/target_estimate.fbs
@@ -1,4 +1,4 @@
-include "y2022/vision/calibration.fbs";
+include "frc971/vision/calibration.fbs";
namespace y2022.vision;