robotoc
robotoc - efficient ROBOT Optimal Control solvers
Loading...
Searching...
No Matches
unconstr_kkt_matrix_inverter.hpp
Go to the documentation of this file.
1#ifndef ROBOTOC_UNCONSTR_KKT_MATRIX_INVERTER_HPP_
2#define ROBOTOC_UNCONSTR_KKT_MATRIX_INVERTER_HPP_
3
4#include <vector>
5
6#include "Eigen/Core"
7#include "Eigen/LU"
8
10
11
12namespace robotoc {
13
19public:
24 UnconstrKKTMatrixInverter(const Robot& robot);
25
30
35
40
45 const UnconstrKKTMatrixInverter&) = default;
46
51
56 UnconstrKKTMatrixInverter&&) noexcept = default;
57
64 template <typename MatrixType1, typename MatrixType2>
65 void invert(const double dt, const Eigen::MatrixBase<MatrixType1>& H,
66 const Eigen::MatrixBase<MatrixType2>& KKT_mat_inv);
67
68private:
69 Eigen::LLT<Eigen::MatrixXd> llt_H_, llt_S_;
70 Eigen::MatrixXd FHinv_, S_;
71 int dimv_, dimx_, dimH_, dimkkt_;
72
73};
74
75} // namespace robotoc
76
77#include "robotoc/parnmpc/unconstr_kkt_matrix_inverter.hxx"
78
79#endif // ROBOTOC_UNCONSTR_KKT_MATRIX_INVERTER_HPP_
Dynamics and kinematics model of robots. Wraps pinocchio::Model and pinocchio::Data....
Definition: robot.hpp:32
Schur complement for SplitKKTMatrix for UnconstrParNMPC.
Definition: unconstr_kkt_matrix_inverter.hpp:18
UnconstrKKTMatrixInverter(UnconstrKKTMatrixInverter &&) noexcept=default
Default move constructor.
UnconstrKKTMatrixInverter & operator=(const UnconstrKKTMatrixInverter &)=default
Default copy operator.
UnconstrKKTMatrixInverter()
Default constructor.
Definition: unconstr_kkt_matrix_inverter.hxx:23
UnconstrKKTMatrixInverter(const UnconstrKKTMatrixInverter &)=default
Default copy constructor.
~UnconstrKKTMatrixInverter()
Destructor.
Definition: unconstr_kkt_matrix_inverter.hxx:35
void invert(const double dt, const Eigen::MatrixBase< MatrixType1 > &H, const Eigen::MatrixBase< MatrixType2 > &KKT_mat_inv)
Computes the inverse of the split KKT matrix of the time stage.
Definition: unconstr_kkt_matrix_inverter.hxx:40
Definition: constraint_component_base.hpp:17