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/frc971/vision/BUILD b/frc971/vision/BUILD
index 4a8d50b..195634e 100644
--- a/frc971/vision/BUILD
+++ b/frc971/vision/BUILD
@@ -1,4 +1,4 @@
-load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
+load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_py_library")
load("@com_github_google_flatbuffers//:typescript.bzl", "flatbuffer_ts_library")
flatbuffer_cc_library(
@@ -16,6 +16,36 @@
visibility = ["//visibility:public"],
)
+flatbuffer_cc_library(
+ name = "calibration_fbs",
+ srcs = ["calibration.fbs"],
+ gen_reflections = 1,
+ target_compatible_with = ["@platforms//os:linux"],
+ visibility = ["//visibility:public"],
+)
+
+flatbuffer_ts_library(
+ name = "calibration_ts_fbs",
+ srcs = ["calibration.fbs"],
+ target_compatible_with = ["@platforms//os:linux"],
+ visibility = ["//visibility:public"],
+)
+
+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"],
+)
+
cc_library(
name = "v4l2_reader",
srcs = [
diff --git a/y2022/vision/calibration.fbs b/frc971/vision/calibration.fbs
similarity index 100%
rename from y2022/vision/calibration.fbs
rename to frc971/vision/calibration.fbs
diff --git a/y2022/BUILD b/y2022/BUILD
index 9d3acab..aba165e 100644
--- a/y2022/BUILD
+++ b/y2022/BUILD
@@ -77,7 +77,7 @@
"//aos/network:timestamp_fbs",
"//frc971/input:robot_state_fbs",
"//frc971/vision:vision_fbs",
- "//y2022/vision:calibration_fbs",
+ "//frc971/vision:calibration_fbs",
],
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
@@ -103,7 +103,7 @@
"//aos/network:remote_message_fbs",
"//frc971/vision:vision_fbs",
"//y2022/localizer:localizer_output_fbs",
- "//y2022/vision:calibration_fbs",
+ "//frc971/vision:calibration_fbs",
"//y2022/vision:target_estimate_fbs",
"//y2022/vision:ball_color_fbs",
],
@@ -152,7 +152,7 @@
"//aos/network:timestamp_fbs",
"//aos/network:remote_message_fbs",
"//frc971/vision:vision_fbs",
- "//y2022/vision:calibration_fbs",
+ "//frc971/vision:calibration_fbs",
"//y2022/vision:ball_color_fbs",
],
target_compatible_with = ["@platforms//os:linux"],
diff --git a/y2022/localizer/BUILD b/y2022/localizer/BUILD
index cd587b8..ec717fc 100644
--- a/y2022/localizer/BUILD
+++ b/y2022/localizer/BUILD
@@ -107,13 +107,13 @@
"//frc971/control_loops/drivetrain:improved_down_estimator",
"//frc971/control_loops/drivetrain:localizer_fbs",
"//frc971/input:joystick_state_fbs",
+ "//frc971/vision:calibration_fbs",
"//frc971/wpilib:imu_batch_fbs",
"//frc971/wpilib:imu_fbs",
"//frc971/zeroing:imu_zeroer",
"//frc971/zeroing:wrap",
"//y2022:constants",
"//y2022/control_loops/superstructure:superstructure_status_fbs",
- "//y2022/vision:calibration_fbs",
"//y2022/vision:target_estimate_fbs",
"@org_tuxfamily_eigen//:eigen",
],
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/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;
diff --git a/y2023/BUILD b/y2023/BUILD
index dc3bb67..dbc069a 100644
--- a/y2023/BUILD
+++ b/y2023/BUILD
@@ -73,8 +73,8 @@
"//aos/network:timestamp_fbs",
"//aos/network:remote_message_fbs",
"//y2022/localizer:localizer_output_fbs",
+ "//frc971/vision:calibration_fbs",
"//frc971/vision:vision_fbs",
- "//y2023/vision:calibration_fbs",
],
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
@@ -120,8 +120,8 @@
"//aos/network:message_bridge_server_fbs",
"//aos/network:timestamp_fbs",
"//aos/network:remote_message_fbs",
+ "//frc971/vision:calibration_fbs",
"//frc971/vision:vision_fbs",
- "//y2023/vision:calibration_fbs",
],
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
diff --git a/y2023/vision/BUILD b/y2023/vision/BUILD
index 106ee5d..2f93b16 100644
--- a/y2023/vision/BUILD
+++ b/y2023/vision/BUILD
@@ -1,13 +1,3 @@
-load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
-
-flatbuffer_cc_library(
- name = "calibration_fbs",
- srcs = ["calibration.fbs"],
- gen_reflections = 1,
- target_compatible_with = ["@platforms//os:linux"],
- visibility = ["//y2023:__subpackages__"],
-)
-
cc_binary(
name = "camera_reader",
srcs = [
diff --git a/y2023/vision/calibration.fbs b/y2023/vision/calibration.fbs
deleted file mode 100644
index f5e30a6..0000000
--- a/y2023/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;