Add quaternion orientation to LocalizerOutput

Change-Id: I45477182ee14978754d4c3a3f9fdc45a64cd5e3e
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/y2022/control_loops/localizer/localizer_output.fbs b/y2022/control_loops/localizer/localizer_output.fbs
index 078d723..03abf19 100644
--- a/y2022/control_loops/localizer/localizer_output.fbs
+++ b/y2022/control_loops/localizer/localizer_output.fbs
@@ -3,6 +3,13 @@
 // This provides a minimal output from the localizer that can be forwarded to
 // the roborio and used for corrections to its (simpler) localizer.
 
+struct Quaternion {
+  w:double (id: 0);
+  x:double (id: 1);
+  y:double (id: 2);
+  z:double (id: 3);
+}
+
 table LocalizerOutput {
   // Timestamp (on the source node) that this sample corresponds with. This
   // may be older than the sent time to account for delays in sensor readings.
@@ -12,6 +19,8 @@
   y:double (id: 2);
   // Current heading, in radians.
   theta:double (id: 3);
+  // Current estimate of the robot's 3-D rotation.
+  orientation:Quaternion (id: 4);
 }
 
 root_type LocalizerOutput;