|
| 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 |