WalkCalibration Class Reference#include <WalkCalibration.h>
Inheritance diagram for WalkCalibration:
[legend]List of all members.
Detailed Description
allows interactive calibration of a walk engine
In retrospect, this might have been a little easier to do as a ControlBase/StateNode multiple inheritance instead of ControlBase/EventListener... oh well.
Definition at line 17 of file WalkCalibration.h.
|
Public Member Functions |
| WalkCalibration () |
| constructor
|
| ~WalkCalibration () |
| destructor
|
virtual ControlBase * | activate (MotionManager::MC_ID disp_id, Socket *gui) |
virtual void | refresh () |
| called when the child has deactivated and this control should refresh its display, or some other event (such as the user pressing the refresh button) has happened to cause a refresh to be needed
|
virtual void | deactivate () |
| called when this control is being popped from the control stack
|
virtual ControlBase * | doSelect () |
| when the user has trigger an "open selection" - default is to return the hilighted control*/
|
virtual void | processEvent (const EventBase &e) |
| listens for locomotion events so we know when to stop recording
|
virtual ControlBase * | takeInput (const std::string &msg) |
| called when the user has supplied a text string (may or may not have been prompted by doReadStdIn()! May not even be active yet - the user can direct the same input to a set of hilighted menus)
|
virtual void | setHilights (const std::vector< unsigned int > &hi) |
| sets the hilighted slots
|
virtual void | hilightFirst () |
| sets the hilight to the first non-null slot
|
Protected Types |
enum | {
ROOT,
CHOOSE,
READY,
MOVING,
READING_1,
READING_2,
CLEAR
} |
enum | dataSource {
fs,
fr,
sr,
br,
bs,
r,
NUM_SRC
} |
| allows representation of the current sample type More...
|
Protected Member Functions |
void | setupRoot () |
| sets state to root menu
|
void | setupChoose () |
| sets state to choose type menu
|
void | setupReady () |
| sets state to ready menu
|
void | setupMoving () |
| sets state to moving menu
|
void | setupReading1 () |
| sets state to enter first measurement menu
|
void | setupReading2 () |
| sets state to enter second measurement menu
|
void | setupClear () |
| sets state to clear confirmation menu
|
unsigned int | getType () |
| returns current sample type
|
unsigned int | getFirstIndex (dataSource t) |
| returns a name index for the first measurement type
|
unsigned int | getSecondIndex (dataSource t) |
| returns a name index for the second measurement type
|
char * | getIndexName (unsigned int t) |
| returns name for measurement type
|
char * | getFirstMeasure (dataSource t) |
| returns name for first measurement type
|
char * | getSecondMeasure (dataSource t) |
| returns name for second measurement type
|
float | arclen (float d, float a, float sign) |
| calculates arc distance corresponding to a displacement and angle, negated if necessary to match sign
|
void | addSample () |
| adds data point corresponding to measurements stored in firstIn and secondIn
|
void | addSample (std::vector< float * > &dat, float x, float y, float a) |
| adds data point to dat for a given x,y,a (and old_x, old_y, old_a)
|
Static Protected Member Functions |
static void | loadData (const std::string &name, std::vector< float * > &data) |
| does the work of loading data sets
|
static void | saveData (const std::string &name, const std::vector< float * > &data) |
| does the work of saving data sets
|
static void | clearData (std::vector< float * > &data) |
| clears current data
|
static void | report (unsigned int row, float cmd, float actual) |
| reports data as they are being taken
|
static void | err (const std::string &str) |
| pops up an error message on the controller and also displays it on the console
|
Protected Attributes |
enum WalkCalibration:: { ... } | st |
| the currently active state
|
enum WalkCalibration::dataSource | curType |
| allows representation of the current sample type
|
float | old_x |
| the x velocity recorded when we started moving
|
float | old_y |
| the y velocity recorded when we started moving
|
float | old_a |
| the a velocity recorded when we started moving
|
unsigned int | startTime |
| the time recording started
|
unsigned int | stopTime |
| the time recording stopped
|
ControlBase * | help |
| control holding help info
|
FileInputControl * | load |
| control for loading data
|
StringInputControl * | save |
| control for saving data
|
ControlBase * | measure |
| control for taking measurements
|
ControlBase * | clear |
| control for clearing data
|
ToggleControl * | polar |
| control for selecting polar measurements for fs/bs
|
ToggleControl * | rect |
| control for selecting cartesian measurements for fs/bs
|
bool | isPolar |
| true if polar measurements is selected
|
std::string | lastLoad |
| name last data file selected (so we know if a new has been selected
|
float | firstIn |
| the input given for the first measurement
|
float | secondIn |
| the input given for the second measurement
|
std::vector< float * > | data [NUM_SRC] |
| an array of vectors of sample points (one veotor for each of the sample types)
|
unsigned int | cnts [NUM_SRC] |
| count of samples for each sample type (cnts[i] should equal data[i].size())
|
std::string | status |
| string to send for ControllerGUI status message (current count of each sample type)
|
Static Protected Attributes |
static char * | datanames [NUM_SRC] = { "fs","fr","sr","br","bs","rr" } |
| name for each sample type
|
Private Member Functions |
| WalkCalibration (const WalkCalibration &) |
| don't call
|
WalkCalibration & | operator= (const WalkCalibration &) |
| don't call
|
Member Enumeration Documentation
anonymous enum [protected] |
|
|
- Enumerator:
-
ROOT |
|
CHOOSE |
|
READY |
|
MOVING |
|
READING_1 |
|
READING_2 |
|
CLEAR |
|
Definition at line 46 of file WalkCalibration.h. |
|
allows representation of the current sample type
- Enumerator:
-
Definition at line 57 of file WalkCalibration.h. |
Constructor & Destructor Documentation
WalkCalibration::WalkCalibration |
( |
|
) |
|
|
WalkCalibration::~WalkCalibration |
( |
|
) |
|
|
Member Function Documentation
void WalkCalibration::addSample |
( |
std::vector< float * > & |
dat, |
|
|
float |
x, |
|
|
float |
y, |
|
|
float |
a |
|
) |
[protected] |
|
void WalkCalibration::addSample |
( |
|
) |
[protected] |
|
float WalkCalibration::arclen |
( |
float |
d, |
|
|
float |
a, |
|
|
float |
sign |
|
) |
[protected] |
|
|
calculates arc distance corresponding to a displacement and angle, negated if necessary to match sign
Definition at line 740 of file WalkCalibration.cc.
Referenced by addSample(). |
void WalkCalibration::clearData |
( |
std::vector< float * > & |
data |
) |
[static, protected] |
|
virtual void WalkCalibration::deactivate |
( |
|
) |
[inline, virtual] |
|
|
when the user has trigger an "open selection" - default is to return the hilighted control*/
The value which is returned is then activate()ed and pushed on the Controller's stack
Reimplemented from ControlBase.
Definition at line 218 of file WalkCalibration.cc. |
void WalkCalibration::err |
( |
const std::string & |
str |
) |
[static, protected] |
|
unsigned int WalkCalibration::getFirstIndex |
( |
dataSource |
t |
) |
[protected] |
|
char * WalkCalibration::getFirstMeasure |
( |
dataSource |
t |
) |
[protected] |
|
char * WalkCalibration::getIndexName |
( |
unsigned int |
t |
) |
[protected] |
|
unsigned int WalkCalibration::getSecondIndex |
( |
dataSource |
t |
) |
[protected] |
|
char * WalkCalibration::getSecondMeasure |
( |
dataSource |
t |
) |
[protected] |
|
unsigned int WalkCalibration::getType |
( |
|
) |
[protected] |
|
|
returns current sample type
|
void WalkCalibration::hilightFirst |
( |
|
) |
[virtual] |
|
void WalkCalibration::loadData |
( |
const std::string & |
name, |
|
|
std::vector< float * > & |
data |
|
) |
[static, protected] |
|
void WalkCalibration::processEvent |
( |
const EventBase & |
e |
) |
[virtual] |
|
void WalkCalibration::refresh |
( |
|
) |
[virtual] |
|
|
called when the child has deactivated and this control should refresh its display, or some other event (such as the user pressing the refresh button) has happened to cause a refresh to be needed
Reimplemented from ControlBase.
Definition at line 193 of file WalkCalibration.cc.
Referenced by doSelect(), processEvent(), and takeInput(). |
void WalkCalibration::report |
( |
unsigned int |
row, |
|
|
float |
cmd, |
|
|
float |
actual |
|
) |
[static, protected] |
|
void WalkCalibration::saveData |
( |
const std::string & |
name, |
|
|
const std::vector< float * > & |
data |
|
) |
[static, protected] |
|
void WalkCalibration::setHilights |
( |
const std::vector< unsigned int > & |
hi |
) |
[virtual] |
|
void WalkCalibration::setupChoose |
( |
|
) |
[protected] |
|
void WalkCalibration::setupClear |
( |
|
) |
[protected] |
|
void WalkCalibration::setupMoving |
( |
|
) |
[protected] |
|
void WalkCalibration::setupReading1 |
( |
|
) |
[protected] |
|
void WalkCalibration::setupReading2 |
( |
|
) |
[protected] |
|
void WalkCalibration::setupReady |
( |
|
) |
[protected] |
|
void WalkCalibration::setupRoot |
( |
|
) |
[protected] |
|
ControlBase * WalkCalibration::takeInput |
( |
const std::string & |
msg |
) |
[virtual] |
|
|
called when the user has supplied a text string (may or may not have been prompted by doReadStdIn()! May not even be active yet - the user can direct the same input to a set of hilighted menus)
The value which is returned is then activate()ed and pushed on the Controller's stack
Reimplemented from ControlBase.
Definition at line 301 of file WalkCalibration.cc. |
Member Data Documentation
|
the currently active state
Referenced by doSelect(), hilightFirst(), processEvent(), refresh(), setHilights(), setupChoose(), setupClear(), setupMoving(), setupReading1(), setupReading2(), setupReady(), setupRoot(), and takeInput(). |
The documentation for this class was generated from the following files:
|