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

#include <uclientfunclaser.h>

Inheritance diagram for UClientFuncLaser:
Inheritance graph

Public Member Functions

virtual void changedNamespace (const char *newNamespace)
 
virtual const char * commandList ()
 
virtual void handleNewData (USmlTag *tag, const char *ifname)
 
virtual const char * name ()
 
 UClientFuncLaser ()
 
virtual ~UClientFuncLaser ()
 
- Public Member Functions inherited from UClientFuncBase
virtual void doTimeTick ()
 
int getMsgCnt ()
 
bool getVerbose ()
 
bool sendMsg (UClientPortSml *cnn, const char *buff, int buffCnt)
 
bool sendMsg (UClientPortSml *cnn, const char *buff)
 
void setVerbose (bool value)
 
 UClientFuncBase ()
 
virtual ~UClientFuncBase ()
 

Protected Member Functions

UTime getLaserTime (int histNum)
 
virtual bool gotNewData (ULaserDataSet *scan)
 
virtual bool gotNewEkfData ()
 
virtual bool gotNewFreePolyData ()
 
virtual bool gotNewPathData ()
 
virtual bool gotNewPlanData ()
 
void setPose (UPoseTime poseTime)
 
void setPoseIfNewer (UPose pose, UTime t)
 
- Protected Member Functions inherited from UClientFuncBase
void handleHelp (USmlTag *tag)
 
void printReply (USmlTagIn *tag, const char *preString)
 

Protected Attributes

UPosition ciGoal
 
UPose ekfPose
 
UTime ekfTime
 
int ekfuSkipd
 
int ekfuUsed
 
UProbPoly freePoly [MAX_FREE_POLY_HIST]
 
int freePolyCnt
 
int freePolyNewest
 
UPosRot laserPose
 
UPoseTime odoPose
 
ULaserPathResultpaths [MAX_NEW_PATH_CANDIDATES]
 
int pathsCnt
 
UPlannerData planner
 
UPoseTime poseHist [MAX_POSE_HIST]
 
int poseHistCnt
 
int poseHistNewest
 
ULaserDataHistory scanHist
 
UPose toPose
 
ULaserWpc wpcData
 
- Protected Attributes inherited from UClientFuncBase
int msgHandled
 
char serverNamespace [MAX_SML_NAME_LENGTH]
 
int serverNamespaceValue
 
bool verboseMessages
 

Private Member Functions

bool handleControlIntervals (USmlTag *ciTag)
 
bool handleEkf (USmlTag *tag)
 
bool handleGetComplexData (USmlTag *tag)
 
bool handleLaserScan (USmlTag *tag)
 
bool handleOdo (USmlTag *tag)
 
bool handlePath (USmlTag *tag)
 
bool handlePlan (USmlTag *tag)
 
bool handleVarData (USmlTag *tag)
 
bool handleWpc (USmlTag *tag)
 
bool handleWpf (USmlTag *ciTag)
 

Additional Inherited Members

- Public Attributes inherited from UClientFuncBase
ULock decodeLock
 

Detailed Description

Support for laser scanner results

Author
Christian Andersen

Constructor & Destructor Documentation

UClientFuncLaser::UClientFuncLaser ( )
UClientFuncLaser::~UClientFuncLaser ( )
virtual

Destructor

References MAX_NEW_PATH_CANDIDATES, and paths.

Member Function Documentation

void UClientFuncLaser::changedNamespace ( const char *  newNamespace)
virtual
const char * UClientFuncLaser::commandList ( )
virtual

Function, that shall return a string with all handled commands, i.e. should return "gmk gmk2d guidemark", if commands starting with any of these three keywords are handled by this function

Reimplemented from UClientFuncBase.

UTime UClientFuncLaser::getLaserTime ( int  histNum)
protected

get time of laser-data

References ULaserDataHistory::getScan(), ULaserDataSet::getTime(), and scanHist.

bool UClientFuncLaser::gotNewData ( ULaserDataSet scan)
protectedvirtual

Called when a new scan is received

Reimplemented in UClientFuncLaserGui.

References ULaserDataSet::print().

Referenced by handleLaserScan(), handleNewData(), handlePath(), and handleVarData().

bool UClientFuncLaser::gotNewEkfData ( )
protectedvirtual

Called when new ekf data is available

Referenced by handleEkf().

bool UClientFuncLaser::gotNewFreePolyData ( )
protectedvirtual

Got new polygon data with passable area. Newest data is in freePoly[freePolyNewest]

Referenced by handleGetComplexData().

bool UClientFuncLaser::gotNewPathData ( )
protectedvirtual

Called when new ekf data is available

References paths, and pathsCnt.

bool UClientFuncLaser::gotNewPlanData ( )
protectedvirtual

Called when new ekf data is available

Referenced by handlePlan().

bool UClientFuncLaser::handleControlIntervals ( USmlTag ciTag)
private

Handle control interval data

bool UClientFuncLaser::handleEkf ( USmlTag tag)
private
bool UClientFuncLaser::handleGetComplexData ( USmlTag tag)
private
bool UClientFuncLaser::handleLaserScan ( USmlTag tag)
private
void UClientFuncLaser::handleNewData ( USmlTag tag,
const char *  ifname 
)
virtual
bool UClientFuncLaser::handleOdo ( USmlTag tag)
private
bool UClientFuncLaser::handlePath ( USmlTag tag)
private
bool UClientFuncLaser::handlePlan ( USmlTag tag)
private
bool UClientFuncLaser::handleVarData ( USmlTag tag)
private
bool UClientFuncLaser::handleWpc ( USmlTag tag)
private
bool UClientFuncLaser::handleWpf ( USmlTag ciTag)
private
const char * UClientFuncLaser::name ( )
virtual

Name of function The returned name is intended as informative to clients and should include a version number

Reimplemented from UClientFuncBase.

Referenced by UClientFuncLaserGui::setScale().

void UClientFuncLaser::setPose ( UPoseTime  poseTime)
protected

Set pose and pose history

References MAX_POSE_HIST, odoPose, poseHist, poseHistCnt, and poseHistNewest.

Referenced by handlePath(), UClientFuncLaserGui::onEvent(), and setPoseIfNewer().

void UClientFuncLaser::setPoseIfNewer ( UPose  pose,
UTime  t 
)
protected

Add this to pose history if the time is newer than the newest

References poseHist, poseHistCnt, poseHistNewest, and setPose().

Referenced by handleLaserScan().

Member Data Documentation

UPosition UClientFuncLaser::ciGoal
protected

Goal position at current position in mission file

UPose UClientFuncLaser::ekfPose
protected

Estimated position by EKF

Referenced by handleEkf(), and UClientFuncLaserGui::paintEkfData().

UTime UClientFuncLaser::ekfTime
protected

Update time by ekf

Referenced by handleEkf(), and UClientFuncLaserGui::paintEkfData().

int UClientFuncLaser::ekfuSkipd
protected

EKF updates skipped

Referenced by handleEkf(), UClientFuncLaserGui::paintEkfData(), and UClientFuncLaser().

int UClientFuncLaser::ekfuUsed
protected

EKF updates skipped

Referenced by handleEkf(), UClientFuncLaserGui::paintEkfData(), and UClientFuncLaser().

UProbPoly UClientFuncLaser::freePoly[MAX_FREE_POLY_HIST]
protected
int UClientFuncLaser::freePolyCnt
protected

Used free poly hist entries

Referenced by UClientFuncLaserGui::doRepaint(), handleGetComplexData(), and UClientFuncLaser().

int UClientFuncLaser::freePolyNewest
protected
UPosRot UClientFuncLaser::laserPose
protected
UPoseTime UClientFuncLaser::odoPose
protected
ULaserPathResult* UClientFuncLaser::paths[MAX_NEW_PATH_CANDIDATES]
protected

Detected path data wihin the laser-scans in front of the robot

Referenced by UClientFuncLaserGui::doImage(), UClientFuncLaserGui::doRepaint(), gotNewPathData(), handlePath(), UClientFuncLaser(), and ~UClientFuncLaser().

int UClientFuncLaser::pathsCnt
protected
UPlannerData UClientFuncLaser::planner
protected
UPoseTime UClientFuncLaser::poseHist[MAX_POSE_HIST]
protected
int UClientFuncLaser::poseHistCnt
protected
int UClientFuncLaser::poseHistNewest
protected

Newest pose history index

Referenced by handleLaserScan(), UClientFuncLaserGui::paintOdoData(), setPose(), and setPoseIfNewer().

ULaserDataHistory UClientFuncLaser::scanHist
protected
UPose UClientFuncLaser::toPose
protected

Goal position for robot

Referenced by handleWpf().

ULaserWpc UClientFuncLaser::wpcData
protected

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