45 #ifndef FASTRACK_DYNAMICS_DYNAMICS_H 46 #define FASTRACK_DYNAMICS_DYNAMICS_H 56 template <
typename S,
typename C,
typename CB,
typename SR>
64 virtual void Initialize(
const std::vector<double> ¶ms) {
70 virtual S
Evaluate(
const S &x,
const C &u)
const = 0;
74 virtual C
OptimalControl(
const S &x,
const S &value_gradient)
const = 0;
79 throw std::runtime_error(
"Dynamics was not initialized.");
85 virtual SR
ToRos()
const = 0;
88 virtual void FromRos(
const SR &res) = 0;
93 explicit Dynamics(
const std::vector<double> ¶ms)
virtual void FromRos(const SR &res)=0
virtual C OptimalControl(const S &x, const S &value_gradient) const =0
virtual S Evaluate(const S &x, const C &u) const =0
virtual SR ToRos() const =0
const CB & GetControlBound() const
Dynamics(const CB &bound)
Dynamics(const std::vector< double > ¶ms)
void Initialize(const CB &bound)
std::unique_ptr< CB > control_bound_
virtual void Initialize(const std::vector< double > ¶ms)