76 std::map<std::string, VelocityTuneResult>
velocity{};
77 std::map<std::string, MotionTuneResult>
motion{};
140 std::map<int, VelLpfResult>
143 std::map<int, StaticFrictionResult>
146 std::map<int, FirmwarePidResult>
148 std::optional<std::map<int, int>> max_bemf_speeds = std::nullopt);
153 std::map<std::string, AxisResult>
157 std::map<std::string, VelocityTuneResult>
159 const std::map<std::string, double>& max_velocities,
162 std::map<std::string, MotionTuneResult>
173 void confirm(
const std::string& phase_key);
176 std::vector<hal::motor::IMotor*> motors();
179 std::optional<std::map<int, int>> estimateMaxBemfSpeeds();
182 bool bemfAvailable();
std::function< void(const std::string &phase_key)> ConfirmCallback
EncoderCalResult runEncoderCalibrationPhase(const EncoderCalConfig &cfg)
std::map< std::string, MotionTuneResult > runMotionPhase(const std::vector< std::string > ¶ms, const MotionTuneConfig &cfg)
std::map< int, StaticFrictionResult > runStaticFrictionPhase(const StaticFrictionConfig &cfg)
AutoTuner(drive::Drive &drive, odometry::IOdometry &odometry, motion::UnifiedMotionPidConfig &motion_pid_config)
std::map< std::string, AxisResult > runCharacterizePhase(const std::vector< std::string > &axes, const CharacterizeConfig &cfg)
AutoTuneResult tuneAll(const AutoTuneConfig &cfg)
std::map< int, VelLpfResult > runVelLpfPhase(const VelLpfConfig &cfg)
std::map< int, FirmwarePidResult > runFirmwarePidPhase(const FirmwarePidConfig &cfg, std::optional< std::map< int, int > > max_bemf_speeds=std::nullopt)
ToleranceResult runTolerancesPhase(const std::map< std::string, MotionTuneResult > &motion_results, const MotionTuneConfig &motion_cfg, const ToleranceConfig &cfg)
void setConfirmCallback(ConfirmCallback cb)
Install a callback invoked before every phase in tuneAll().
std::map< std::string, VelocityTuneResult > runVelocityPhase(const std::vector< std::string > &axes, const std::map< std::string, double > &max_velocities, const VelocityTuneConfig &cfg)
Aggregated configuration for the full auto-tune pipeline.
FirmwarePidConfig firmware_pid_cfg
std::map< std::string, double > max_velocities
VelocityTuneConfig velocity_cfg
std::vector< std::string > motion_params
CharacterizeConfig characterize_cfg
ToleranceConfig tolerance_cfg
EncoderCalConfig encoder_cal_cfg
std::vector< std::string > characterize_axes
std::vector< std::string > velocity_axes
MotionTuneConfig motion_cfg
bool tune_static_friction
std::optional< std::map< int, int > > max_bemf_speeds
StaticFrictionConfig static_friction_cfg
Aggregated results of the auto-tune pipeline.
std::map< std::string, AxisResult > characterize
std::map< int, VelLpfResult > vel_lpf
std::map< std::string, MotionTuneResult > motion
std::map< std::string, VelocityTuneResult > velocity
ToleranceResult tolerances
std::map< int, FirmwarePidResult > firmware_pid
EncoderCalResult encoder_cal
std::map< int, StaticFrictionResult > static_friction
Configuration for the DriveCharacterizer.
Configuration for the EncoderCalibrator.
Encoder calibration result.
Configuration for the FirmwarePidTuner.
Configuration for the MotionTuner (Hooke-Jeeves coordinate descent).
Configuration for the StaticFrictionMeasurer.
Configuration for deriveTolerances().
Result of deriveTolerances(): the derived tolerances and flags indicating which UnifiedMotionPidConfi...
Configuration for the VelLpfTuner (encoder-velocity LPF alpha).
Configuration for the VelocityTuner.