89 void startWarm(
double heading_offset_rad,
double initial_angular_velocity);
100 [[nodiscard]]
const std::vector<ArcMotionTelemetry>&
getTelemetry()
const {
return telemetry_; }
107 double travel_dir_{1.0};
111 double goal_angle_rad_{0.0};
112 double max_angular_velocity_{0.0};
113 ProfiledPIDController profiled_pid_;
114 bool finished_{
false};
115 bool suppress_hard_stop_{
false};
116 double heading_offset_rad_{0.0};
121 double initial_absolute_heading_rad_{0.0};
124 double prev_heading_{0.0};
125 double filtered_velocity_{0.0};
126 static constexpr double kVelocityFilterAlpha{0.3};
127 static constexpr double kSettlingVelocity{0.05};
130 double elapsed_time_{0.0};
131 std::vector<ArcMotionTelemetry> telemetry_;