Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

BatteryMonitorBehavior Class Reference

A background behavior that monitors the power level and has the robot indicate when its battery is getting low. More...

#include <BatteryMonitorBehavior.h>

Inheritance diagram for BatteryMonitorBehavior:

Detailed Description

A background behavior that monitors the power level and has the robot indicate when its battery is getting low.

On an AIBO, it flips the ears on an ERS-210 or ERS-7, or blinks the headlight on an ERS-220. On the Chiara it speaks a warning message. Think of this as a simple example class. For exercise, try using a MotionSequenceMC instead of switching the ears back manually using a PostureMC

Definition at line 27 of file BatteryMonitorBehavior.h.

List of all members.

Public Member Functions

 BatteryMonitorBehavior ()
 constructor
virtual ~BatteryMonitorBehavior ()
 destructor
virtual void doStart ()
 Listens for the PowerSrcID::LowPowerWarnSID.
virtual void doStop ()
 Stops listening for events.
virtual void doEvent ()
 Adds a BatteryMonitorMC to motman if power goes low.
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).
static bool shouldWarn ()
 returns true if the warning should be active (power remaining less than high_power_p, no external power, but also checks that a power update has been received)

Static Public Attributes

static const unsigned int max_t = 10000
 max time between ear flips when at "high power" mark
static const unsigned int high_power_p = 20
 percent of 100 which is point at which to begin warning
static const unsigned int no_power_p = 14
 percent of 100 at which power will fail (approximate!)
static const double low_voltage_threshold
 for Chiara: point at which to begin warning (normal is 12 volts)

Protected Member Functions

void startWarning ()
 adds a pose and a timer to get the ears flipping
void stopWarning ()
 removes pose, in case battery magically charges
unsigned int calcFlipDelay ()
 makes the ears flip more rapidly as power declines. Flips back and forth once every 15 seconds at 15%, down to flipping constantly at 5%.
void setFlipper (bool set)
 sets the ears on a 210 & 7 or the headlight on a 220 - true toggles current, false clears

Protected Attributes

PostureMCpose
 if we are currently warning of low battery, holds a pose, NULL otherwise
MotionManager::MC_ID pose_id
 id of pose if we are currently warning, MotionManager::invalid_MC_ID otherwise
MotionManager::MC_ID led_id
 id of LedMC if we are currently warning, MotionManager::invalid_MC_ID otherwise

Private Member Functions

 BatteryMonitorBehavior (const BatteryMonitorBehavior &)
 don't copy behaviors
BatteryMonitorBehavior operator= (const BatteryMonitorBehavior &)
 don't assign behaviors

Constructor & Destructor Documentation

BatteryMonitorBehavior::BatteryMonitorBehavior (  ) 

constructor

Definition at line 35 of file BatteryMonitorBehavior.h.

virtual BatteryMonitorBehavior::~BatteryMonitorBehavior (  )  [virtual]

destructor

Definition at line 38 of file BatteryMonitorBehavior.h.

BatteryMonitorBehavior::BatteryMonitorBehavior ( const BatteryMonitorBehavior  )  [private]

don't copy behaviors


Member Function Documentation

unsigned int BatteryMonitorBehavior::calcFlipDelay (  )  [protected]

makes the ears flip more rapidly as power declines. Flips back and forth once every 15 seconds at 15%, down to flipping constantly at 5%.

Definition at line 175 of file BatteryMonitorBehavior.h.

Referenced by doEvent().

virtual void BatteryMonitorBehavior::doEvent (  )  [virtual]

Adds a BatteryMonitorMC to motman if power goes low.

Reimplemented from BehaviorBase.

Definition at line 62 of file BatteryMonitorBehavior.h.

virtual void BatteryMonitorBehavior::doStart (  )  [virtual]

Listens for the PowerSrcID::LowPowerWarnSID.

Reimplemented from BehaviorBase.

Definition at line 41 of file BatteryMonitorBehavior.h.

virtual void BatteryMonitorBehavior::doStop (  )  [virtual]

Stops listening for events.

Reimplemented from BehaviorBase.

Definition at line 56 of file BatteryMonitorBehavior.h.

static std::string BatteryMonitorBehavior::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 126 of file BatteryMonitorBehavior.h.

Referenced by getDescription().

virtual std::string BatteryMonitorBehavior::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 127 of file BatteryMonitorBehavior.h.

BatteryMonitorBehavior BatteryMonitorBehavior::operator= ( const BatteryMonitorBehavior  )  [private]

don't assign behaviors

void BatteryMonitorBehavior::setFlipper ( bool  set  )  [protected]

sets the ears on a 210 & 7 or the headlight on a 220 - true toggles current, false clears

Definition at line 189 of file BatteryMonitorBehavior.h.

Referenced by doEvent(), and startWarning().

static bool BatteryMonitorBehavior::shouldWarn (  )  [static]

returns true if the warning should be active (power remaining less than high_power_p, no external power, but also checks that a power update has been received)

Definition at line 131 of file BatteryMonitorBehavior.h.

Referenced by doEvent(), and doStart().

void BatteryMonitorBehavior::startWarning (  )  [protected]

adds a pose and a timer to get the ears flipping

Definition at line 143 of file BatteryMonitorBehavior.h.

Referenced by doEvent().

void BatteryMonitorBehavior::stopWarning (  )  [protected]

removes pose, in case battery magically charges

Definition at line 163 of file BatteryMonitorBehavior.h.

Referenced by doEvent(), and doStop().


Member Data Documentation

const unsigned int BatteryMonitorBehavior::high_power_p = 20 [static]

percent of 100 which is point at which to begin warning

Definition at line 30 of file BatteryMonitorBehavior.h.

Referenced by calcFlipDelay(), and shouldWarn().

id of LedMC if we are currently warning, MotionManager::invalid_MC_ID otherwise

Definition at line 206 of file BatteryMonitorBehavior.h.

Referenced by doEvent(), startWarning(), and stopWarning().

for Chiara: point at which to begin warning (normal is 12 volts)

Definition at line 32 of file BatteryMonitorBehavior.h.

Referenced by shouldWarn().

const unsigned int BatteryMonitorBehavior::max_t = 10000 [static]

max time between ear flips when at "high power" mark

Definition at line 29 of file BatteryMonitorBehavior.h.

Referenced by calcFlipDelay().

const unsigned int BatteryMonitorBehavior::no_power_p = 14 [static]

percent of 100 at which power will fail (approximate!)

Definition at line 31 of file BatteryMonitorBehavior.h.

Referenced by calcFlipDelay().

if we are currently warning of low battery, holds a pose, NULL otherwise

Definition at line 204 of file BatteryMonitorBehavior.h.

Referenced by doEvent(), doStop(), setFlipper(), startWarning(), and stopWarning().

id of pose if we are currently warning, MotionManager::invalid_MC_ID otherwise

Definition at line 205 of file BatteryMonitorBehavior.h.

Referenced by startWarning(), and stopWarning().


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

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