15 const std::function<
void()>& started_callback = {},
16 const std::function<void(motionmaster::MotionMasterMessage::Status::
17 SystemIdentification::Warning::Code,
18 std::string)>& warning_callback = {},
19 bool skip_chirp_signal =
false);
31 std::variant<MotionMasterError, PlantModel>
start();
34 uint32_t device_address_;
40 const std::function<void()>& started_callback_;
41 const std::function<void(motionmaster::MotionMasterMessage::Status::
42 SystemIdentification::Warning::Code,
43 std::string)>& warning_callback_;
47 bool skip_chirp_signal_ =
false;
49 double gear_ratio_ = 1.0;
50 double feed_constant_ = 1.0;
77 const std::vector<int32_t>& torques,
78 const std::vector<double>& velocities);
94 std::vector<double> convert_velocity_q15_to_si(
95 const std::vector<int32_t>& q15_velocities);
105 static std::vector<double> convert_torque_to_si(
106 const std::vector<int32_t>& raw_torques, uint32_t nominal_torque);
118 static bool check_model_stability(
const PlantModel& m);
120 static void write_sys_id_csv(
const std::string& filename,
121 const std::vector<double>& torques_si,
122 const std::vector<double>& velocities_si);
std::variant< MotionMasterError, PlantModel > start()
Run system identification.
Definition system_identification.cc:44
SystemIdentification(uint32_t device_address, Cia402Drive &cia402_drive, TuningParameters tuning_params, const std::function< void()> &started_callback={}, const std::function< void(motionmaster::MotionMasterMessage::Status::SystemIdentification::Warning::Code, std::string)> &warning_callback={}, bool skip_chirp_signal=false)
Definition system_identification.cc:26