|
robotoc
robotoc - efficient ROBOT Optimal Control solvers
|
Split backward correction. More...
#include <unconstr_split_backward_correction.hpp>
Public Member Functions | |
| UnconstrSplitBackwardCorrection (const Robot &robot) | |
| Construct split backward correction. More... | |
| UnconstrSplitBackwardCorrection () | |
| Default constructor. More... | |
| ~UnconstrSplitBackwardCorrection () | |
| Destructor. More... | |
| UnconstrSplitBackwardCorrection (const UnconstrSplitBackwardCorrection &)=default | |
| Default copy constructor. More... | |
| UnconstrSplitBackwardCorrection & | operator= (const UnconstrSplitBackwardCorrection &)=default |
| Default copy operator. More... | |
| UnconstrSplitBackwardCorrection (UnconstrSplitBackwardCorrection &&) noexcept=default | |
| Default move constructor. More... | |
| UnconstrSplitBackwardCorrection & | operator= (UnconstrSplitBackwardCorrection &&) noexcept=default |
| Default move assign operator. More... | |
| void | coarseUpdate (const Eigen::MatrixXd &aux_mat_next, const double dt, const SplitKKTMatrix &kkt_matrix, const SplitKKTResidual &kkt_residual, const SplitSolution &s, SplitSolution &s_new) |
| Coarse updates the split solution of this time stage. More... | |
| void | coarseUpdate (const Eigen::Block< Eigen::MatrixXd > &aux_mat_next, const double dt, const SplitKKTMatrix &kkt_matrix, const SplitKKTResidual &kkt_residual, const SplitSolution &s, SplitSolution &s_new) |
| Coarse updates the split solution of this time stage. More... | |
| void | coarseUpdate (const double dt, const SplitKKTMatrix &kkt_matrix, const SplitKKTResidual &kkt_residual, const SplitSolution &s, SplitSolution &s_new) |
| Coarse updates the split solution of this time stage. Auxiliary matrix is assumed to zero matrix, i.e., terminal stage. More... | |
| const Eigen::Block< const Eigen::MatrixXd > | auxMat () const |
| Auxiliary matrix of this time stage. More... | |
| void | backwardCorrectionSerial (const SplitSolution &s_next, const SplitSolution &s_new_next, SplitSolution &s_new) |
| Performs the serial part of the backward correction. More... | |
| void | backwardCorrectionParallel (SplitSolution &s_new) |
| Performs the parallel part of the backward correction. More... | |
| void | forwardCorrectionSerial (const SplitSolution &s_prev, const SplitSolution &s_new_prev, SplitSolution &s_new) |
| Performs the serial part of the forward correction. More... | |
| void | forwardCorrectionParallel (SplitSolution &s_new) |
| Performs the parallel part of the forward correction. More... | |
Static Public Member Functions | |
| static void | computeDirection (const SplitSolution &s, const SplitSolution &s_new, SplitDirection &d) |
| Computes the direction from the results of the forward correction. More... | |
Split backward correction.
| robotoc::UnconstrSplitBackwardCorrection::UnconstrSplitBackwardCorrection | ( | const Robot & | robot | ) |
Construct split backward correction.
| [in] | robot | Robot model. |
| robotoc::UnconstrSplitBackwardCorrection::UnconstrSplitBackwardCorrection | ( | ) |
Default constructor.
| robotoc::UnconstrSplitBackwardCorrection::~UnconstrSplitBackwardCorrection | ( | ) |
Destructor.
|
default |
Default copy constructor.
|
defaultnoexcept |
Default move constructor.
| const Eigen::Block< const Eigen::MatrixXd > robotoc::UnconstrSplitBackwardCorrection::auxMat | ( | ) | const |
Auxiliary matrix of this time stage.
| void robotoc::UnconstrSplitBackwardCorrection::backwardCorrectionParallel | ( | SplitSolution & | s_new | ) |
Performs the parallel part of the backward correction.
| [in,out] | s_new | Coarse updated split solution of this time stage. |
| void robotoc::UnconstrSplitBackwardCorrection::backwardCorrectionSerial | ( | const SplitSolution & | s_next, |
| const SplitSolution & | s_new_next, | ||
| SplitSolution & | s_new | ||
| ) |
Performs the serial part of the backward correction.
| [in] | s_next | Split solution of the next time stage. |
| [in] | s_new_next | Coarse updated split solution of the next time stage. |
| [in,out] | s_new | Coarse updated split solution of this time stage. |
| void robotoc::UnconstrSplitBackwardCorrection::coarseUpdate | ( | const double | dt, |
| const SplitKKTMatrix & | kkt_matrix, | ||
| const SplitKKTResidual & | kkt_residual, | ||
| const SplitSolution & | s, | ||
| SplitSolution & | s_new | ||
| ) |
Coarse updates the split solution of this time stage. Auxiliary matrix is assumed to zero matrix, i.e., terminal stage.
| [in] | dt | Time stage of time stage. |
| [in,out] | kkt_matrix | Split KKT matrix of this time stage. |
| [in] | kkt_residual | Split KKT residual of this time stage. |
| [in] | s | Split solution of this time stage. |
| [in,out] | s_new | Coarse updated split solution of this time stage. |
| void robotoc::UnconstrSplitBackwardCorrection::coarseUpdate | ( | const Eigen::Block< Eigen::MatrixXd > & | aux_mat_next, |
| const double | dt, | ||
| const SplitKKTMatrix & | kkt_matrix, | ||
| const SplitKKTResidual & | kkt_residual, | ||
| const SplitSolution & | s, | ||
| SplitSolution & | s_new | ||
| ) |
Coarse updates the split solution of this time stage.
| [in] | aux_mat_next | Auxiliary matrix of the next time stage. |
| [in] | dt | Time stage of time stage. |
| [in,out] | kkt_matrix | Split KKT matrix of this time stage. |
| [in] | kkt_residual | Split KKT residual of this time stage. |
| [in] | s | Split solution of this time stage. |
| [in,out] | s_new | Coarse updated split solution of this time stage. |
| void robotoc::UnconstrSplitBackwardCorrection::coarseUpdate | ( | const Eigen::MatrixXd & | aux_mat_next, |
| const double | dt, | ||
| const SplitKKTMatrix & | kkt_matrix, | ||
| const SplitKKTResidual & | kkt_residual, | ||
| const SplitSolution & | s, | ||
| SplitSolution & | s_new | ||
| ) |
Coarse updates the split solution of this time stage.
| [in] | aux_mat_next | Auxiliary matrix of the next time stage. |
| [in] | dt | Time stage of time stage. |
| [in,out] | kkt_matrix | Split KKT matrix of this time stage. |
| [in] | kkt_residual | Split KKT residual of this time stage. |
| [in] | s | Split solution of this time stage. |
| [in,out] | s_new | Coarse updated split solution of this time stage. |
|
static |
Computes the direction from the results of the forward correction.
| [in] | s | Split solution of this time stage. |
| [in] | s_new | Coarse updated split solution of this time stage. |
| [in,out] | d | Split direction of this time stage. |
| void robotoc::UnconstrSplitBackwardCorrection::forwardCorrectionParallel | ( | SplitSolution & | s_new | ) |
Performs the parallel part of the forward correction.
| [in,out] | s_new | Coarse updated split solution of this time stage. |
| void robotoc::UnconstrSplitBackwardCorrection::forwardCorrectionSerial | ( | const SplitSolution & | s_prev, |
| const SplitSolution & | s_new_prev, | ||
| SplitSolution & | s_new | ||
| ) |
Performs the serial part of the forward correction.
| [in] | s_prev | Split solution of the previous time stage. |
| [in] | s_new_prev | Coarse updated split solution of the previous time stage. |
| [in,out] | s_new | Coarse updated split solution of this time stage. |
|
default |
Default copy operator.
|
defaultnoexcept |
Default move assign operator.