cpp_robotics::LinearMPC
線形時不変モデルのモデル予測制御クラス
#include <linear_mpc.hpp>
Public Functions
Name | |
---|---|
LinearMPC(const Eigen::MatrixXd & Ad, const Eigen::MatrixXd & Bd, const Eigen::MatrixXd & Q, const Eigen::MatrixXd & R, const Eigen::MatrixXd & Qf, const size_t N, std::optional< std::pair< Eigen::VectorXd, Eigen::VectorXd >> u_limit =std::nullopt) Construct a new Linear MPC object. |
|
std::tuple< bool, Eigen::VectorXd > | control(const Eigen::VectorXd & x0, const std::vector< Eigen::VectorXd > & x_ref, bool warm_start =true) 最適入力の計算 |
std::tuple< bool, Eigen::VectorXd > | control(const Eigen::VectorXd & x0, const Eigen::VectorXd & x_ref, bool warm_start =true) 最適入力の計算 |
QuadProg::Result | latest_qp_result() const |
Eigen::MatrixXd | Ad() const |
Eigen::MatrixXd | Bd() const |
Eigen::MatrixXd | Q() const |
Eigen::MatrixXd | R() const |
Eigen::MatrixXd | Qf() const |
size_t | N() const |
Public Functions Documentation
function LinearMPC
inline LinearMPC(
const Eigen::MatrixXd & Ad,
const Eigen::MatrixXd & Bd,
const Eigen::MatrixXd & Q,
const Eigen::MatrixXd & R,
const Eigen::MatrixXd & Qf,
const size_t N,
std::optional< std::pair< Eigen::VectorXd, Eigen::VectorXd >> u_limit =std::nullopt
)
Construct a new Linear MPC object.
Parameters:
- Ad 状態行列
- Bd 入力行列
- Q 状態重み行列
- R 入力重み行列
- Qf 最終状態重み行列
- N ホライゾン長さ
- u_limit 制御入力範囲
function control
inline std::tuple< bool, Eigen::VectorXd > control(
const Eigen::VectorXd & x0,
const std::vector< Eigen::VectorXd > & x_ref,
bool warm_start =true
)
最適入力の計算
Parameters:
- x0 状態
- x_ref 目標値
- warm_start
Return: std::tuple
function control
inline std::tuple< bool, Eigen::VectorXd > control(
const Eigen::VectorXd & x0,
const Eigen::VectorXd & x_ref,
bool warm_start =true
)
最適入力の計算
Parameters:
- x0 状態
- x_ref 目標値
- warm_start
Return: std::tuple
function latest_qp_result
inline QuadProg::Result latest_qp_result() const
function Ad
inline Eigen::MatrixXd Ad() const
function Bd
inline Eigen::MatrixXd Bd() const
function Q
inline Eigen::MatrixXd Q() const
function R
inline Eigen::MatrixXd R() const
function Qf
inline Eigen::MatrixXd Qf() const
function N
inline size_t N() const
Updated on 2024-05-28 at 06:55:39 +0000