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