Fawkes API
Fawkes Development Version
|
NavigatorInterface Fawkes BlackBoard Interface. More...
#include <>>
Classes | |
class | CartesianGotoMessage |
CartesianGotoMessage Fawkes BlackBoard Interface Message. More... | |
class | ObstacleMessage |
ObstacleMessage Fawkes BlackBoard Interface Message. More... | |
class | PlaceGotoMessage |
PlaceGotoMessage Fawkes BlackBoard Interface Message. More... | |
class | PolarGotoMessage |
PolarGotoMessage Fawkes BlackBoard Interface Message. More... | |
class | ResetOdometryMessage |
ResetOdometryMessage Fawkes BlackBoard Interface Message. More... | |
class | SetEscapingMessage |
SetEscapingMessage Fawkes BlackBoard Interface Message. More... | |
class | SetMaxVelocityMessage |
SetMaxVelocityMessage Fawkes BlackBoard Interface Message. More... | |
class | SetSecurityDistanceMessage |
SetSecurityDistanceMessage Fawkes BlackBoard Interface Message. More... | |
class | StopMessage |
StopMessage Fawkes BlackBoard Interface Message. More... | |
class | TurnMessage |
TurnMessage Fawkes BlackBoard Interface Message. More... | |
Public Member Functions | |
virtual bool | message_valid (const Message *message) const |
Check if message is valid and can be enqueued. More... | |
uint32_t | flags () const |
Get flags value. More... | |
void | set_flags (const uint32_t new_flags) |
Set flags value. More... | |
size_t | maxlenof_flags () const |
Get maximum length of flags value. More... | |
float | x () const |
Get x value. More... | |
void | set_x (const float new_x) |
Set x value. More... | |
size_t | maxlenof_x () const |
Get maximum length of x value. More... | |
float | y () const |
Get y value. More... | |
void | set_y (const float new_y) |
Set y value. More... | |
size_t | maxlenof_y () const |
Get maximum length of y value. More... | |
float | dest_x () const |
Get dest_x value. More... | |
void | set_dest_x (const float new_dest_x) |
Set dest_x value. More... | |
size_t | maxlenof_dest_x () const |
Get maximum length of dest_x value. More... | |
float | dest_y () const |
Get dest_y value. More... | |
void | set_dest_y (const float new_dest_y) |
Set dest_y value. More... | |
size_t | maxlenof_dest_y () const |
Get maximum length of dest_y value. More... | |
float | dest_ori () const |
Get dest_ori value. More... | |
void | set_dest_ori (const float new_dest_ori) |
Set dest_ori value. More... | |
size_t | maxlenof_dest_ori () const |
Get maximum length of dest_ori value. More... | |
float | dest_dist () const |
Get dest_dist value. More... | |
void | set_dest_dist (const float new_dest_dist) |
Set dest_dist value. More... | |
size_t | maxlenof_dest_dist () const |
Get maximum length of dest_dist value. More... | |
uint32_t | msgid () const |
Get msgid value. More... | |
void | set_msgid (const uint32_t new_msgid) |
Set msgid value. More... | |
size_t | maxlenof_msgid () const |
Get maximum length of msgid value. More... | |
bool | is_final () const |
Get final value. More... | |
void | set_final (const bool new_final) |
Set final value. More... | |
size_t | maxlenof_final () const |
Get maximum length of final value. More... | |
uint32_t | error_code () const |
Get error_code value. More... | |
void | set_error_code (const uint32_t new_error_code) |
Set error_code value. More... | |
size_t | maxlenof_error_code () const |
Get maximum length of error_code value. More... | |
float | max_velocity () const |
Get max_velocity value. More... | |
void | set_max_velocity (const float new_max_velocity) |
Set max_velocity value. More... | |
size_t | maxlenof_max_velocity () const |
Get maximum length of max_velocity value. More... | |
float | security_distance () const |
Get security_distance value. More... | |
void | set_security_distance (const float new_security_distance) |
Set security_distance value. More... | |
size_t | maxlenof_security_distance () const |
Get maximum length of security_distance value. More... | |
bool | is_escaping_enabled () const |
Get escaping_enabled value. More... | |
void | set_escaping_enabled (const bool new_escaping_enabled) |
Set escaping_enabled value. More... | |
size_t | maxlenof_escaping_enabled () const |
Get maximum length of escaping_enabled value. More... | |
virtual Message * | create_message (const char *type) const |
Create message based on type name. More... | |
virtual void | copy_values (const Interface *other) |
Copy values from other interface. More... | |
virtual const char * | enum_tostring (const char *enumtype, int val) const |
Convert arbitrary enum value to string. More... | |
![]() | |
virtual | ~Interface () |
Destructor. More... | |
bool | oftype (const char *interface_type) const |
Check if interface is of given type. More... | |
const void * | datachunk () const |
Get data chunk. More... | |
unsigned int | datasize () const |
Get data size. More... | |
const char * | type () const |
Get type of interface. More... | |
const char * | id () const |
Get identifier of interface. More... | |
const char * | uid () const |
Get unique identifier of interface. More... | |
unsigned short | serial () const |
Get instance serial of interface. More... | |
unsigned int | mem_serial () const |
Get memory serial of interface. More... | |
bool | operator== (Interface &comp) const |
Check equality of two interfaces. More... | |
const unsigned char * | hash () const |
Get interface hash. More... | |
size_t | hash_size () const |
Get size of interface hash. More... | |
const char * | hash_printable () const |
Get printable interface hash. More... | |
bool | is_writer () const |
Check if this is a writing instance. More... | |
void | set_validity (bool valid) |
Mark this interface invalid. More... | |
bool | is_valid () const |
Check validity of interface. More... | |
void | set_from_chunk (void *chunk) |
Set from a raw data chunk. More... | |
void | resize_buffers (unsigned int num_buffers) |
Resize buffer array. More... | |
unsigned int | num_buffers () const |
Get number of buffers. More... | |
void | copy_shared_to_buffer (unsigned int buffer) |
Copy data from private memory to buffer. More... | |
void | copy_private_to_buffer (unsigned int buffer) |
Copy data from private memory to buffer. More... | |
void | read_from_buffer (unsigned int buffer) |
Copy data from buffer to private memory. More... | |
int | compare_buffers (unsigned int buffer) |
Compare buffer to private memory. More... | |
void | read () |
Read from BlackBoard into local copy. More... | |
void | write () |
Write from local copy into BlackBoard memory. More... | |
bool | has_writer () const |
Check if there is a writer for the interface. More... | |
unsigned int | num_readers () const |
Get the number of readers. More... | |
bool | changed () const |
Check if data has been changed. More... | |
const Time * | timestamp () const |
Get timestamp of last write. More... | |
void | set_auto_timestamping (bool enabled) |
Enable or disable automated timestamping. More... | |
void | set_timestamp (const Time *t=NULL) |
Set timestamp. More... | |
void | set_clock (Clock *clock) |
Set clock to use for timestamping. More... | |
std::list< const char * > | get_message_types () |
Obtain a list of textual representations of the message types available for this interface. More... | |
unsigned int | msgq_enqueue (Message *message) |
Enqueue message at end of queue. More... | |
unsigned int | msgq_enqueue_copy (Message *message) |
Enqueue copy of message at end of queue. More... | |
void | msgq_remove (Message *message) |
Remove message from queue. More... | |
void | msgq_remove (unsigned int message_id) |
Remove message from queue. More... | |
unsigned int | msgq_size () |
Get size of message queue. More... | |
void | msgq_flush () |
Flush all messages. More... | |
void | msgq_lock () |
Lock message queue. More... | |
bool | msgq_try_lock () |
Try to lock message queue. More... | |
void | msgq_unlock () |
Unlock message queue. More... | |
void | msgq_pop () |
Erase first message from queue. More... | |
Message * | msgq_first () |
Get the first message from the message queue. More... | |
bool | msgq_empty () |
Check if queue is empty. More... | |
template<class MessageType > | |
bool | msgq_first_is () |
Check if first message has desired type. More... | |
template<class MessageType > | |
MessageType * | msgq_first () |
Get first message casted to the desired type. More... | |
template<class MessageType > | |
MessageType * | msgq_first (MessageType *&msg) |
Get first message casted to the desired type. More... | |
template<class MessageType > | |
MessageType * | msgq_first_safe (MessageType *&msg) throw () |
Get first message casted to the desired type without exceptions. More... | |
MessageQueue::MessageIterator | msgq_begin () |
Get start iterator for message queue. More... | |
MessageQueue::MessageIterator | msgq_end () |
Get end iterator for message queue. More... | |
InterfaceFieldIterator | fields () |
Get iterator over all fields of this interface instance. More... | |
InterfaceFieldIterator | fields_end () |
Invalid iterator. More... | |
unsigned int | num_fields () |
Get the number of fields in the interface. More... | |
Static Public Attributes | |
static const uint32_t | ERROR_NONE = 0u |
ERROR_NONE constant. More... | |
static const uint32_t | ERROR_MOTOR = 1u |
ERROR_MOTOR constant. More... | |
static const uint32_t | ERROR_OBSTRUCTION = 2u |
ERROR_OBSTRUCTION constant. More... | |
static const uint32_t | ERROR_UNKNOWN_PLACE = 4u |
ERROR_UNKNOWN_PLACE constant. More... | |
static const uint32_t | FLAG_NONE = 0u |
FLAG_NONE constant. More... | |
static const uint32_t | FLAG_CART_GOTO = 1u |
FLAG_CART_GOTO constant. More... | |
static const uint32_t | FLAG_POLAR_GOTO = 2u |
FLAG_POLAR_GOTO constant. More... | |
static const uint32_t | FLAG_PLACE_GOTO = 4u |
FLAG_PLACE_GOTO constant. More... | |
static const uint32_t | FLAG_UPDATES_DEST_DIST = 8u |
FLAG_UPDATES_DEST_DIST constant. More... | |
static const uint32_t | FLAG_SECURITY_DISTANCE = 16u |
FLAG_SECURITY_DISTANCE constant. More... | |
static const uint32_t | FLAG_ESCAPING = 32u |
FLAG_ESCAPING constant. More... | |
Additional Inherited Members | |
![]() | |
static void | parse_uid (const char *uid, char **type, char **id) |
Parse UID to type and ID strings. More... | |
![]() | |
Interface () | |
Constructor. More... | |
void | set_hash (unsigned char *ihash) |
Set hash. More... | |
void | add_fieldinfo (interface_fieldtype_t type, const char *name, size_t length, void *value, const char *enumtype=0) |
Add an entry to the field info list. More... | |
void | add_messageinfo (const char *name) |
Add an entry to the message info list. More... | |
![]() | |
void * | data_ptr |
Pointer to local memory storage. More... | |
unsigned int | data_size |
Minimal data size to hold data storage. More... | |
bool | data_changed |
Indicator if data has changed. More... | |
interface_data_ts_t * | data_ts |
Pointer to data casted to timestamp struct. More... | |
NavigatorInterface Fawkes BlackBoard Interface.
The navigator interface is used by the navigator to export information about the current status of the navigator and to define all messages by which the navigator can be instructed.
There are three coordinate systems, the robot system which is a right-handed cartesian coordinate system with the robot in its origin, X axis pointing forward, Y pointing to the left and Z pointing upwards. The second coordinate system is the so-called navigator system. It is a coordinate system similar to the robot system, but the origin is defined on the initialization of the navigator. The last system is the odometry system. It is again a similar system, but the origin is reset from time to time and the robot's position in this system gives the odometry deltas.
Definition at line 33 of file NavigatorInterface.h.
|
virtual |
Copy values from other interface.
other | other interface to copy values from |
Implements fawkes::Interface.
Definition at line 572 of file NavigatorInterface.cpp.
References fawkes::Interface::type().
|
virtual |
Create message based on type name.
This will create a new message of the given type. The type must be given without the InterfaceName:: prefix but just the plain class name of the message.
type | message type |
UnknownTypeException | thrown if this interface cannot create a message of the given type. |
Implements fawkes::Interface.
Definition at line 539 of file NavigatorInterface.cpp.
float fawkes::NavigatorInterface::dest_dist | ( | ) | const |
Get dest_dist value.
Distance to destination in m.
Definition at line 309 of file NavigatorInterface.cpp.
float fawkes::NavigatorInterface::dest_ori | ( | ) | const |
Get dest_ori value.
Orientation of the current destination, or 0.0 if no target has been set.
Definition at line 278 of file NavigatorInterface.cpp.
float fawkes::NavigatorInterface::dest_x | ( | ) | const |
Get dest_x value.
X-coordinate of the current destination, or 0.0 if no target has been set.
Definition at line 216 of file NavigatorInterface.cpp.
float fawkes::NavigatorInterface::dest_y | ( | ) | const |
Get dest_y value.
Y-coordinate of the current destination, or 0.0 if no target has been set.
Definition at line 247 of file NavigatorInterface.cpp.
|
virtual |
Convert arbitrary enum value to string.
Given the string representation of the enum type and the value this method returns the string representation of the specific value, or the string UNKNOWN if the value is not defined. An exception is thrown if the enum type is invalid.
enumtype | enum type as string |
val | value to convert |
UnknownTypeException | thrown if enumtype is not specified for interface. |
Implements fawkes::Interface.
Definition at line 583 of file NavigatorInterface.cpp.
uint32_t fawkes::NavigatorInterface::error_code | ( | ) | const |
Get error_code value.
Failure code set if final is true. 0 if no error occured, an error code from ERROR_* constants otherwise (or a bit-wise combination).
Definition at line 408 of file NavigatorInterface.cpp.
uint32_t fawkes::NavigatorInterface::flags | ( | ) | const |
Get flags value.
Bit-wise combination of FLAG_* constants denoting navigator component features.
Definition at line 122 of file NavigatorInterface.cpp.
bool fawkes::NavigatorInterface::is_escaping_enabled | ( | ) | const |
Get escaping_enabled value.
This is used for navigation components with integrated collision avoidance, to check whether the navigator should stop when an obstacle obstructs the path, or if it should escape.
Definition at line 508 of file NavigatorInterface.cpp.
bool fawkes::NavigatorInterface::is_final | ( | ) | const |
Get final value.
True, if the last goto command has been finished, false if it is still running
Definition at line 374 of file NavigatorInterface.cpp.
float fawkes::NavigatorInterface::max_velocity | ( | ) | const |
Get max_velocity value.
Maximum velocity
Definition at line 441 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_dest_dist | ( | ) | const |
Get maximum length of dest_dist value.
Definition at line 319 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_dest_ori | ( | ) | const |
Get maximum length of dest_ori value.
Definition at line 288 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_dest_x | ( | ) | const |
Get maximum length of dest_x value.
Definition at line 226 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_dest_y | ( | ) | const |
Get maximum length of dest_y value.
Definition at line 257 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_error_code | ( | ) | const |
Get maximum length of error_code value.
Definition at line 418 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_escaping_enabled | ( | ) | const |
Get maximum length of escaping_enabled value.
Definition at line 518 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_final | ( | ) | const |
Get maximum length of final value.
Definition at line 384 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_flags | ( | ) | const |
Get maximum length of flags value.
Definition at line 132 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_max_velocity | ( | ) | const |
Get maximum length of max_velocity value.
Definition at line 451 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_msgid | ( | ) | const |
Get maximum length of msgid value.
Definition at line 351 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_security_distance | ( | ) | const |
Get maximum length of security_distance value.
Definition at line 483 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_x | ( | ) | const |
Get maximum length of x value.
Definition at line 164 of file NavigatorInterface.cpp.
size_t fawkes::NavigatorInterface::maxlenof_y | ( | ) | const |
Get maximum length of y value.
Definition at line 195 of file NavigatorInterface.cpp.
|
virtual |
Check if message is valid and can be enqueued.
message | Message to check |
Implements fawkes::Interface.
Definition at line 1654 of file NavigatorInterface.cpp.
uint32_t fawkes::NavigatorInterface::msgid | ( | ) | const |
Get msgid value.
The ID of the message that is currently being processed, or 0 if no message is being processed.
Definition at line 341 of file NavigatorInterface.cpp.
float fawkes::NavigatorInterface::security_distance | ( | ) | const |
Get security_distance value.
Security distance to keep to obstacles
Definition at line 473 of file NavigatorInterface.cpp.
void fawkes::NavigatorInterface::set_dest_dist | ( | const float | new_dest_dist | ) |
Set dest_dist value.
Distance to destination in m.
new_dest_dist | new dest_dist value |
Definition at line 329 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
void fawkes::NavigatorInterface::set_dest_ori | ( | const float | new_dest_ori | ) |
Set dest_ori value.
Orientation of the current destination, or 0.0 if no target has been set.
new_dest_ori | new dest_ori value |
Definition at line 298 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by RosNavigatorThread::loop().
void fawkes::NavigatorInterface::set_dest_x | ( | const float | new_dest_x | ) |
Set dest_x value.
X-coordinate of the current destination, or 0.0 if no target has been set.
new_dest_x | new dest_x value |
Definition at line 236 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by RosNavigatorThread::loop().
void fawkes::NavigatorInterface::set_dest_y | ( | const float | new_dest_y | ) |
Set dest_y value.
Y-coordinate of the current destination, or 0.0 if no target has been set.
new_dest_y | new dest_y value |
Definition at line 267 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by RosNavigatorThread::loop().
void fawkes::NavigatorInterface::set_error_code | ( | const uint32_t | new_error_code | ) |
Set error_code value.
Failure code set if final is true. 0 if no error occured, an error code from ERROR_* constants otherwise (or a bit-wise combination).
new_error_code | new error_code value |
Definition at line 430 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
void fawkes::NavigatorInterface::set_escaping_enabled | ( | const bool | new_escaping_enabled | ) |
Set escaping_enabled value.
This is used for navigation components with integrated collision avoidance, to check whether the navigator should stop when an obstacle obstructs the path, or if it should escape.
new_escaping_enabled | new escaping_enabled value |
Definition at line 531 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
void fawkes::NavigatorInterface::set_final | ( | const bool | new_final | ) |
Set final value.
True, if the last goto command has been finished, false if it is still running
new_final | new final value |
Definition at line 395 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
void fawkes::NavigatorInterface::set_flags | ( | const uint32_t | new_flags | ) |
Set flags value.
Bit-wise combination of FLAG_* constants denoting navigator component features.
new_flags | new flags value |
Definition at line 143 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
void fawkes::NavigatorInterface::set_max_velocity | ( | const float | new_max_velocity | ) |
Set max_velocity value.
Maximum velocity
new_max_velocity | new max_velocity value |
Definition at line 461 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by RosNavigatorThread::loop().
void fawkes::NavigatorInterface::set_msgid | ( | const uint32_t | new_msgid | ) |
Set msgid value.
The ID of the message that is currently being processed, or 0 if no message is being processed.
new_msgid | new msgid value |
Definition at line 362 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by RosNavigatorThread::loop().
void fawkes::NavigatorInterface::set_security_distance | ( | const float | new_security_distance | ) |
Set security_distance value.
Security distance to keep to obstacles
new_security_distance | new security_distance value |
Definition at line 494 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
Referenced by RosNavigatorThread::loop().
void fawkes::NavigatorInterface::set_x | ( | const float | new_x | ) |
Set x value.
Current X-coordinate in the navigator coordinate system.
new_x | new x value |
Definition at line 174 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
void fawkes::NavigatorInterface::set_y | ( | const float | new_y | ) |
Set y value.
Current Y-coordinate in the navigator coordinate system.
new_y | new y value |
Definition at line 205 of file NavigatorInterface.cpp.
References fawkes::Interface::data_changed.
float fawkes::NavigatorInterface::x | ( | ) | const |
Get x value.
Current X-coordinate in the navigator coordinate system.
Definition at line 154 of file NavigatorInterface.cpp.
float fawkes::NavigatorInterface::y | ( | ) | const |
Get y value.
Current Y-coordinate in the navigator coordinate system.
Definition at line 185 of file NavigatorInterface.cpp.
|
static |
ERROR_MOTOR constant.
Definition at line 41 of file NavigatorInterface.h.
|
static |
ERROR_NONE constant.
Definition at line 40 of file NavigatorInterface.h.
|
static |
ERROR_OBSTRUCTION constant.
Definition at line 42 of file NavigatorInterface.h.
|
static |
ERROR_UNKNOWN_PLACE constant.
Definition at line 43 of file NavigatorInterface.h.
|
static |
FLAG_CART_GOTO constant.
Definition at line 45 of file NavigatorInterface.h.
|
static |
FLAG_ESCAPING constant.
Definition at line 50 of file NavigatorInterface.h.
|
static |
FLAG_NONE constant.
Definition at line 44 of file NavigatorInterface.h.
|
static |
FLAG_PLACE_GOTO constant.
Definition at line 47 of file NavigatorInterface.h.
|
static |
FLAG_POLAR_GOTO constant.
Definition at line 46 of file NavigatorInterface.h.
|
static |
FLAG_SECURITY_DISTANCE constant.
Definition at line 49 of file NavigatorInterface.h.
|
static |
FLAG_UPDATES_DEST_DIST constant.
Definition at line 48 of file NavigatorInterface.h.