AURobotServers  4
Public Member Functions | Public Attributes | List of all members
ULaserPoint Class Reference

#include <ulaserpoint.h>

Public Member Functions

UPassQual getQ ()
 
bool isValid ()
 
void setPosRA (double range, double angle, double laserTilt, double sensorHeight, bool rngValid)
 
void setPosXYZ (double x, double y, double z, double rng, bool rngValid)
 
void setQ (UPassQual value)
 
 ULaserPoint ()
 
 ~ULaserPoint ()
 

Public Attributes

double distLeft
 
double distLeftPkt
 
double distRight
 
double distRightPkt
 
UPassQual passQ
 
UPosition pos
 
double range
 
bool rangeValid
 
double tilt
 
double varL
 
U2Dline varLine
 
int varToL
 

Detailed Description

Class that holds one laser scanner measurement point and the classification category

Constructor & Destructor Documentation

ULaserPoint::ULaserPoint ( )

Constructor

References passQ, and PQ_NOT.

ULaserPoint::~ULaserPoint ( )

Constructor

Member Function Documentation

UPassQual ULaserPoint::getQ ( )
inline

Get passable quality - one of PQ_EASY, PQ_ROUGH, PQ_NOT, ...

References passQ.

Referenced by ULaserScan::findNearObstacles(), and ULaserScan::getQ().

bool ULaserPoint::isValid ( )
inline

Is the laser range valid - i.e. not dazzeled and not morrored too far away

Referenced by ULaserScan::countValidPoints(), ULaserObst::findEdgeObstacle(), ULaserScan::findNearObstacles(), UResPassable::makePassableIntervals2(), and ULaserScan::setVariance().

void ULaserPoint::setPosRA ( double  range,
double  angle,
double  laserTilt,
double  sensorHeight,
bool  rngValid 
)

Set laser point from basic information. angle is in radians and 0.0 is forward, and positive is CCV. LaserTilt is in radians and negative value relative to horizontal. range is in meter, sensor height in meter. Sets set position relative to sensor position but adjusted using sensor tilt (Phi - around Y-axis) and height only.

References pos, range, rangeValid, and UPosition::set().

Referenced by setPosXYZ().

void ULaserPoint::setPosXYZ ( double  x,
double  y,
double  z,
double  rng,
bool  rngValid 
)
inline

Set measurement in known koordinates.

References pos, range, rangeValid, UPosition::set(), and setPosRA().

void ULaserPoint::setQ ( UPassQual  value)
inline

Set passable quality - one of PQ_EASY, PQ_ROUGH, PQ_NOT ...

References passQ.

Referenced by UResPassable::findTopOfRoad(), and ULaserScan::setQ().

Member Data Documentation

double ULaserPoint::distLeft

Signed distance from fittet line of (last valid) left-most position (varToL)

Referenced by UResPassable::makePassableIntervals2(), and ULaserScan::setVariance().

double ULaserPoint::distLeftPkt

distance between last two points in interval on the left side

Referenced by ULaserScan::setVariance().

double ULaserPoint::distRight

Signed distance from fittet line of (last valid) right-most position (this)

Referenced by UResPassable::makePassableIntervals2(), and ULaserScan::setVariance().

double ULaserPoint::distRightPkt

Distance between this point and the previous (to the right)

Referenced by ULaserScan::setVariance().

UPassQual ULaserPoint::passQ
UPosition ULaserPoint::pos
double ULaserPoint::range
bool ULaserPoint::rangeValid

Is range measurement valid

Referenced by setPosRA(), and setPosXYZ().

double ULaserPoint::tilt

Curve tilt in degrees, set from edge points. NB! set from peacewise line fit, and line-fit is not valid close top 90 deg.

Referenced by UResPassable::makePassableIntervals2(), UFunctionPassable::sendFullScan(), and ULaserScan::setVariance().

double ULaserPoint::varL
U2Dline ULaserPoint::varLine

Variance around here (fixed mask) Line fit for points to and including 'varToL'

Referenced by ULaserScan::setVariance().

int ULaserPoint::varToL

variance is calculated to this right point (max-min range measurements are not used)

Referenced by ULaserScan::getRight(), ULaserScan::getVarRight(), UResPassable::makePassableIntervals2(), and ULaserScan::setVariance().


The documentation for this class was generated from the following files: