89 [[nodiscard]]
const std::vector<DiagonalMotionTelemetry>&
getTelemetry()
const {
return telemetry_; }
95 double max_velocity_{0.0};
96 double cos_angle_{1.0};
97 double sin_angle_{0.0};
98 std::unique_ptr<foundation::PidController> heading_pid_;
99 ProfiledPIDController profiled_pid_;
100 Eigen::Vector2d initial_position_m_{Eigen::Vector2d::Zero()};
101 double initial_heading_rad_{0.0};
102 bool finished_{
false};
103 double speed_scale_{1.0};
104 double heading_scale_{1.0};
105 int unsaturated_cycles_{0};
108 double prev_primary_position_{0.0};
109 double filtered_velocity_{0.0};
110 static constexpr double kVelocityFilterAlpha{0.3};
111 static constexpr double kSettlingVelocity{0.02};
114 double elapsed_time_{0.0};
115 std::vector<DiagonalMotionTelemetry> telemetry_;