47 #ifndef _MIRA_PATHFOLLOWTASK_H_ 48 #define _MIRA_PATHFOLLOWTASK_H_ 54 namespace mira {
namespace navigation {
84 template<
typename Reflector>
86 if (Reflector::isReadOnly::value) {
88 r.property(
"GoalOrientationTolerance", a,
89 "The orientation tolerance for reaching the goal point [deg]",
93 r.property(
"GoalOrientationTolerance", a,
94 "The orientation tolerance for reaching the goal point [deg]",
102 r.
property(
"GoalOrientationTolerance",
105 "The orientation tolerance for reaching the goal point [deg]",
111 template<
typename Reflector>
116 "The precision for following the path (max. distance from path) [m]", 0.25f);
118 "The position tolerance for reaching the goal point [m]", 0.1f);
120 r.property(
"FrameID",
frame,
121 "The coordinate frame of the points",
"/GlobalFrame");
140 template <
typename T>
162 template<
typename Reflector>
166 r.property(
"Points",
points,
167 "Control points of the spline [m]");
170 virtual bool reachedPosition(
const typename T::value_type& pos)
const {
return true; }
172 virtual bool reached(
const typename T::value_type& pos)
const 197 Base(iPrecision, iGoalTransTolerance, iGoalOrientTolerance)
234 template<
typename Reflector>
237 r.member(
"Pos",
pos,
"Position");
238 r.member(
"vT",
vT,
"Velocity");
REFLECT_CTRLFLAG_TEMP_TRACKING
void reflect(Reflector &r)
Definition: PathFollowTask.h:235
void reflect(Reflector &r)
The reflect method.
Definition: PathFollowTask.h:112
PathFollowBaseTask< std::vector< VelocityWaypoint > > Base
Definition: PathFollowTask.h:251
PathFollowTask()
Definition: PathFollowTask.h:194
float vT
Definition: PathFollowTask.h:242
Definition: PathFollowTask.h:58
Getter< T > rad2degGetter(const T &cref)
virtual bool reachedOrientation(const typename T::value_type &pos) const
Definition: PathFollowTask.h:171
float goalOrientationTolerance
The tolerance for reaching the goal point [rad].
Definition: PathFollowTask.h:132
PathFollowBaseTask< std::vector< Pose2 > > Base
Definition: PathFollowTask.h:192
Task for precise following a predefined path, that is given as control points.
Definition: PathFollowTask.h:187
#define MIRA_REFLECT_BASE(reflector, BaseClass)
bool reached(const Point2f &pos) const
Definition: PathFollowTask.h:205
PathFollowBaseTaskCommon(float iPrecision, float iGoalTransTolerance, Anglef iGoalOrientTolerance)
Creates a task with given precision and a tolerance.
Definition: PathFollowTask.h:77
bool reachedPosition(const Pose2 &pos) const
Definition: PathFollowTask.h:200
PathFollowBaseTaskCommon()
Creates a path follow task with precision = goalTolerance = 0.1m and rotation tolerance 10 degrees...
Definition: PathFollowTask.h:66
PathFollowTask(float iPrecision, float iGoalTransTolerance, Anglef iGoalOrientTolerance)
Definition: PathFollowTask.h:196
Definition: PathFollowTask.h:141
T points
The control points of the path (the last point is the goal point).
Definition: PathFollowTask.h:179
Setter< T > deg2radSetter(T &ref)
Duration abs(const Duration &duration)
Definition: PathFollowTask.h:227
bool reachedPosition(const VelocityWaypoint &pos) const
Definition: PathFollowTask.h:259
VelocityWaypoint(const Point2f &p, float v)
Definition: PathFollowTask.h:231
PathFollowBaseTask()
Creates a path follow task with precision = goalTolerance = 0.1m and rotation tolerance 10 degrees...
Definition: PathFollowTask.h:149
bool reachedOrientation(const Pose2 &pos) const
Definition: PathFollowTask.h:213
constexpr Deg2RadNonNegativeType Deg2RadNonNegative
Point2f pos
Definition: PathFollowTask.h:241
PropertyHint minimum(const T &min)
virtual bool reached(const typename T::value_type &pos) const
Definition: PathFollowTask.h:172
bool reached(const Point2f &pos) const
Definition: PathFollowTask.h:264
void reflect(Reflector &r)
The reflect method.
Definition: PathFollowTask.h:163
T smallestAngleDifference(const T &a, const T &b)
void reflectTolerance(Reflector &r)
Definition: PathFollowTask.h:85
Interface for sub tasks to be added to a navigation task.
Definition: Task.h:63
Base classes and interfaces for navigation tasks.
void reflectTolerance(PropertySerializer &r)
Definition: PathFollowTask.h:101
virtual bool reachedPosition(const typename T::value_type &pos) const
Definition: PathFollowTask.h:170
Definition: PathFollowTask.h:247
float precision
The precision for following the path (max. distance from path) [m].
Definition: PathFollowTask.h:126
float goalTranslationTolerance
The tolerance in for reaching the goal point [m].
Definition: PathFollowTask.h:129
VelocityWaypointTask(float iGoalTransTolerance)
Definition: PathFollowTask.h:255
PathFollowBaseTask(float iPrecision, float iGoalTransTolerance, Anglef iGoalOrientTolerance)
Creates a task with given precision and a tolerance.
Definition: PathFollowTask.h:157
std::string frame
The coordinate frame, the points are specified in.
Definition: PathFollowTask.h:135
void property(const char *name, T &member, const char *comment, PropertyHint &&hint=PropertyHint(), ReflectCtrlFlags flags=REFLECT_CTRLFLAG_NONE)
VelocityWaypointTask()
Definition: PathFollowTask.h:253
bool reached(float orientation) const
Definition: PathFollowTask.h:218
VelocityWaypoint()
Definition: PathFollowTask.h:230