|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | LTISystem (const Eigen::Matrix< double, STATE_DIM, STATE_DIM > &A, const Eigen::Matrix< double, STATE_DIM, CONTROL_DIM > &B, const Eigen::Matrix< double, STATE_DIM, STATE_DIM > &C=Eigen::Matrix< double, STATE_DIM, STATE_DIM >::Identity(), const Eigen::Matrix< double, STATE_DIM, CONTROL_DIM > D=Eigen::Matrix< double, STATE_DIM, CONTROL_DIM >::Zero()) |
| Constructs a linear time invariant system. More...
|
|
| LTISystem (const LTISystem &arg) |
| copy constructor More...
|
|
LTISystem< STATE_DIM, CONTROL_DIM > * | clone () const override |
| deep clone More...
|
|
virtual | ~LTISystem () |
|
virtual const Eigen::Matrix< double, STATE_DIM, STATE_DIM > & | getDerivativeState (const StateVector< STATE_DIM > &x, const ControlVector< CONTROL_DIM > &u, const double t=0.0) override |
| get A matrix More...
|
|
virtual const Eigen::Matrix< double, STATE_DIM, CONTROL_DIM > & | getDerivativeControl (const StateVector< STATE_DIM > &x, const ControlVector< CONTROL_DIM > &u, const double t=0.0) override |
| get B matrix More...
|
|
Eigen::Matrix< double, STATE_DIM, STATE_DIM > & | A () |
| get A matrix More...
|
|
Eigen::Matrix< double, STATE_DIM, CONTROL_DIM > & | B () |
| get B matrix More...
|
|
Eigen::Matrix< double, STATE_DIM, STATE_DIM > & | C () |
| get C matrix More...
|
|
Eigen::Matrix< double, STATE_DIM, CONTROL_DIM > & | D () |
| get D matrix More...
|
|
void | computeControlledDynamics (const Eigen::Matrix< double, STATE_DIM, 1 > &state, const Time &t, const Eigen::Matrix< double, CONTROL_DIM, 1 > &control, Eigen::Matrix< double, STATE_DIM, 1 > &derivative) |
| computes the system dynamics More...
|
|
void | computeOutput (const Eigen::Matrix< double, STATE_DIM, 1 > &state, const Time &t, const Eigen::Matrix< double, CONTROL_DIM, 1 > &control, Eigen::Matrix< double, STATE_DIM, 1 > &output) |
| computes the system output (measurement) More...
|
|
void | computeControllabilityMatrix (Eigen::Matrix< double, STATE_DIM, STATE_DIM *CONTROL_DIM > &CO) |
| computes the controllability matrix More...
|
|
bool | isControllable () |
| checks if system is fully controllable More...
|
|
void | computeObservabilityMatrix (Eigen::Matrix< double, STATE_DIM, STATE_DIM *STATE_DIM > &O) |
| computes the observability matrix More...
|
|
bool | isObservable () |
| checks if system is fully observable More...
|
|
| LinearSystem (const ct::core::SYSTEM_TYPE &type=ct::core::SYSTEM_TYPE::GENERAL) |
| default constructor More...
|
|
virtual | ~LinearSystem () |
| destructor More...
|
|
virtual void | computeControlledDynamics (const state_vector_t &state, const time_t &t, const control_vector_t &control, state_vector_t &derivative) override |
| compute the system dynamics More...
|
|
virtual const state_matrix_t & | getDerivativeState (const state_vector_t &x, const control_vector_t &u, const time_t t=time_t(0.0))=0 |
| get the A matrix of a linear system More...
|
|
virtual const state_control_matrix_t & | getDerivativeControl (const state_vector_t &x, const control_vector_t &u, const time_t t=time_t(0.0))=0 |
| get the B matrix of a linear system More...
|
|
virtual void | getDerivatives (state_matrix_t &A, state_control_matrix_t &B, const state_vector_t &x, const control_vector_t &u, const time_t t=time_t(0.0)) |
| Get both linear system matrices A and B in one call. More...
|
|
| ControlledSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
| default constructor More...
|
|
| ControlledSystem (std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, double >> controller, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
| constructor More...
|
|
| ControlledSystem (const ControlledSystem &arg) |
| copy constructor More...
|
|
virtual | ~ControlledSystem () |
| destructor More...
|
|
void | setController (const std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, double >> &controller) |
| set a new controller More...
|
|
void | getController (std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, double >> &controller) const |
| get the controller instance More...
|
|
std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, double > > | getController () |
| get the controller instace More...
|
|
virtual void | computeDynamics (const StateVector< STATE_DIM, double > &state, const time_t &t, StateVector< STATE_DIM, double > &derivative) override |
| compute the dynamics of the system More...
|
|
ControlVector< CONTROL_DIM, double > | getLastControlAction () |
|
| System (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
| default constructor More...
|
|
| System (const System &other) |
| copy constructor More...
|
|
virtual | ~System () |
| destructor More...
|
|
virtual void | computeDynamics (const StateVector< STATE_DIM, double > &state, const time_t &t, StateVector< STATE_DIM, double > &derivative)=0 |
| computes the system dynamics More...
|
|
SYSTEM_TYPE | getType () const |
| get the type of system More...
|
|
virtual bool | isSymplectic () const |
| Determines if the system is in symplectic form. More...
|
|
|
typedef Base::time_t | time_t |
|
typedef StateVector< STATE_DIM, double > | state_vector_t |
| state vector type More...
|
|
typedef ControlVector< CONTROL_DIM, double > | control_vector_t |
| input vector type More...
|
|
typedef StateMatrix< STATE_DIM, double > | state_matrix_t |
| state Jacobian type More...
|
|
typedef StateControlMatrix< STATE_DIM, CONTROL_DIM, double > | state_control_matrix_t |
| input Jacobian type More...
|
|
typedef std::shared_ptr< ControlledSystem< STATE_DIM, CONTROL_DIM, double > > | Ptr |
|
typedef Base::time_t | time_t |
|
typedef double | time_t |
| the type of the time variable More...
|
|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef ControlledSystem< STATE_DIM, CONTROL_DIM, double > | Base |
|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef System< STATE_DIM, double > | Base |
|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef double | S |
| the scalar type More...
|
|
std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, double > > | controller_ |
| the controller instance More...
|
|
ControlVector< CONTROL_DIM, double > | controlAction_ |
|
SYSTEM_TYPE | type_ |
| type of system More...
|
|
template<size_t STATE_DIM, size_t CONTROL_DIM>
class ct::core::LTISystem< STATE_DIM, CONTROL_DIM >
Linear time-invariant system.
This defines a general linear time-invariant system of the form
- Template Parameters
-
STATE_DIM | size of state vector |
CONTROL_DIM | size of control vector |