C Interface#
The C
Interface of acados
is an efficient interface to the core functionalities of acados
.
It provides setters and getters that can be used to interact with the core of acados
with negligible computational overhead.
Setters and getters for matrices use column-major format.
If you want to use acados
directly from C
or C++
, it is recommended to only use the functions in in interfaces/acados_c/
, which encapsulate the acados
core, i.e. the functionality implemented in acados/
.
Disclaimer: the C
interface is NOT thoroughly documented using docstrings.
It is recommended to instead look at the header files in interfaces/acados_c/
.
Examples#
Note that the MATLAB
and Python
interfaces can be used to code generate C
examples which are cleaner than some of the plain C examples in examples/c
.
A recommended workflow is thus to prototype an NMPC controller from one of the high-level interfaces and deploy the generated code with minor modifications in a C
, C++
or ROS
framework.
A very important resource are the templated C
files used by the template based interfaces (Python
and code generation for MATLAB
and Octave
), which show how to use the C
interface properly.
These templates are actively maintained and tested using CI.
The templates can be found in interfaces/acados_template/acados_template/c_templates_tera
.
docstring based documentation#
- dense_qp_interface
dense_qp_solver_t
dense_qp_config_create()
dense_qp_dims_create()
dense_qp_in_create()
dense_qp_out_create()
dense_qp_opts_create()
dense_qp_calculate_size()
dense_qp_assign()
dense_qp_create()
dense_qp_solve()
dense_qp_inf_norm_residuals()
dense_qp_set_field_double_array()
dense_qp_set_field_int_array()
dense_qp_get_field_double_array()
dense_qp_get_field_int_array()
dense_qp_solver_plan
dense_qp_solver
dense_qp_dims
dense_qp_in
dense_qp_out
dense_qp_res
dense_qp_res_ws
dense_qp_seed
dense_qp_solver_config_calculate_size()
dense_qp_solver_config_assign()
dense_qp_dims_calculate_size()
dense_qp_dims_assign()
dense_qp_dims_set()
dense_qp_in_calculate_size()
dense_qp_in_assign()
dense_qp_out_calculate_size()
dense_qp_out_assign()
dense_qp_out_get()
dense_qp_res_calculate_size()
dense_qp_res_assign()
dense_qp_res_workspace_calculate_size()
dense_qp_res_workspace_assign()
dense_qp_compute_t()
dense_qp_res_compute()
dense_qp_res_compute_nrm_inf()
dense_qp_seed_calculate_size()
dense_qp_seed_assign()
dense_qp_stack_slacks_dims_upperbound()
dense_qp_stack_slacks_dims_from_idxs_rev()
dense_qp_stack_slacks_recover_nsb_nsg_from_idxs_rev()
dense_qp_stack_slacks()
dense_qp_unstack_slacks()
qp_solver_config
qp_info
- ocp_qp_interface
ocp_qp_solver_t
ocp_qp_xcond_solver_config_initialize_from_plan()
ocp_qp_xcond_solver_config_create()
ocp_qp_xcond_solver_config_free()
ocp_qp_dims_create()
ocp_qp_dims_free()
ocp_qp_xcond_solver_dims_create()
ocp_qp_xcond_solver_dims_create_from_ocp_qp_dims()
ocp_qp_xcond_solver_dims_free()
ocp_qp_xcond_solver_dims_set()
ocp_qp_in_create()
ocp_qp_in_set()
ocp_qp_in_free()
ocp_qp_out_create()
ocp_qp_out_free()
ocp_qp_out_get()
ocp_qp_xcond_solver_opts_create()
ocp_qp_xcond_solver_opts_free()
ocp_qp_xcond_solver_opts_set()
ocp_qp_calculate_size()
ocp_qp_assign()
ocp_qp_create()
ocp_qp_solver_destroy()
ocp_qp_x_cond_solver_free()
ocp_qp_solve()
ocp_qp_inf_norm_residuals()
ocp_qp_solver_plan_t
ocp_qp_solver
- sim_interface
sim_solver_t
sim_config_create()
sim_config_destroy()
sim_dims_create()
sim_dims_destroy()
sim_dims_set()
sim_dims_get()
sim_dims_get_from_attr()
sim_in_create()
sim_in_destroy()
sim_in_set()
sim_out_create()
sim_out_destroy()
sim_out_get()
sim_opts_create()
sim_opts_destroy()
sim_opts_set()
sim_opts_get()
sim_calculate_size()
sim_assign()
sim_solver_create()
sim_solver_destroy()
sim_solve()
sim_precompute()
sim_solver_set()
sim_solver_plan_t
sim_solver
sim_function_t
sim_config_calculate_size()
sim_config_assign()
sim_in_calculate_size()
sim_in_assign()
sim_in_assign_and_advance()
sim_in_set_()
sim_out_calculate_size()
sim_out_assign()
sim_out_get_()
sim_opts_set_()
sim_opts_get_()
sim_in
sim_info
sim_out
sim_opts
sim_config
- ocp_nlp_interface
ocp_nlp_plan_t
ocp_nlp_solver
ocp_nlp_solver_t
ocp_nlp_dynamics_t
ocp_nlp_constraints_t
ocp_nlp_reg_t
ocp_nlp_globalization_t
ocp_nlp_plan_create()
ocp_nlp_plan_destroy()
ocp_nlp_config_create()
ocp_nlp_config_destroy()
ocp_nlp_dims_create()
ocp_nlp_dims_destroy()
ocp_nlp_in_create()
ocp_nlp_in_destroy()
ocp_nlp_in_set()
ocp_nlp_dynamics_model_set_external_param_fun()
ocp_nlp_cost_model_set_external_param_fun()
ocp_nlp_constraints_model_set_external_param_fun()
ocp_nlp_in_set_params_sparse()
ocp_nlp_in_get()
ocp_nlp_dynamics_model_set()
ocp_nlp_cost_model_set()
ocp_nlp_cost_model_get()
ocp_nlp_constraints_model_set()
ocp_nlp_constraints_model_get()
ocp_nlp_out_create()
ocp_nlp_out_destroy()
ocp_nlp_out_set()
ocp_nlp_out_set_values_to_zero()
ocp_nlp_out_get()
ocp_nlp_get_at_stage()
ocp_nlp_get_from_iterate()
ocp_nlp_get_all()
ocp_nlp_set_all()
ocp_nlp_dims_get_from_attr()
ocp_nlp_constraint_dims_get_from_attr()
ocp_nlp_cost_dims_get_from_attr()
ocp_nlp_qp_dims_get_from_attr()
ocp_nlp_dims_get_total_from_attr()
ocp_nlp_solver_opts_create()
ocp_nlp_solver_opts_destroy()
ocp_nlp_solver_opts_set()
ocp_nlp_solver_opts_set_at_stage()
ocp_nlp_solver_create()
ocp_nlp_solver_destroy()
ocp_nlp_solve()
ocp_nlp_setup_qp_matrices_and_factorize()
ocp_nlp_solver_reset_qp_memory()
ocp_nlp_precompute()
ocp_nlp_eval_cost()
ocp_nlp_eval_constraints()
ocp_nlp_eval_params_jac()
ocp_nlp_eval_residuals()
ocp_nlp_eval_param_sens()
ocp_nlp_eval_lagrange_grad_p()
ocp_nlp_eval_solution_sens_adj_p()
ocp_nlp_get()
ocp_nlp_set()
ocp_nlp_plan_t::ocp_qp_solver_plan
ocp_nlp_plan_t::relaxed_ocp_qp_solver_plan
ocp_nlp_plan_t::sim_solver_plan
ocp_nlp_plan_t::nlp_solver
ocp_nlp_plan_t::regularization
ocp_nlp_plan_t::globalization
ocp_nlp_plan_t::nlp_cost
ocp_nlp_plan_t::nlp_dynamics
ocp_nlp_plan_t::nlp_constraints
ocp_nlp_plan_t::N
ocp_nlp_solver::config
ocp_nlp_solver::dims
ocp_nlp_solver::opts
ocp_nlp_solver::mem
ocp_nlp_solver::work
- condensing_interface
- external_function_interface
external_function_param_generic_create()
external_function_param_generic_free()
external_function_casadi_create()
external_function_casadi_free()
external_function_casadi_create_array()
external_function_casadi_free_array()
external_function_param_casadi_create()
external_function_param_casadi_free()
external_function_param_casadi_create_array()
external_function_param_casadi_free_array()
external_function_external_param_casadi_create()
external_function_external_param_casadi_free()
external_function_external_param_generic_create()
external_function_external_param_generic_free()
ext_fun_arg_t
external_function_get_workspace_requirement_if_defined()
external_function_set_fun_workspace_if_defined()
external_function_opts_set_to_default()
external_function_param_generic_struct_size()
external_function_param_generic_calculate_size()
external_function_param_generic_assign()
external_function_param_generic_wrapper()
external_function_param_generic_get_nparam()
external_function_param_generic_set_param()
external_function_param_generic_get_external_workspace_requirement()
external_function_param_generic_set_external_workspace()
external_function_casadi_struct_size()
external_function_casadi_calculate_size()
external_function_casadi_assign()
external_function_casadi_wrapper()
external_function_casadi_get_external_workspace_requirement()
external_function_casadi_set_external_workspace()
external_function_param_casadi_struct_size()
external_function_param_casadi_calculate_size()
external_function_param_casadi_assign()
external_function_param_casadi_wrapper()
external_function_param_casadi_get_nparam()
external_function_param_casadi_get_external_workspace_requirement()
external_function_param_casadi_set_external_workspace()
external_function_external_param_casadi_struct_size()
external_function_external_param_casadi_calculate_size()
external_function_external_param_casadi_assign()
external_function_external_param_casadi_wrapper()
external_function_external_param_casadi_get_external_workspace_requirement()
external_function_external_param_casadi_set_external_workspace()
external_function_external_param_generic_struct_size()
external_function_external_param_generic_calculate_size()
external_function_external_param_generic_assign()
external_function_external_param_generic_wrapper()
external_function_external_param_generic_set_param_ptr()
external_function_external_param_generic_get_external_workspace_requirement()
external_function_external_param_generic_set_external_workspace()
colmaj_args
blasfeo_dmat_args
blasfeo_dvec_args
external_function_opts
external_function_generic
external_function_param_generic
external_function_casadi
external_function_param_casadi
external_function_external_param_casadi
external_function_external_param_generic