|
| SwitchedControlledSystem (const SwitchedSystems &switchedSystems, const ContinuousModeSequence &continuousModeSequence, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
| default constructor More...
|
|
| SwitchedControlledSystem (const SwitchedSystems &switchedSystems, const ContinuousModeSequence &continuousModeSequence, std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >> controller, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
| constructor More...
|
|
| SwitchedControlledSystem (const SwitchedControlledSystem &arg) |
| copy constructor More...
|
|
virtual | ~SwitchedControlledSystem () |
| destructor More...
|
|
virtual SwitchedControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR > * | clone () const override |
| deep copy More...
|
|
virtual void | computeControlledDynamics (const StateVector< STATE_DIM, SCALAR > &state, const time_t &t, const ControlVector< CONTROL_DIM, SCALAR > &control, StateVector< STATE_DIM, SCALAR > &derivative) override |
|
| ControlledSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
| default constructor More...
|
|
| ControlledSystem (std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >> 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, SCALAR >> &controller) |
| set a new controller More...
|
|
void | getController (std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, SCALAR >> &controller) const |
| get the controller instance More...
|
|
std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, SCALAR > > | getController () |
| get the controller instace More...
|
|
virtual void | computeDynamics (const StateVector< STATE_DIM, SCALAR > &state, const time_t &t, StateVector< STATE_DIM, SCALAR > &derivative) override |
| compute the dynamics of the system More...
|
|
virtual void | computeControlledDynamics (const StateVector< STATE_DIM, SCALAR > &state, const time_t &t, const ControlVector< CONTROL_DIM, SCALAR > &control, StateVector< STATE_DIM, SCALAR > &derivative)=0 |
|
ControlVector< CONTROL_DIM, SCALAR > | 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, SCALAR > &state, const time_t &t, StateVector< STATE_DIM, SCALAR > &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...
|
|
template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
class ct::core::SwitchedControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >
A general, switched non-linear dynamic system with a control input.
This describes a general, switched non-linear dynamic system described by an Ordinary Differential Equation (ODE) of the following form
where is the state, the control input and the time. refers to the dynamics in a specific mode. Modes are prespecified as a function of time.
For implementing your own SwitchedControlledSystem, provide a vector of controlled systems and a prespecified mode sequence.
We generally assume that the Controller is a state and time dependent function which allows any ControlledSystem to be re-written as a System of the form
which can be forward propagated in time with an Integrator.
- Template Parameters
-
STATE_DIM | dimension of state vector |
CONTROL_DIM | dimension of input vector |
SCALAR | scalar type |