Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

DeadReckoningBehavior< ParticleT > Class Template Reference

Subscribes to LocomotionEvents and attempts to track robot movement over time using a fairly generic HolonomicMotionModel. More...

#include <DeadReckoningBehavior.h>

Inheritance diagram for DeadReckoningBehavior< ParticleT >:

Detailed Description

template<class ParticleT>
class DeadReckoningBehavior< ParticleT >

Subscribes to LocomotionEvents and attempts to track robot movement over time using a fairly generic HolonomicMotionModel.

Can be used as a ParticleFilter::MotionModel, or as a component of other behaviors.

If you want a regular report on position, the behavior will output current position on timer events

Definition at line 16 of file DeadReckoningBehavior.h.

List of all members.

Public Member Functions

 DeadReckoningBehavior (const std::string &name="DeadReckoningBehavior")
 constructor
 DeadReckoningBehavior (float xVariance, float yVariance, float aVariance)
 constructor
virtual void doStart ()
 Delegate function for subclasses to be notified when the behavior starts up.
virtual void doEvent ()
 Delegate function for event processing, the event itself is pointed to (only for the duration of the doEvent() call!) by event.
virtual std::string getDescription () const
 Gives a short description of what this particular instantiation does (in case a more specific description is needed on an individual basis).

Static Public Member Functions

static std::string getClassDescription ()
 Gives a short description of what this class of behaviors does... you should override this (but don't have to).

Private Attributes

float vel_x
float vel_y
float vel_a

Constructor & Destructor Documentation

template<class ParticleT >
DeadReckoningBehavior< ParticleT >::DeadReckoningBehavior ( const std::string &  name = "DeadReckoningBehavior< ParticleT >"  )  [explicit]

constructor

Definition at line 19 of file DeadReckoningBehavior.h.

template<class ParticleT >
DeadReckoningBehavior< ParticleT >::DeadReckoningBehavior ( float  xVariance,
float  yVariance,
float  aVariance 
)

constructor

Definition at line 23 of file DeadReckoningBehavior.h.


Member Function Documentation

template<class ParticleT >
virtual void DeadReckoningBehavior< ParticleT >::doEvent (  )  [virtual]

Delegate function for event processing, the event itself is pointed to (only for the duration of the doEvent() call!) by event.

Default implementation watches for 'private' text message events (those forwarded by a BehaviorSwitchControl from ControllerGUI input) and will publically rebroadcast them. The idea is that your own processEvent gets first dibs, but if the behavior doesn't handle the text message, it will be handed off for others.

Reimplemented from BehaviorBase.

Definition at line 36 of file DeadReckoningBehavior.h.

template<class ParticleT >
virtual void DeadReckoningBehavior< ParticleT >::doStart (  )  [virtual]

Delegate function for subclasses to be notified when the behavior starts up.

Should be overridden by subclasses to subscribe to events, install motion commands, etc.

doStart() is basically a hook to allow subclasses to jump in and do some customization of behavior parameters while the behavior is starting. If you are writing a behavior class and do not expect further derivation, just override doStart() yourself. However, if you do expect further derivation of your class, consider using preStart() or postStart() instead, and leave doStart() for the 'leaf' classes.

Reimplemented from BehaviorBase.

Definition at line 27 of file DeadReckoningBehavior.h.

template<class ParticleT >
static std::string DeadReckoningBehavior< ParticleT >::getClassDescription (  )  [static]

Gives a short description of what this class of behaviors does... you should override this (but don't have to).

If you do override this, also consider overriding getDescription() to return it

Reimplemented from BehaviorBase.

Definition at line 61 of file DeadReckoningBehavior.h.

Referenced by DeadReckoningBehavior< ParticleT >::getDescription().

template<class ParticleT >
virtual std::string DeadReckoningBehavior< ParticleT >::getDescription (  )  const [virtual]

Gives a short description of what this particular instantiation does (in case a more specific description is needed on an individual basis).

By default simply returns getName(), because any calls from a BehaviorBase function to getClassDescription() are going to call BehaviorBase::getClassDescription(), not ~YourSubClass~getClassDescription(), because static functions can't be virtual in C++ (doh!)

This means that getDescription called on a pointer to a BehaviorBase of unknown subtype would always return an empty string, which is pretty useless. So instead we return the name in this situation. If you want getDescription to return getClassDescription, you'll have to override it in your subclass to do so.

Reimplemented from BehaviorBase.

Definition at line 62 of file DeadReckoningBehavior.h.


Member Data Documentation

template<class ParticleT >
float DeadReckoningBehavior< ParticleT >::vel_a [private]
template<class ParticleT >
float DeadReckoningBehavior< ParticleT >::vel_x [private]
template<class ParticleT >
float DeadReckoningBehavior< ParticleT >::vel_y [private]

The documentation for this class was generated from the following file:

Tekkotsu v5.1CVS
Generated Mon May 9 04:59:06 2016 by Doxygen 1.6.3