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 316 of file gloveInterface.cpp.
CData::~CData | ( | ) |
Definition at line 325 of file gloveInterface.cpp.
void CData::addToIntercept | ( | int | d, | |
double | val | |||
) |
Definition at line 367 of file gloveInterface.cpp.
void CData::addToSlope | ( | int | d, | |
int | s, | |||
double | val | |||
) |
Definition at line 358 of file gloveInterface.cpp.
double CData::getIntercept | ( | int | d | ) |
Definition at line 384 of file gloveInterface.cpp.
double CData::getSlope | ( | int | d, | |
int | s | |||
) |
Definition at line 375 of file gloveInterface.cpp.
void CData::reset | ( | ) |
Definition at line 331 of file gloveInterface.cpp.
void CData::setIntercept | ( | int | d, | |
double | val | |||
) |
Definition at line 349 of file gloveInterface.cpp.
void CData::setSlope | ( | int | d, | |
int | s, | |||
double | val | |||
) |
Definition at line 340 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.