Control Libraries 7.4.0
Loading...
Searching...
No Matches
Circular.hpp
1#pragma once
2
3#include "dynamical_systems/IDynamicalSystem.hpp"
4#include "state_representation/geometry/Ellipsoid.hpp"
5#include "state_representation/parameters/Parameter.hpp"
6
8
13class Circular : public IDynamicalSystem<state_representation::CartesianState> {
14public:
18 Circular();
19
24 explicit Circular(const std::list<std::shared_ptr<state_representation::ParameterInterface>>& parameters);
25
29 void set_base_frame(const state_representation::CartesianState& base_frame) override;
30
35 compute_dynamics(const state_representation::CartesianState& state) const override;
36
37private:
41 void validate_and_set_parameter(const std::shared_ptr<state_representation::ParameterInterface>& parameter) override;
42
47 void set_limit_cycle(state_representation::Ellipsoid& limit_cycle);
48
49 std::shared_ptr<state_representation::Parameter<state_representation::Ellipsoid>>
50 limit_cycle_;
51 std::shared_ptr<state_representation::Parameter<double>>
52 planar_gain_;
53 std::shared_ptr<state_representation::Parameter<double>>
54 normal_gain_;
55 std::shared_ptr<state_representation::Parameter<double>>
56 circular_velocity_;
57};
58}// namespace dynamical_systems
Represent a Circular dynamical system to move around an center.
Definition Circular.hpp:13
void set_base_frame(const state_representation::CartesianState &base_frame) override
Set a parameter.
Definition Circular.cpp:51
state_representation::CartesianState compute_dynamics(const state_representation::CartesianState &state) const override
Compute the dynamics of the input state. Internal function, to be redefined based on the type of dyna...
Definition Circular.cpp:84
Circular()
Empty constructor.
Definition Circular.cpp:12
Abstract class for a dynamical system.
Class to represent a state in Cartesian space.
Systems of equations relating state variables to their derivatives.
Definition Circular.hpp:7