autogenu-jupyter
An automatic code generator and the continuation/GMRES (C/GMRES) based numerical solvers for nonlinear MPC
Loading...
Searching...
No Matches
cgmres Namespace Reference

Namespaces

namespace  detail
 

Classes

class  Horizon
 Horizon of MPC. More...
 
class  Logger
 Logger for MPC. More...
 
class  MultipleShootingCGMRESSolver
 Multiple-shooting C/GMRES solver for nonlinear MPC. More...
 
class  OCP_cartpole
 Definition of the optimal control problem (OCP) of cartpole. More...
 
class  OCP_cartpoleExternalReference
 Definition of the optimal control problem (OCP) of cartpoleExternalReference. More...
 
class  OCP_hexacopter
 Definition of the optimal control problem (OCP) of hexacopter. More...
 
class  OCP_mobilerobot
 Definition of the optimal control problem (OCP) of mobilerobot. More...
 
class  OCP_pendubot
 Definition of the optimal control problem (OCP) of pendubot. More...
 
class  SingleShootingCGMRESSolver
 Single-shooting C/GMRES solver for nonlinear MPC. More...
 
class  SolverSettings
 Settings of solvers. More...
 
class  Timer
 A timer for benchmarks. More...
 
class  TimingProfile
 A profile of the timing benchmark. More...
 
class  ZeroHorizonOCPSolver
 Zero-horizon OCP solver to initialize the solution of the MPC solvers. More...
 

Typedefs

using Scalar = double
 Alias of double.
More...
 
template<int rows, int cols>
using Matrix = Eigen::Matrix< Scalar, rows, cols >
 Alias of Eigen::Matrix.
More...
 
template<int size>
using Vector = Eigen::Matrix< Scalar, size, 1 >
 Alias of Eigen::Vector.
More...
 
template<class MatrixType >
using MatrixBase = Eigen::MatrixBase< MatrixType >
 Alias of Eigen::MatrixBase.
More...
 
using MatrixX = Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic >
 Alias of Eigen::MatrixXd (dynamic-size matrix). More...
 
using VectorX = Eigen::Matrix< Scalar, Eigen::Dynamic, 1 >
 Alias of Eigen::VectorXd (dynamic-size vector).
More...
 
using VectorXi = Eigen::Matrix< int, Eigen::Dynamic, 1 >
 Alias of Eigen::VectorXi (dynamic-size integer vector).
More...
 
template<class MatrixType >
using Map = Eigen::Map< MatrixType >
 Alias of Eigen::Map.
More...
 

Functions

template<typename OCP , typename StateVectorType , typename ControlInputVectorType >
VectorX ForwardEuler (const OCP &ocp, const Scalar t, const Scalar dt, const MatrixBase< StateVectorType > &x, const MatrixBase< ControlInputVectorType > &u)
 Computes the next state by the forward Euler. More...
 
template<typename OCP , typename StateVectorType , typename ControlInputVectorType >
VectorX RK4 (const OCP &ocp, const Scalar t, const Scalar dt, const MatrixBase< StateVectorType > &x, const MatrixBase< ControlInputVectorType > &u)
 Computes the next state by the 4th-order Runge-Kutta method. More...
 

Typedef Documentation

◆ Map

template<class MatrixType >
using cgmres::Map = typedef Eigen::Map<MatrixType>

Alias of Eigen::Map.

◆ Matrix

template<int rows, int cols>
using cgmres::Matrix = typedef Eigen::Matrix<Scalar, rows, cols>

Alias of Eigen::Matrix.

◆ MatrixBase

template<class MatrixType >
using cgmres::MatrixBase = typedef Eigen::MatrixBase<MatrixType>

Alias of Eigen::MatrixBase.

◆ MatrixX

using cgmres::MatrixX = typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>

Alias of Eigen::MatrixXd (dynamic-size matrix).

◆ Scalar

using cgmres::Scalar = typedef double

Alias of double.

◆ Vector

template<int size>
using cgmres::Vector = typedef Eigen::Matrix<Scalar, size, 1>

Alias of Eigen::Vector.

◆ VectorX

using cgmres::VectorX = typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1>

Alias of Eigen::VectorXd (dynamic-size vector).

◆ VectorXi

using cgmres::VectorXi = typedef Eigen::Matrix<int, Eigen::Dynamic, 1>

Alias of Eigen::VectorXi (dynamic-size integer vector).

Function Documentation

◆ ForwardEuler()

template<typename OCP , typename StateVectorType , typename ControlInputVectorType >
VectorX cgmres::ForwardEuler ( const OCP &  ocp,
const Scalar  t,
const Scalar  dt,
const MatrixBase< StateVectorType > &  x,
const MatrixBase< ControlInputVectorType > &  u 
)

Computes the next state by the forward Euler.

Parameters
[in]ocpOptimal control problem.
[in]tTime.
[in]dtTime step.
[in]xState.
[in]uControl input.
Returns
State at time t+dt.

◆ RK4()

template<typename OCP , typename StateVectorType , typename ControlInputVectorType >
VectorX cgmres::RK4 ( const OCP &  ocp,
const Scalar  t,
const Scalar  dt,
const MatrixBase< StateVectorType > &  x,
const MatrixBase< ControlInputVectorType > &  u 
)

Computes the next state by the 4th-order Runge-Kutta method.

Parameters
[in]ocpOptimal control problem.
[in]tTime.
[in]dtTime step.
[in]xState.
[in]uControl input.
Returns
State at time t+dt.