double_pendulum.system_identification

Submodules

double_pendulum.system_identification.data_prep

double_pendulum.system_identification.data_prep.smooth_data(t, shoulder_pos, shoulder_vel, shoulder_trq, elbow_pos, elbow_vel, elbow_trq, filt='butterworth')

double_pendulum.system_identification.dynamics

double_pendulum.system_identification.dynamics.build_identification_function(fixed_mpar, variable_mpar, measured_data_filepath, filt='butterworth')
double_pendulum.system_identification.dynamics.build_identification_matrices(fixed_mpar, variable_mpar, measured_data_filepath, filt='butterworth')
double_pendulum.system_identification.dynamics.dynamics_func(fixed_symbols={}, variable_symbols=[])
class double_pendulum.system_identification.dynamics.yb_matrix_sym(fixed_symbols={}, variable_symbols=[])

Bases: object

double_pendulum.system_identification.loss

class double_pendulum.system_identification.loss.errfunc(Q, phi, bounds, rescale=False, scalar=False)

Bases: object

rescale_pars(pars)

par -> [0, 1]

unscale_pars(pars)

[0, 1] -> par

class double_pendulum.system_identification.loss.errfunc_nl(dyn_fun, bounds, X, ACC, U, rescale=False, scalar=False)

Bases: object

rescale_pars(pars)

par -> [0, 1]

unscale_pars(pars)

[0, 1] -> par

double_pendulum.system_identification.plotting

double_pendulum.system_identification.plotting.plot_torques(time, shoulder_meas_tau, elbow_meas_tau, shoulder_fit_tau, elbow_fit_tau, save_to=None, show=True)

double_pendulum.system_identification.sys_id

double_pendulum.system_identification.sys_id.run_system_identification(measured_data_csv, fixed_mpar, variable_mpar, mp0, bounds, optimization_method='least_squares', save_dir='.', num_proc=0, sigma0=0.1, rescale=False, maxfevals=10000, filt='butterworth', show_plot=True)
double_pendulum.system_identification.sys_id.run_system_identification_nl(measured_data_csv, fixed_mpar, variable_mpar, mp0, bounds, optimization_method='cma-es', save_dir='.', num_proc=0, sigma0=0.1, rescale=False, maxfevals=10000, filt='butterworth', show_plot=True)