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) |
| Called when the control is activated (or the control system is reactivating).
|
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, unsigned int row, float sol) |
| adds data point to dat at row with solution (deprecated)
|
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 |
void | loadData (const std::string &name, std::vector< float * > &data) |
| does the work of loading data sets
|
void | saveData (const std::string &name, const std::vector< float * > &data) |
| does the work of saving data sets
|
void | clearData (std::vector< float * > &data) |
| clears current data
|
void | report (unsigned int row, float cmd, float actual) |
| reports data as they are being taken
|
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 |
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]
|
|
|
- Enumeration values:
-
ROOT |
|
CHOOSE |
|
READY |
|
MOVING |
|
READING_1 |
|
READING_2 |
|
CLEAR |
|
Definition at line 46 of file WalkCalibration.h. |
Constructor & Destructor Documentation
WalkCalibration::WalkCalibration |
( |
|
) |
|
|
Member Function Documentation
|
Called when the control is activated (or the control system is reactivating).
Takes the id number of a LedMC which the control should use, maintained by Controller. Controls share the display which is passed, and may use the socket gui to communicate with the GUI controller, if it is connected. - Returns:
- a ControlBase pointer. Return:
- this if the control should stay active (if it's not a one-shot command)
NULL to return to parent
- other address to spawn a child control
Reimplemented from ControlBase.
Definition at line 183 of file WalkCalibration.cc. |
void WalkCalibration::addSample |
( |
std::vector< float * > & |
dat, |
|
|
float |
x, |
|
|
float |
y, |
|
|
float |
a |
|
) |
[protected] |
|
void WalkCalibration::addSample |
( |
std::vector< float * > & |
dat, |
|
|
unsigned int |
row, |
|
|
float |
sol |
|
) |
[protected] |
|
|
adds data point to dat at row with solution (deprecated)
Definition at line 877 of file WalkCalibration.cc. |
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 736 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 214 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 189 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 297 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:
|