Control Libraries 7.4.0
Loading...
Searching...
No Matches
DefaultDynamicalSystem.hpp
1#pragma once
2
3#include "dynamical_systems/IDynamicalSystem.hpp"
4#include "state_representation/exceptions/InvalidParameterException.hpp"
5
6namespace dynamical_systems {
7
13template<class S>
15public:
19 [[nodiscard]] S compute_dynamics(const S& state) const override;
20private:
24 void validate_and_set_parameter(const std::shared_ptr<state_representation::ParameterInterface>& parameter) override;
25};
26
27template<class S>
29 const std::shared_ptr<state_representation::ParameterInterface>&
30) {
31 throw state_representation::exceptions::InvalidParameterException("No parameter to be set on this type of DS.");
32}
33
34template<class S>
36 return S();
37}
38}// namespace dynamical_systems
A default dynamical system that just returns an empty state.
S compute_dynamics(const S &state) const override
Compute the dynamics of the input state. Internal function, to be redefined based on the type of dyna...
Abstract class for a dynamical system.
Systems of equations relating state variables to their derivatives.
Definition Circular.hpp:7