| 411 | } |
| 412 | |
| 413 | int tiny_set_default_settings(TinySettings* settings) { |
| 414 | if (!settings) { |
| 415 | std::cout << "Error in tiny_set_default_settings: settings is nullptr" << std::endl; |
| 416 | return 1; |
| 417 | } |
| 418 | settings->abs_pri_tol = TINY_DEFAULT_ABS_PRI_TOL; |
| 419 | settings->abs_dua_tol = TINY_DEFAULT_ABS_DUA_TOL; |
| 420 | settings->max_iter = TINY_DEFAULT_MAX_ITER; |
| 421 | settings->check_termination = TINY_DEFAULT_CHECK_TERMINATION; |
| 422 | |
| 423 | // Turn off constraints until they are set by tiny_set_bound_constraints or tiny_set_cone_constraints |
| 424 | settings->en_state_bound = TINY_DEFAULT_EN_STATE_BOUND; |
| 425 | settings->en_input_bound = TINY_DEFAULT_EN_INPUT_BOUND; |
| 426 | settings->en_state_soc = TINY_DEFAULT_EN_STATE_SOC; |
| 427 | settings->en_input_soc = TINY_DEFAULT_EN_INPUT_SOC; |
| 428 | settings->en_state_linear = TINY_DEFAULT_EN_STATE_LINEAR; |
| 429 | settings->en_input_linear = TINY_DEFAULT_EN_INPUT_LINEAR; |
| 430 | settings->en_tv_state_linear = TINY_DEFAULT_EN_TV_STATE_LINEAR; |
| 431 | settings->en_tv_input_linear = TINY_DEFAULT_EN_TV_INPUT_LINEAR; |
| 432 | |
| 433 | // Initialize adaptive rho settings |
| 434 | // NOTE : Adaptive rho currently supports only quadrotor system |
| 435 | settings->adaptive_rho = 0; // Disabled by default |
| 436 | settings->adaptive_rho_min = 1.0; |
| 437 | settings->adaptive_rho_max = 100.0; |
| 438 | settings->adaptive_rho_enable_clipping = 1; |
| 439 | |
| 440 | return 0; |
| 441 | } |
| 442 | |
| 443 | int tiny_set_x0(TinySolver* solver, tinyVector x0) { |
| 444 | if (!solver) { |