robotoc
robotoc - efficient ROBOT Optimal Control solvers
|
Line search for optimal control problems. More...
#include <line_search.hpp>
Public Member Functions | |
LineSearch (const OCP &ocp, const LineSearchSettings &settings=LineSearchSettings()) | |
Construct a line search. More... | |
LineSearch () | |
Default constructor. More... | |
~LineSearch ()=default | |
Default destructor. More... | |
LineSearch (const LineSearch &)=default | |
Default copy constructor. More... | |
LineSearch & | operator= (const LineSearch &)=default |
Default copy assign operator. More... | |
LineSearch (LineSearch &&) noexcept=default | |
Default move constructor. More... | |
LineSearch & | operator= (LineSearch &&) noexcept=default |
Default move assign operator. More... | |
double | computeStepSize (const DirectMultipleShooting &dms, aligned_vector< Robot > &robots, const TimeDiscretization &time_discretization, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Solution &s, const Direction &d, const double max_primal_step_size) |
Compute primal step size by fliter line search method. More... | |
void | clearHistory () |
Clear the line search filter. More... | |
void | set (const LineSearchSettings &settings) |
Set line search settings. More... | |
void | resizeData (const TimeDiscretization &time_discretization) |
Resizes the internal data. More... | |
Line search for optimal control problems.
robotoc::LineSearch::LineSearch | ( | const OCP & | ocp, |
const LineSearchSettings & | settings = LineSearchSettings() |
||
) |
Construct a line search.
[in] | ocp | Optimal control problem. |
[in] | settings | Line search settings. |
robotoc::LineSearch::LineSearch | ( | ) |
Default constructor.
|
default |
Default destructor.
|
default |
Default copy constructor.
|
defaultnoexcept |
Default move constructor.
void robotoc::LineSearch::clearHistory | ( | ) |
Clear the line search filter.
double robotoc::LineSearch::computeStepSize | ( | const DirectMultipleShooting & | dms, |
aligned_vector< Robot > & | robots, | ||
const TimeDiscretization & | time_discretization, | ||
const Eigen::VectorXd & | q, | ||
const Eigen::VectorXd & | v, | ||
const Solution & | s, | ||
const Direction & | d, | ||
const double | max_primal_step_size | ||
) |
Compute primal step size by fliter line search method.
[in] | dms | Direct multiple shooting structure. |
[in,out] | robots | aligned_vector of Robot for parallel computing. |
[in] | time_discretization | Time discretization. |
[in] | q | Initial configuration. |
[in] | v | Initial generalized velocity. |
[in] | s | Solution. |
[in] | d | Direction. |
[in] | max_primal_step_size | Maximum primal step size. |
|
default |
Default copy assign operator.
|
defaultnoexcept |
Default move assign operator.
void robotoc::LineSearch::resizeData | ( | const TimeDiscretization & | time_discretization | ) |
Resizes the internal data.
[in] | time_discretization | Time discretization. |
void robotoc::LineSearch::set | ( | const LineSearchSettings & | settings | ) |
Set line search settings.
[in] | settings | Line search settings. |