71 [[nodiscard]]
const std::vector<DirectionalLineFollowMotionTelemetry>&
getTelemetry()
const
77 void captureInitialPose();
78 [[nodiscard]]
double straightDistanceFromStart()
const;
82 std::unique_ptr<foundation::PidController> correction_pid_;
83 std::unique_ptr<foundation::PidController> heading_pid_;
84 Eigen::Vector2d initial_position_m_{Eigen::Vector2d::Zero()};
85 double initial_heading_rad_{0.0};
88 double max_linear_mps_{0.0};
89 double max_lateral_mps_{0.0};
90 double sensor_error_{0.0};
91 double elapsed_time_{0.0};
92 bool finished_{
false};
93 static constexpr size_t kMaxTelemetrySamples{3000};
94 std::vector<DirectionalLineFollowMotionTelemetry> telemetry_;