50 const std::string& axis,
64 [[nodiscard]] std::map<std::string, VelocityTuneResult>
tune(
65 const std::vector<std::string>& axes,
66 const std::map<std::string, double>& max_velocities,
77 const std::string& axis,
88 [[nodiscard]] std::optional<PlantParams> identifyPlantInflection(
90 double command)
const;
100 double command)
const;
VelocityTuner(drive::Drive &drive, odometry::IOdometry &odometry)
std::map< std::string, VelocityTuneResult > tune(const std::vector< std::string > &axes, const std::map< std::string, double > &max_velocities, const VelocityTuneConfig &cfg) const
Tune multiple axes in sequence.
VelocityTuneResult tuneAxis(const std::string &axis, double max_velocity, const VelocityTuneConfig &cfg) const
Tune a single velocity axis.
First-order-plus-dead-time (FOPDT) plant parameters extracted from a step-response recording.
Raw step-response recording for one velocity axis.
Configuration for the VelocityTuner.
Result of tuning a single velocity axis.
Basic PID gains without integrator and output shaping parameters.