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 |