Apollo
6.0
Open source self driving car software
|
#include <piecewise_jerk_speed_nonlinear_ipopt_interface.h>
Public Member Functions | |
PiecewiseJerkSpeedNonlinearIpoptInterface (const double s_init, const double s_dot_init, const double s_ddot_init, const double delta_t, const int num_of_points, const double s_max_, const double s_dot_max, const double s_ddot_min, const double s_ddot_max, const double s_dddot_min, const double s_dddot_max) | |
virtual | ~PiecewiseJerkSpeedNonlinearIpoptInterface ()=default |
void | set_warm_start (const std::vector< std::vector< double >> &speed_profile) |
void | set_curvature_curve (const PiecewiseJerkTrajectory1d &curvature_curve) |
void | get_optimization_results (std::vector< double > *ptr_opt_s, std::vector< double > *ptr_opt_v, std::vector< double > *ptr_opt_a) |
void | set_end_state_target (const double s_target, const double v_target, const double a_target) |
void | set_reference_speed (const double s_dot_ref) |
void | set_reference_spatial_distance (const std::vector< double > &s_ref) |
void | set_speed_limit_curve (const PiecewiseJerkTrajectory1d &v_bound_f) |
void | set_safety_bounds (const std::vector< std::pair< double, double >> &safety_bounds) |
void | set_soft_safety_bounds (const std::vector< std::pair< double, double >> &soft_safety_bounds) |
void | set_w_target_state (const double w_target_s, const double w_target_v, const double w_target_a) |
void | set_w_overall_a (const double w_overall_a) |
void | set_w_overall_j (const double w_overall_j) |
void | set_w_overall_centripetal_acc (const double w_overall_centripetal_acc) |
void | set_w_reference_speed (const double w_reference_speed) |
void | set_w_reference_spatial_distance (const double w_ref_s) |
void | set_w_soft_s_bound (const double w_soft_s_bound) |
bool | get_nlp_info (int &n, int &m, int &nnz_jac_g, int &nnz_h_lag, IndexStyleEnum &index_style) override |
bool | get_bounds_info (int n, double *x_l, double *x_u, int m, double *g_l, double *g_u) override |
bool | get_starting_point (int n, bool init_x, double *x, bool init_z, double *z_L, double *z_U, int m, bool init_lambda, double *lambda) override |
bool | eval_f (int n, const double *x, bool new_x, double &obj_value) override |
bool | eval_grad_f (int n, const double *x, bool new_x, double *grad_f) override |
bool | eval_g (int n, const double *x, bool new_x, int m, double *g) override |
bool | eval_jac_g (int n, const double *x, bool new_x, int m, int nele_jac, int *iRow, int *jCol, double *values) override |
bool | eval_h (int n, const double *x, bool new_x, double obj_factor, int m, const double *lambda, bool new_lambda, int nele_hess, int *iRow, int *jCol, double *values) override |
Solution Methods | |
void | finalize_solution (Ipopt::SolverReturn status, int n, const double *x, const double *z_L, const double *z_U, int m, const double *g, const double *lambda, double obj_value, const Ipopt::IpoptData *ip_data, Ipopt::IpoptCalculatedQuantities *ip_cq) override |
apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::PiecewiseJerkSpeedNonlinearIpoptInterface | ( | const double | s_init, |
const double | s_dot_init, | ||
const double | s_ddot_init, | ||
const double | delta_t, | ||
const int | num_of_points, | ||
const double | s_max_, | ||
const double | s_dot_max, | ||
const double | s_ddot_min, | ||
const double | s_ddot_max, | ||
const double | s_dddot_min, | ||
const double | s_dddot_max | ||
) |
|
virtualdefault |
|
override |
Method to return the objective value
|
override |
Method to return the constraint residuals
|
override |
Method to return the gradient of the objective
|
override |
Method to return: 1) The structure of the hessian of the lagrangian (if "values" is nullptr) 2) The values of the hessian of the lagrangian (if "values" is not nullptr)
|
override |
Method to return: 1) The structure of the jacobian (if "values" is nullptr) 2) The values of the jacobian (if "values" is not nullptr)
|
override |
This method is called when the algorithm is complete so the TNLP can store/write the solution
|
override |
Method to return the bounds for my problem
|
override |
Method to return some info about the nlp
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::get_optimization_results | ( | std::vector< double > * | ptr_opt_s, |
std::vector< double > * | ptr_opt_v, | ||
std::vector< double > * | ptr_opt_a | ||
) |
|
override |
Method to return the starting point for the algorithm
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_curvature_curve | ( | const PiecewiseJerkTrajectory1d & | curvature_curve | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_end_state_target | ( | const double | s_target, |
const double | v_target, | ||
const double | a_target | ||
) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_reference_spatial_distance | ( | const std::vector< double > & | s_ref | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_reference_speed | ( | const double | s_dot_ref | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_safety_bounds | ( | const std::vector< std::pair< double, double >> & | safety_bounds | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_soft_safety_bounds | ( | const std::vector< std::pair< double, double >> & | soft_safety_bounds | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_speed_limit_curve | ( | const PiecewiseJerkTrajectory1d & | v_bound_f | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_w_overall_a | ( | const double | w_overall_a | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_w_overall_centripetal_acc | ( | const double | w_overall_centripetal_acc | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_w_overall_j | ( | const double | w_overall_j | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_w_reference_spatial_distance | ( | const double | w_ref_s | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_w_reference_speed | ( | const double | w_reference_speed | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_w_soft_s_bound | ( | const double | w_soft_s_bound | ) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_w_target_state | ( | const double | w_target_s, |
const double | w_target_v, | ||
const double | w_target_a | ||
) |
void apollo::planning::PiecewiseJerkSpeedNonlinearIpoptInterface::set_warm_start | ( | const std::vector< std::vector< double >> & | speed_profile | ) |