Fawkes API  Fawkes Development Version
NavigatorInterface.h
1 
2 /***************************************************************************
3  * NavigatorInterface.h - Fawkes BlackBoard Interface - NavigatorInterface
4  *
5  * Templated created: Thu Oct 12 10:49:19 2006
6  * Copyright 2007-2009 Martin Liebenberg, Daniel Beck, Tim Niemueller
7  *
8  ****************************************************************************/
9 
10 /* This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version. A runtime exception applies to
14  * this software (see LICENSE.GPL_WRE file mentioned below for details).
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Library General Public License for more details.
20  *
21  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22  */
23 
24 #ifndef __INTERFACES_NAVIGATORINTERFACE_H_
25 #define __INTERFACES_NAVIGATORINTERFACE_H_
26 
27 #include <interface/interface.h>
28 #include <interface/message.h>
29 #include <interface/field_iterator.h>
30 
31 namespace fawkes {
32 
34 {
35  /// @cond INTERNALS
36  INTERFACE_MGMT_FRIENDS(NavigatorInterface)
37  /// @endcond
38  public:
39  /* constants */
40  static const uint32_t ERROR_NONE;
41  static const uint32_t ERROR_MOTOR;
42  static const uint32_t ERROR_OBSTRUCTION;
43  static const uint32_t ERROR_UNKNOWN_PLACE;
44  static const uint32_t ERROR_PATH_GEN_FAIL;
45  static const uint32_t FLAG_NONE;
46  static const uint32_t FLAG_CART_GOTO;
47  static const uint32_t FLAG_POLAR_GOTO;
48  static const uint32_t FLAG_PLACE_GOTO;
49  static const uint32_t FLAG_UPDATES_DEST_DIST;
50  static const uint32_t FLAG_SECURITY_DISTANCE;
51  static const uint32_t FLAG_ESCAPING;
52 
53  /** Drive modes enum */
54  typedef enum {
55  MovingNotAllowed /**< Moving not allowed constant */,
56  Forward /**< Moving forward constant */,
57  AllowBackward /**< Moving allow backward constant */,
58  Backward /**< Moving backward constant */,
59  ESCAPE /**< Escape constant */
60  } DriveMode;
61  const char * tostring_DriveMode(DriveMode value) const;
62 
63  /** Orientation mode enum */
64  typedef enum {
65  OrientAtTarget /**< Orient when at target, if orientation is given */,
66  OrientDuringTravel /**< Orient during travel BUT NOT at target, if omnidirectional platform and orientation is given */
68  const char * tostring_OrientationMode(OrientationMode value) const;
69 
70  private:
71  /** Internal data storage, do NOT modify! */
72  typedef struct __attribute__((packed)) {
73  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
74  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
75  uint32_t flags; /**< Bit-wise combination of
76  FLAG_* constants denoting navigator component features. */
77  float x; /**< Current X-coordinate in the navigator coordinate system. */
78  float y; /**< Current Y-coordinate in the navigator coordinate system. */
79  float dest_x; /**< X-coordinate of the current destination, or 0.0 if no target has been set. */
80  float dest_y; /**< Y-coordinate of the current destination, or 0.0 if no target has been set. */
81  float dest_ori; /**< Orientation of the current destination, or 0.0 if no target has been set. */
82  float dest_dist; /**< Distance to destination in m. */
83  uint32_t msgid; /**< The ID of the message that is currently being
84  processed, or 0 if no message is being processed. */
85  bool final; /**< True, if the last goto command has been finished,
86  false if it is still running */
87  uint32_t error_code; /**< Failure code set if
88  final is true. 0 if no error occured, an error code from ERROR_*
89  constants otherwise (or a bit-wise combination). */
90  float max_velocity; /**< Maximum velocity */
91  float max_rotation; /**< Maximum rotation velocity */
92  float security_distance; /**< Security distance to keep to obstacles */
93  bool escaping_enabled; /**< This is used for navigation components with integrated collision avoidance,
94  to check whether the navigator should stop when an obstacle obstructs the path, or if it should escape. */
95  int32_t drive_mode; /**< Current drive mode */
96  bool auto_drive_mode; /**< True, if the drive mode should be automatically decided each time.
97  False, if the drive mode should not automatically change, which is the case when sending
98  a SetAutoDriveMode-message (otherwise the navigator might ignore that value). */
99  bool stop_at_target; /**< Stop when target is reached? */
100  int32_t orientation_mode; /**< Mode how/when to orientate if orientation is given */
101  } NavigatorInterface_data_t;
102 
103  NavigatorInterface_data_t *data;
104 
105  interface_enum_map_t enum_map_DriveMode;
106  interface_enum_map_t enum_map_OrientationMode;
107  public:
108  /* messages */
109  class StopMessage : public Message
110  {
111  private:
112  /** Internal data storage, do NOT modify! */
113  typedef struct __attribute__((packed)) {
114  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
115  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
116  } StopMessage_data_t;
117 
118  StopMessage_data_t *data;
119 
120  interface_enum_map_t enum_map_DriveMode;
121  interface_enum_map_t enum_map_OrientationMode;
122  public:
123  StopMessage();
124  ~StopMessage();
125 
126  StopMessage(const StopMessage *m);
127  /* Methods */
128  virtual Message * clone() const;
129  };
130 
131  class TurnMessage : public Message
132  {
133  private:
134  /** Internal data storage, do NOT modify! */
135  typedef struct __attribute__((packed)) {
136  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
137  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
138  float angle; /**< Angle of the turn. */
139  float velocity; /**< The desired turning velocity in rad/s,
140  set to zero to use default value. */
141  } TurnMessage_data_t;
142 
143  TurnMessage_data_t *data;
144 
145  interface_enum_map_t enum_map_DriveMode;
146  interface_enum_map_t enum_map_OrientationMode;
147  public:
148  TurnMessage(const float ini_angle, const float ini_velocity);
149  TurnMessage();
150  ~TurnMessage();
151 
152  TurnMessage(const TurnMessage *m);
153  /* Methods */
154  float angle() const;
155  void set_angle(const float new_angle);
156  size_t maxlenof_angle() const;
157  float velocity() const;
158  void set_velocity(const float new_velocity);
159  size_t maxlenof_velocity() const;
160  virtual Message * clone() const;
161  };
162 
164  {
165  private:
166  /** Internal data storage, do NOT modify! */
167  typedef struct __attribute__((packed)) {
168  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
169  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
170  float x; /**< X-coordinate of the target, in the robot's coordinate system. */
171  float y; /**< Y-coordinate of the target, in the robot's coordinate system. */
172  float orientation; /**< The desired orientation of the robot at the target. */
173  } CartesianGotoMessage_data_t;
174 
175  CartesianGotoMessage_data_t *data;
176 
177  interface_enum_map_t enum_map_DriveMode;
178  interface_enum_map_t enum_map_OrientationMode;
179  public:
180  CartesianGotoMessage(const float ini_x, const float ini_y, const float ini_orientation);
183 
185  /* Methods */
186  float x() const;
187  void set_x(const float new_x);
188  size_t maxlenof_x() const;
189  float y() const;
190  void set_y(const float new_y);
191  size_t maxlenof_y() const;
192  float orientation() const;
193  void set_orientation(const float new_orientation);
194  size_t maxlenof_orientation() const;
195  virtual Message * clone() const;
196  };
197 
198  class PolarGotoMessage : public Message
199  {
200  private:
201  /** Internal data storage, do NOT modify! */
202  typedef struct __attribute__((packed)) {
203  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
204  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
205  float phi; /**< Angle between the robot's front and the target. */
206  float dist; /**< Distance to the target. */
207  float orientation; /**< The desired orientation of the robot at the target. */
208  } PolarGotoMessage_data_t;
209 
210  PolarGotoMessage_data_t *data;
211 
212  interface_enum_map_t enum_map_DriveMode;
213  interface_enum_map_t enum_map_OrientationMode;
214  public:
215  PolarGotoMessage(const float ini_phi, const float ini_dist, const float ini_orientation);
217  ~PolarGotoMessage();
218 
220  /* Methods */
221  float phi() const;
222  void set_phi(const float new_phi);
223  size_t maxlenof_phi() const;
224  float dist() const;
225  void set_dist(const float new_dist);
226  size_t maxlenof_dist() const;
227  float orientation() const;
228  void set_orientation(const float new_orientation);
229  size_t maxlenof_orientation() const;
230  virtual Message * clone() const;
231  };
232 
233  class PlaceGotoMessage : public Message
234  {
235  private:
236  /** Internal data storage, do NOT modify! */
237  typedef struct __attribute__((packed)) {
238  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
239  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
240  char place[64]; /**< Place to go to. */
241  } PlaceGotoMessage_data_t;
242 
243  PlaceGotoMessage_data_t *data;
244 
245  interface_enum_map_t enum_map_DriveMode;
246  interface_enum_map_t enum_map_OrientationMode;
247  public:
248  PlaceGotoMessage(const char * ini_place);
250  ~PlaceGotoMessage();
251 
253  /* Methods */
254  char * place() const;
255  void set_place(const char * new_place);
256  size_t maxlenof_place() const;
257  virtual Message * clone() const;
258  };
259 
261  {
262  private:
263  /** Internal data storage, do NOT modify! */
264  typedef struct __attribute__((packed)) {
265  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
266  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
267  char place[64]; /**< Place to go to. */
268  float orientation; /**< The desired orientation of the robot at the target. */
269  } PlaceWithOriGotoMessage_data_t;
270 
271  PlaceWithOriGotoMessage_data_t *data;
272 
273  interface_enum_map_t enum_map_DriveMode;
274  interface_enum_map_t enum_map_OrientationMode;
275  public:
276  PlaceWithOriGotoMessage(const char * ini_place, const float ini_orientation);
279 
281  /* Methods */
282  char * place() const;
283  void set_place(const char * new_place);
284  size_t maxlenof_place() const;
285  float orientation() const;
286  void set_orientation(const float new_orientation);
287  size_t maxlenof_orientation() const;
288  virtual Message * clone() const;
289  };
290 
291  class ObstacleMessage : public Message
292  {
293  private:
294  /** Internal data storage, do NOT modify! */
295  typedef struct __attribute__((packed)) {
296  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
297  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
298  float x; /**< X-coordinate of the obstacle. */
299  float y; /**< Y-coordinate of the obstacle. */
300  float width; /**< Width of the obstacle. */
301  } ObstacleMessage_data_t;
302 
303  ObstacleMessage_data_t *data;
304 
305  interface_enum_map_t enum_map_DriveMode;
306  interface_enum_map_t enum_map_OrientationMode;
307  public:
308  ObstacleMessage(const float ini_x, const float ini_y, const float ini_width);
309  ObstacleMessage();
310  ~ObstacleMessage();
311 
313  /* Methods */
314  float x() const;
315  void set_x(const float new_x);
316  size_t maxlenof_x() const;
317  float y() const;
318  void set_y(const float new_y);
319  size_t maxlenof_y() const;
320  float width() const;
321  void set_width(const float new_width);
322  size_t maxlenof_width() const;
323  virtual Message * clone() const;
324  };
325 
327  {
328  private:
329  /** Internal data storage, do NOT modify! */
330  typedef struct __attribute__((packed)) {
331  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
332  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
333  } ResetOdometryMessage_data_t;
334 
335  ResetOdometryMessage_data_t *data;
336 
337  interface_enum_map_t enum_map_DriveMode;
338  interface_enum_map_t enum_map_OrientationMode;
339  public:
342 
344  /* Methods */
345  virtual Message * clone() const;
346  };
347 
349  {
350  private:
351  /** Internal data storage, do NOT modify! */
352  typedef struct __attribute__((packed)) {
353  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
354  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
355  float max_velocity; /**< Maximum velocity */
356  } SetMaxVelocityMessage_data_t;
357 
358  SetMaxVelocityMessage_data_t *data;
359 
360  interface_enum_map_t enum_map_DriveMode;
361  interface_enum_map_t enum_map_OrientationMode;
362  public:
363  SetMaxVelocityMessage(const float ini_max_velocity);
366 
368  /* Methods */
369  float max_velocity() const;
370  void set_max_velocity(const float new_max_velocity);
371  size_t maxlenof_max_velocity() const;
372  virtual Message * clone() const;
373  };
374 
376  {
377  private:
378  /** Internal data storage, do NOT modify! */
379  typedef struct __attribute__((packed)) {
380  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
381  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
382  float max_rotation; /**< Maximum rotation velocity */
383  } SetMaxRotationMessage_data_t;
384 
385  SetMaxRotationMessage_data_t *data;
386 
387  interface_enum_map_t enum_map_DriveMode;
388  interface_enum_map_t enum_map_OrientationMode;
389  public:
390  SetMaxRotationMessage(const float ini_max_rotation);
393 
395  /* Methods */
396  float max_rotation() const;
397  void set_max_rotation(const float new_max_rotation);
398  size_t maxlenof_max_rotation() const;
399  virtual Message * clone() const;
400  };
401 
403  {
404  private:
405  /** Internal data storage, do NOT modify! */
406  typedef struct __attribute__((packed)) {
407  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
408  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
409  bool escaping_enabled; /**< This is used for navigation components with integrated collision avoidance,
410  to check whether the navigator should stop when an obstacle obstructs the path, or if it should escape. */
411  } SetEscapingMessage_data_t;
412 
413  SetEscapingMessage_data_t *data;
414 
415  interface_enum_map_t enum_map_DriveMode;
416  interface_enum_map_t enum_map_OrientationMode;
417  public:
418  SetEscapingMessage(const bool ini_escaping_enabled);
421 
423  /* Methods */
424  bool is_escaping_enabled() const;
425  void set_escaping_enabled(const bool new_escaping_enabled);
426  size_t maxlenof_escaping_enabled() const;
427  virtual Message * clone() const;
428  };
429 
431  {
432  private:
433  /** Internal data storage, do NOT modify! */
434  typedef struct __attribute__((packed)) {
435  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
436  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
437  float security_distance; /**< Security distance to keep to obstacles */
438  } SetSecurityDistanceMessage_data_t;
439 
440  SetSecurityDistanceMessage_data_t *data;
441 
442  interface_enum_map_t enum_map_DriveMode;
443  interface_enum_map_t enum_map_OrientationMode;
444  public:
445  SetSecurityDistanceMessage(const float ini_security_distance);
448 
450  /* Methods */
451  float security_distance() const;
452  void set_security_distance(const float new_security_distance);
453  size_t maxlenof_security_distance() const;
454  virtual Message * clone() const;
455  };
456 
458  {
459  private:
460  /** Internal data storage, do NOT modify! */
461  typedef struct __attribute__((packed)) {
462  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
463  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
464  int32_t drive_mode; /**< Current drive mode */
465  } SetDriveModeMessage_data_t;
466 
467  SetDriveModeMessage_data_t *data;
468 
469  interface_enum_map_t enum_map_DriveMode;
470  interface_enum_map_t enum_map_OrientationMode;
471  public:
472  SetDriveModeMessage(const DriveMode ini_drive_mode);
475 
477  /* Methods */
478  DriveMode drive_mode() const;
479  void set_drive_mode(const DriveMode new_drive_mode);
480  size_t maxlenof_drive_mode() const;
481  virtual Message * clone() const;
482  };
483 
485  {
486  private:
487  /** Internal data storage, do NOT modify! */
488  typedef struct __attribute__((packed)) {
489  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
490  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
491  bool stop_at_target; /**< Stop when target is reached? */
492  } SetStopAtTargetMessage_data_t;
493 
494  SetStopAtTargetMessage_data_t *data;
495 
496  interface_enum_map_t enum_map_DriveMode;
497  interface_enum_map_t enum_map_OrientationMode;
498  public:
499  SetStopAtTargetMessage(const bool ini_stop_at_target);
502 
504  /* Methods */
505  bool is_stop_at_target() const;
506  void set_stop_at_target(const bool new_stop_at_target);
507  size_t maxlenof_stop_at_target() const;
508  virtual Message * clone() const;
509  };
510 
512  {
513  private:
514  /** Internal data storage, do NOT modify! */
515  typedef struct __attribute__((packed)) {
516  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
517  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
518  int32_t orientation_mode; /**< Mode how/when to orientate if orientation is given */
519  } SetOrientationModeMessage_data_t;
520 
521  SetOrientationModeMessage_data_t *data;
522 
523  interface_enum_map_t enum_map_DriveMode;
524  interface_enum_map_t enum_map_OrientationMode;
525  public:
526  SetOrientationModeMessage(const OrientationMode ini_orientation_mode);
529 
531  /* Methods */
532  OrientationMode orientation_mode() const;
533  void set_orientation_mode(const OrientationMode new_orientation_mode);
534  size_t maxlenof_orientation_mode() const;
535  virtual Message * clone() const;
536  };
537 
539  {
540  private:
541  /** Internal data storage, do NOT modify! */
542  typedef struct __attribute__((packed)) {
543  int64_t timestamp_sec; /**< Interface Unix timestamp, seconds */
544  int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
545  } ResetParametersMessage_data_t;
546 
547  ResetParametersMessage_data_t *data;
548 
549  interface_enum_map_t enum_map_DriveMode;
550  interface_enum_map_t enum_map_OrientationMode;
551  public:
554 
556  /* Methods */
557  virtual Message * clone() const;
558  };
559 
560  virtual bool message_valid(const Message *message) const;
561  private:
564 
565  public:
566  /* Methods */
567  uint32_t flags() const;
568  void set_flags(const uint32_t new_flags);
569  size_t maxlenof_flags() const;
570  float x() const;
571  void set_x(const float new_x);
572  size_t maxlenof_x() const;
573  float y() const;
574  void set_y(const float new_y);
575  size_t maxlenof_y() const;
576  float dest_x() const;
577  void set_dest_x(const float new_dest_x);
578  size_t maxlenof_dest_x() const;
579  float dest_y() const;
580  void set_dest_y(const float new_dest_y);
581  size_t maxlenof_dest_y() const;
582  float dest_ori() const;
583  void set_dest_ori(const float new_dest_ori);
584  size_t maxlenof_dest_ori() const;
585  float dest_dist() const;
586  void set_dest_dist(const float new_dest_dist);
587  size_t maxlenof_dest_dist() const;
588  uint32_t msgid() const;
589  void set_msgid(const uint32_t new_msgid);
590  size_t maxlenof_msgid() const;
591  bool is_final() const;
592  void set_final(const bool new_final);
593  size_t maxlenof_final() const;
594  uint32_t error_code() const;
595  void set_error_code(const uint32_t new_error_code);
596  size_t maxlenof_error_code() const;
597  float max_velocity() const;
598  void set_max_velocity(const float new_max_velocity);
599  size_t maxlenof_max_velocity() const;
600  float max_rotation() const;
601  void set_max_rotation(const float new_max_rotation);
602  size_t maxlenof_max_rotation() const;
603  float security_distance() const;
604  void set_security_distance(const float new_security_distance);
605  size_t maxlenof_security_distance() const;
606  bool is_escaping_enabled() const;
607  void set_escaping_enabled(const bool new_escaping_enabled);
608  size_t maxlenof_escaping_enabled() const;
609  DriveMode drive_mode() const;
610  void set_drive_mode(const DriveMode new_drive_mode);
611  size_t maxlenof_drive_mode() const;
612  bool is_auto_drive_mode() const;
613  void set_auto_drive_mode(const bool new_auto_drive_mode);
614  size_t maxlenof_auto_drive_mode() const;
615  bool is_stop_at_target() const;
616  void set_stop_at_target(const bool new_stop_at_target);
617  size_t maxlenof_stop_at_target() const;
618  OrientationMode orientation_mode() const;
619  void set_orientation_mode(const OrientationMode new_orientation_mode);
620  size_t maxlenof_orientation_mode() const;
621  virtual Message * create_message(const char *type) const;
622 
623  virtual void copy_values(const Interface *other);
624  virtual const char * enum_tostring(const char *enumtype, int val) const;
625 
626 };
627 
628 } // end namespace fawkes
629 
630 #endif
bool is_auto_drive_mode() const
Get auto_drive_mode value.
size_t maxlenof_max_rotation() const
Get maximum length of max_rotation value.
float max_velocity() const
Get max_velocity value.
void set_stop_at_target(const bool new_stop_at_target)
Set stop_at_target value.
static const uint32_t ERROR_PATH_GEN_FAIL
ERROR_PATH_GEN_FAIL constant.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
Definition: message.h:44
void set_escaping_enabled(const bool new_escaping_enabled)
Set escaping_enabled value.
virtual bool message_valid(const Message *message) const
Check if message is valid and can be enqueued.
size_t maxlenof_orientation_mode() const
Get maximum length of orientation_mode value.
Fawkes library namespace.
ObstacleMessage Fawkes BlackBoard Interface Message.
void set_final(const bool new_final)
Set final value.
bool is_stop_at_target() const
Get stop_at_target value.
OrientationMode
Orientation mode enum.
static const uint32_t ERROR_MOTOR
ERROR_MOTOR constant.
SetSecurityDistanceMessage Fawkes BlackBoard Interface Message.
static const uint32_t FLAG_CART_GOTO
FLAG_CART_GOTO constant.
virtual Message * create_message(const char *type) const
Create message based on type name.
PolarGotoMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_auto_drive_mode() const
Get maximum length of auto_drive_mode value.
static const uint32_t ERROR_UNKNOWN_PLACE
ERROR_UNKNOWN_PLACE constant.
uint32_t error_code() const
Get error_code value.
SetOrientationModeMessage Fawkes BlackBoard Interface Message.
Base class for all Fawkes BlackBoard interfaces.
Definition: interface.h:79
size_t maxlenof_dest_dist() const
Get maximum length of dest_dist value.
float dest_ori() const
Get dest_ori value.
size_t maxlenof_max_velocity() const
Get maximum length of max_velocity value.
const char * tostring_DriveMode(DriveMode value) const
Convert DriveMode constant to string.
static const uint32_t FLAG_POLAR_GOTO
FLAG_POLAR_GOTO constant.
void set_security_distance(const float new_security_distance)
Set security_distance value.
SetStopAtTargetMessage Fawkes BlackBoard Interface Message.
SetEscapingMessage Fawkes BlackBoard Interface Message.
OrientationMode orientation_mode() const
Get orientation_mode value.
Orient when at target, if orientation is given.
size_t maxlenof_stop_at_target() const
Get maximum length of stop_at_target value.
float dest_y() const
Get dest_y value.
size_t maxlenof_security_distance() const
Get maximum length of security_distance value.
SetDriveModeMessage Fawkes BlackBoard Interface Message.
DriveMode drive_mode() const
Get drive_mode value.
PlaceGotoMessage Fawkes BlackBoard Interface Message.
size_t maxlenof_final() const
Get maximum length of final value.
const char * type() const
Get type of interface.
Definition: interface.cpp:651
bool is_final() const
Get final value.
SetMaxRotationMessage Fawkes BlackBoard Interface Message.
CartesianGotoMessage Fawkes BlackBoard Interface Message.
void set_flags(const uint32_t new_flags)
Set flags value.
size_t maxlenof_dest_ori() const
Get maximum length of dest_ori value.
size_t maxlenof_msgid() const
Get maximum length of msgid value.
void set_auto_drive_mode(const bool new_auto_drive_mode)
Set auto_drive_mode value.
uint32_t flags() const
Get flags value.
size_t maxlenof_error_code() const
Get maximum length of error_code value.
Moving allow backward constant.
size_t maxlenof_escaping_enabled() const
Get maximum length of escaping_enabled value.
size_t maxlenof_dest_y() const
Get maximum length of dest_y value.
void set_drive_mode(const DriveMode new_drive_mode)
Set drive_mode value.
void set_max_velocity(const float new_max_velocity)
Set max_velocity value.
size_t maxlenof_dest_x() const
Get maximum length of dest_x value.
virtual void copy_values(const Interface *other)
Copy values from other interface.
size_t maxlenof_x() const
Get maximum length of x value.
void set_error_code(const uint32_t new_error_code)
Set error_code value.
float security_distance() const
Get security_distance value.
static const uint32_t FLAG_ESCAPING
FLAG_ESCAPING constant.
static const uint32_t ERROR_OBSTRUCTION
ERROR_OBSTRUCTION constant.
void set_dest_ori(const float new_dest_ori)
Set dest_ori value.
void set_y(const float new_y)
Set y value.
TurnMessage Fawkes BlackBoard Interface Message.
float x() const
Get x value.
static const uint32_t FLAG_SECURITY_DISTANCE
FLAG_SECURITY_DISTANCE constant.
void set_dest_dist(const float new_dest_dist)
Set dest_dist value.
void set_max_rotation(const float new_max_rotation)
Set max_rotation value.
void set_dest_x(const float new_dest_x)
Set dest_x value.
const char * tostring_OrientationMode(OrientationMode value) const
Convert OrientationMode constant to string.
float dest_x() const
Get dest_x value.
PlaceWithOriGotoMessage Fawkes BlackBoard Interface Message.
void set_orientation_mode(const OrientationMode new_orientation_mode)
Set orientation_mode value.
static const uint32_t ERROR_NONE
ERROR_NONE constant.
virtual const char * enum_tostring(const char *enumtype, int val) const
Convert arbitrary enum value to string.
float dest_dist() const
Get dest_dist value.
ResetParametersMessage Fawkes BlackBoard Interface Message.
static const uint32_t FLAG_UPDATES_DEST_DIST
FLAG_UPDATES_DEST_DIST constant.
bool is_escaping_enabled() const
Get escaping_enabled value.
Orient during travel BUT NOT at target, if omnidirectional platform and orientation is given...
float y() const
Get y value.
void set_dest_y(const float new_dest_y)
Set dest_y value.
static const uint32_t FLAG_NONE
FLAG_NONE constant.
size_t maxlenof_y() const
Get maximum length of y value.
void set_msgid(const uint32_t new_msgid)
Set msgid value.
uint32_t msgid() const
Get msgid value.
std::map< int, std::string > interface_enum_map_t
Map of enum integer to string values.
Definition: types.h:53
void set_x(const float new_x)
Set x value.
size_t maxlenof_flags() const
Get maximum length of flags value.
size_t maxlenof_drive_mode() const
Get maximum length of drive_mode value.
SetMaxVelocityMessage Fawkes BlackBoard Interface Message.
ResetOdometryMessage Fawkes BlackBoard Interface Message.
static const uint32_t FLAG_PLACE_GOTO
FLAG_PLACE_GOTO constant.
StopMessage Fawkes BlackBoard Interface Message.
NavigatorInterface Fawkes BlackBoard Interface.
float max_rotation() const
Get max_rotation value.