The base class for the implementation of a symplectic system. In a symplectic system, the position and the velocity update can be separated. During integration, the velocity gets update first and the position update uses the updated velocity.
More...
|
| | SymplecticSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
| | Constructor. More...
|
| |
| | SymplecticSystem (std::shared_ptr< ct::core::Controller< POS_DIM+VEL_DIM, CONTROL_DIM, SCALAR >> controller, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
| | Constructor. More...
|
| |
| | SymplecticSystem (const SymplecticSystem &arg) |
| | Copy constructor. More...
|
| |
| virtual | ~SymplecticSystem () |
| | Destructor. More...
|
| |
| virtual SymplecticSystem< POS_DIM, VEL_DIM, CONTROL_DIM, SCALAR > * | clone () const override=0 |
| | Creates a new instance of the object with same properties than original. More...
|
| |
| virtual bool | isSymplectic () const override |
| | Determines if the system is in symplectic form. More...
|
| |
| virtual void | computeControlledDynamics (const StateVector< POS_DIM+VEL_DIM, SCALAR > &state, const time_t &t, const ControlVector< CONTROL_DIM, SCALAR > &control, StateVector< POS_DIM+VEL_DIM, SCALAR > &derivative) override |
| |
| void | computePdot (const StateVector< POS_DIM+VEL_DIM, SCALAR > &x, const StateVector< VEL_DIM, SCALAR > &v, StateVector< POS_DIM, SCALAR > &pDot) |
| | Computes the derivative of the position. More...
|
| |
| void | computeVdot (const StateVector< POS_DIM+VEL_DIM, SCALAR > &x, const StateVector< POS_DIM, SCALAR > &p, StateVector< VEL_DIM, SCALAR > &vDot) |
| | Computes the derivative of the velocity. More...
|
| |
| virtual void | computePdot (const StateVector< POS_DIM+VEL_DIM, SCALAR > &x, const StateVector< VEL_DIM, SCALAR > &v, const ControlVector< CONTROL_DIM, SCALAR > &control, StateVector< POS_DIM, SCALAR > &pDot)=0 |
| | Computes the derivative of the position. More...
|
| |
| virtual void | computeVdot (const StateVector< POS_DIM+VEL_DIM, SCALAR > &x, const StateVector< POS_DIM, SCALAR > &p, const ControlVector< CONTROL_DIM, SCALAR > &control, StateVector< VEL_DIM, SCALAR > &vDot)=0 |
| | Computes the derivative of the velocity. More...
|
| |
| | 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...
|
| |
| SYSTEM_TYPE | getType () const |
| | get the type of system More...
|
| |
template<size_t POS_DIM, size_t VEL_DIM, size_t CONTROL_DIM, typename SCALAR = double>
class ct::core::SymplecticSystem< POS_DIM, VEL_DIM, CONTROL_DIM, SCALAR >
The base class for the implementation of a symplectic system. In a symplectic system, the position and the velocity update can be separated. During integration, the velocity gets update first and the position update uses the updated velocity.
- Template Parameters
-
| POS_DIM | The position dimension |
| VEL_DIM | The velocity dimension |
| CONTROL_DIM | The control dimension |
| SCALAR | The scalar type |