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

#include <ulaserobst.h>

Public Member Functions

bool findEdgeObstacle (int refIdx, bool toTheLeft, ULaserScan *scanRef, ULaserPi *neighbourPi)
 
ULaserPigetClosebyPi ()
 
double getClosebyPiDist ()
 
int getIndexMax ()
 
int getLeftIndex ()
 
ULineSegmentgetLineSegment ()
 
double getLineSegmentVar ()
 
int getRightIndex ()
 
bool isValid ()
 
void moveToMap (UPose odoPose)
 
void setInvalid ()
 
 ULaserObst ()
 
 ~ULaserObst ()
 

Private Attributes

UPosition center
 
ULaserPiclosePi
 
double closePiDist
 
int leftIdx
 
ULineSegment lineFit
 
double lineFitVariance
 
int rightIdx
 
ULaserScanscan
 

Detailed Description

Class that holds an obstacle as seen by the lase scanner

Author
Christian Andersen

Constructor & Destructor Documentation

ULaserObst::ULaserObst ( )

Constructor

References leftIdx, lineFitVariance, and rightIdx.

ULaserObst::~ULaserObst ( )

Destructor

Member Function Documentation

bool ULaserObst::findEdgeObstacle ( int  refIdx,
bool  toTheLeft,
ULaserScan scanRef,
ULaserPi neighbourPi 
)
ULaserPi * ULaserObst::getClosebyPi ( )

Get distance to closeby passable interval

References closePi.

Referenced by getClosebyPiDist().

double ULaserObst::getClosebyPiDist ( )
inline

Get distance to closeby passable interval

References closePiDist, and getClosebyPi().

int ULaserObst::getIndexMax ( )

Get max index into laserscan

References ULaserScan::getDataMax(), and scan.

Referenced by getLeftIndex().

int ULaserObst::getLeftIndex ( )
inline

Get left index into laserscan

References getIndexMax(), and leftIdx.

Referenced by ULaserPi::findEdgeObstacles().

ULineSegment* ULaserObst::getLineSegment ( )
inline

Get pointer to fitted line segment

References lineFit.

double ULaserObst::getLineSegmentVar ( )
inline

Get variance for fitted line

References lineFitVariance, and moveToMap().

int ULaserObst::getRightIndex ( )
inline

Get right index into laserscan

References rightIdx.

Referenced by ULaserPi::findEdgeObstacles().

bool ULaserObst::isValid ( )

Is obstacle valid

References leftIdx, and scan.

Referenced by ULaserPi::moveToMap().

void ULaserObst::moveToMap ( UPose  odoPose)

Move coordinates from robot to map coordinates, using this pose

References center, ULineSegment::getOtherEnd(), UPose::getPoseToMap(), lineFit, ULine::pos, and ULineSegment::setFromPoints().

Referenced by getLineSegmentVar(), and ULaserPi::moveToMap().

void ULaserObst::setInvalid ( )
inline

Make obstacle invalid

References leftIdx.

Member Data Documentation

UPosition ULaserObst::center
private

Center of obstacle

Referenced by findEdgeObstacle(), and moveToMap().

ULaserPi* ULaserObst::closePi
private

Is this edge just another passable interva then this pointer is to the other PI

Referenced by findEdgeObstacle(), and getClosebyPi().

double ULaserObst::closePiDist
private

Distance to end of neighbohs end position

Referenced by findEdgeObstacle(), and getClosebyPiDist().

int ULaserObst::leftIdx
private

leftmost laser measurement of obstacle

Referenced by findEdgeObstacle(), getLeftIndex(), isValid(), setInvalid(), and ULaserObst().

ULineSegment ULaserObst::lineFit
private

Line segment best fitting the obstacle

Referenced by findEdgeObstacle(), getLineSegment(), and moveToMap().

double ULaserObst::lineFitVariance
private

Line fit variance

Referenced by findEdgeObstacle(), getLineSegmentVar(), and ULaserObst().

int ULaserObst::rightIdx
private

rightmost laser measurement of obstacle

Referenced by findEdgeObstacle(), getRightIndex(), and ULaserObst().

ULaserScan* ULaserObst::scan
private

Reference to the scan detected the obstacle

Referenced by findEdgeObstacle(), getIndexMax(), and isValid().


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