27 explicit Ring(
const std::list<std::shared_ptr<state_representation::ParameterInterface>>& parameters);
41 typedef std::shared_ptr<state_representation::Parameter<double>> ptr_param_double_t;
46 void validate_and_set_parameter(
const std::shared_ptr<state_representation::ParameterInterface>& parameter)
override;
58 void set_rotation_offset(
const Eigen::Quaterniond& rotation);
64 [[nodiscard]] Eigen::Quaterniond get_rotation_offset()
const;
66 [[nodiscard]] Eigen::Vector3d calculate_local_linear_velocity(
70 [[nodiscard]] Eigen::Vector3d calculate_local_angular_velocity(
72 double local_field_strength
75 std::shared_ptr<state_representation::Parameter<state_representation::CartesianPose>> center_;
76 std::shared_ptr<state_representation::Parameter<state_representation::CartesianPose>>
78 ptr_param_double_t radius_;
79 ptr_param_double_t width_;
80 ptr_param_double_t speed_;
81 ptr_param_double_t field_strength_;
82 ptr_param_double_t normal_gain_;
83 ptr_param_double_t angular_gain_;