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