AURobotServers
4
|
#include <ulaserdataset.h>
Public Member Functions | |
double | getAngle () |
double | getDistance (int set=0) |
int | getFlag () |
UPosition | getPosition (UPosition laserPos, double cosLaserTilt, int set=0) |
UPosition | getPosition (UMatrix4 *movLtoR, int set=0) |
int | getRangeCnt () |
double | getSdL () |
double | getTilt () |
double | getVarL () |
bool | isValid (int set=0) |
void | print (char *preString) |
bool | setFromTag (USmlTag *tag) |
void | setValue (double ang, unsigned char lsb, unsigned char msb, double measurementUnits) |
void | setValue (double ang, int set, int rng) |
UClientLaserData () | |
Private Attributes | |
double | angle |
int | flag |
double | range [5] |
int | rangeCnt |
double | tilt |
double | varL |
Class to hold one measurement of a laser scan
|
inline |
Set values from tag data Get measurement angle
References angle.
Referenced by getPosition(), and ULaserDataSet::print().
|
inline |
Get measured distance
References range.
Referenced by getPosition(), UPaintLaserScan::makeScanCloud(), UNavPaint::paintHistScan(), and UNavPaint::paintScanNewest().
|
inline |
Is measurement dazzeled (measurement is not valid)
References flag.
Referenced by UNavPaint::paintHistScan().
Get position as 3D relative to robot, when laser is positioned at laserPos - assuming same orientation
References getAngle(), getDistance(), UPosition::x, and UPosition::y.
Referenced by getTilt(), UPaintLaserScan::makeScanCloud(), UNavPaint::paintHistScan(), and UNavPaint::paintScanNewest().
Get position in robot coordinates using full pose set
References getAngle(), getDistance(), UPosition::x, UPosition::y, and UPosition::z.
|
inline |
get number of measdurements at this angle
References rangeCnt.
Referenced by UNavPaint::paintHistScan(), and UNavPaint::paintScanNewest().
|
inline |
Get measurement deviation to the left
References varL.
|
inline |
Get measurement variance to the right
References getPosition(), print(), setFromTag(), and tilt.
|
inline |
Get measurement variance to the left
References varL.
|
inline |
Is measurement valid
References range, and rangeCnt.
Referenced by UPaintLaserScan::makeScanCloud(), UNavPaint::paintHistScan(), UNavPaint::paintScanNewest(), and print().
void UClientLaserData::print | ( | char * | preString | ) |
Print values of this measurement
References angle, bool2str(), isValid(), and range.
Referenced by ULaserDataSet::getLaserTilt(), getTilt(), and ULaserDataSet::print().
bool UClientLaserData::setFromTag | ( | USmlTag * | tag | ) |
Set values from a message tag
References angle, flag, USmlTagIn::getNextAttribute(), MAX_SML_NAME_LENGTH, range, rangeCnt, tilt, and varL.
Referenced by getTilt(), and UResLaserIfScan::handleLaserScan().
void UClientLaserData::setValue | ( | double | ang, |
unsigned char | lsb, | ||
unsigned char | msb, | ||
double | measurementUnits | ||
) |
Set values from 2-byte data
References angle, flag, range, and rangeCnt.
Referenced by UResLaserIfScan::handleLaserScan().
void UClientLaserData::setValue | ( | double | ang, |
int | set, | ||
int | rng | ||
) |
Set values from LIST structure
ang | is angle in degrees (used for set 0 only) |
set | is number of range set - must be loaded in set order, as set 0 will reset the measurement at this angle. NB! no limit test for set - must be within [0..4]. |
rng | is range measurement in mm |
|
private |
Angle of measurement in radians
Referenced by getAngle(), print(), setFromTag(), and setValue().
|
private |
Measuremnt is in zone A or otherwise
Referenced by getFlag(), setFromTag(), setValue(), and UClientLaserData().
|
private |
Distance in meter
Referenced by getDistance(), isValid(), print(), setFromTag(), and setValue().
|
private |
number of used ranges
Referenced by getRangeCnt(), isValid(), setFromTag(), setValue(), and UClientLaserData().
|
private |
tilt of line-fit
Referenced by getTilt(), and setFromTag().
|
private |
Variance
Referenced by getSdL(), getVarL(), and setFromTag().