DDPC Structures#

Calculated by DDPC specific algorithm:

  • DDPCPredictorMatrices

  • DDPCRegularization Matrices

  • DDPCClosedFormSolutionMatrices

User Input:

  • DDPCParameters

Calculated:

  • DDPCDimensions

DDPC Class#

Arguments#

  • ddpc_parameters (DDPCParameters)

  • training_data (InputOutputTrajectory)

Attributes#

  • ddpc_params

  • ddpc_dims

Matrices:

  • hankel_matrices

  • pred_matrices

  • reg_matrices

  • cf_matrixes

CVXPY:

  • constr

  • cost

  • problem

  • valid_opt_problem

CP Variables:

  • u_f_cp

  • y_f_cp

CP Parameters

  • y_r_cp

  • u_r_cp

  • z_p_cp

DDPC Init#

  1. Check valid training data, parameters

  2. Calculate dimensions

  3. Construct Hankel matrices

  4. calculate pred, reg, cf matrices

  5. Initialize CVXPY optimization problem

Class Methods#

  • register

  • instantiate

Abstract methods#

Calculate:

  • calculate_predictor_matrices

  • calculate_regularization_matrices

  • calculate_closed_form_solution_matrices

Get expression:

  • get_regularization_cost_expression

  • get_predictor_constraint_expression

Concrete methods#

Optimization:

  • build_opt_problem

  • solve

  • constraint handling

  • get next control action

Update:

  • update_past_measurements

  • update_reference_trajectory