Holds the information for linear conversion of raw glove senor readings to dof values. More...
#include <gloveInterface.h>
Public Member Functions | |
void | addToIntercept (int d, double val) |
void | addToSlope (int d, int s, double val) |
CData (int nd, int ns) | |
double | getIntercept (int d) |
double | getSlope (int d, int s) |
void | reset () |
void | setIntercept (int d, double val) |
void | setSlope (int d, int s, double val) |
~CData () | |
Private Attributes | |
double * | intercepts |
int | nDOF |
int | nSensors |
double * | slopes |
Holds the information for linear conversion of raw glove senor readings to dof values.
The CData (stands for conversion data) class holds the information for converting raw glove readings to dof values. The conversions are all linear, so for each sensor, we store a slope and an intercept. It does not know how to match sensors with individual dof's. It also contains a couple of convenience functions to help calibration.
In general, any glove sensor can affect any robot dof, there is not a 1-to-1 mapping. The slopes store the effect that each glove sensor has on each robot dof. It is therefore a sparse nd x ns matrix, where nd is the number of dofs and ns is the number of sensors. The intercepts are specific to each dof.
In general, the value of the dof d is obtained by: dof_d = intercepts_d + sum_over_all_sensors_s[slope(s,d) * raw_sensor(s)]
Definition at line 113 of file gloveInterface.h.
CData::CData | ( | int | nd, | |
int | ns | |||
) |
Definition at line 275 of file gloveInterface.cpp.
CData::~CData | ( | ) |
Definition at line 284 of file gloveInterface.cpp.
void CData::addToIntercept | ( | int | d, | |
double | val | |||
) |
Definition at line 326 of file gloveInterface.cpp.
void CData::addToSlope | ( | int | d, | |
int | s, | |||
double | val | |||
) |
Definition at line 317 of file gloveInterface.cpp.
double CData::getIntercept | ( | int | d | ) |
Definition at line 343 of file gloveInterface.cpp.
double CData::getSlope | ( | int | d, | |
int | s | |||
) |
Definition at line 334 of file gloveInterface.cpp.
void CData::reset | ( | ) |
Definition at line 290 of file gloveInterface.cpp.
void CData::setIntercept | ( | int | d, | |
double | val | |||
) |
Definition at line 308 of file gloveInterface.cpp.
void CData::setSlope | ( | int | d, | |
int | s, | |||
double | val | |||
) |
Definition at line 299 of file gloveInterface.cpp.
double * CData::intercepts [private] |
Definition at line 115 of file gloveInterface.h.
int CData::nDOF [private] |
Definition at line 116 of file gloveInterface.h.
int CData::nSensors [private] |
Definition at line 116 of file gloveInterface.h.
double* CData::slopes [private] |
Definition at line 115 of file gloveInterface.h.