Heap-allocate 2022 roborio localizer

Change-Id: I7dae28a396a5095f0abbc657b4012f1ecf2b5a40
Signed-off-by: James Kuszmaul <jabukuszmaul@gmail.com>
diff --git a/y2022/control_loops/drivetrain/drivetrain_main.cc b/y2022/control_loops/drivetrain/drivetrain_main.cc
index ecdcdbb..fc448eb 100644
--- a/y2022/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2022/control_loops/drivetrain/drivetrain_main.cc
@@ -9,18 +9,19 @@
 using ::frc971::control_loops::drivetrain::DrivetrainLoop;
 
 int main(int argc, char **argv) {
-  ::aos::InitGoogle(&argc, &argv);
+  aos::InitGoogle(&argc, &argv);
 
   aos::FlatbufferDetachedBuffer<aos::Configuration> config =
       aos::configuration::ReadConfig("config.json");
 
-  ::aos::ShmEventLoop event_loop(&config.message());
-  ::y2022::control_loops::drivetrain::Localizer localizer(
-      &event_loop,
-      ::y2022::control_loops::drivetrain::GetDrivetrainConfig());
+  aos::ShmEventLoop event_loop(&config.message());
+  std::unique_ptr<::y2022::control_loops::drivetrain::Localizer> localizer =
+      std::make_unique<y2022::control_loops::drivetrain::Localizer>(
+          &event_loop,
+          y2022::control_loops::drivetrain::GetDrivetrainConfig());
   std::unique_ptr<DrivetrainLoop> drivetrain = std::make_unique<DrivetrainLoop>(
-      ::y2022::control_loops::drivetrain::GetDrivetrainConfig(),
-      &event_loop, &localizer);
+      y2022::control_loops::drivetrain::GetDrivetrainConfig(), &event_loop,
+      localizer.get());
 
   event_loop.Run();