AURobotServers  4
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
UResRoadLine Class Reference

#include <uresroadline.h>

Inheritance diagram for UResRoadLine:
Inheritance graph

Public Member Functions

void addRoadlineParameters ()
 
int getBestLine ()
 
int getCentIdx ()
 
int getLeftIdx ()
 
int getRightIdx ()
 
URoadLinegetRoadLine (int idx)
 
int getRoadsCnt ()
 
void postUpdate (unsigned int scan, UPoseTime *pose, bool moving)
 
virtual const char * print (const char *preString, char *buff, int buffCnt)
 
void update (unsigned long scan, ULaserPi *pis, int pisCnt, UPoseTime pose, UPosRot *sensorPose, double maxLineRange)
 
void updateRoadVariables (UPoseTime *pose)
 
 UResRoadLine ()
 
void UResRoadLineInit ()
 
virtual ~UResRoadLine ()
 
- Public Member Functions inherited from UResVarPool
int addMethod (const char *formalName, const char *paramTypes, const char *comment)
 
int addMethodV (const char *formalName, const char *paramTypes, const char *comment)
 
UVarPooladdStruct (const char *name, const char *comment, bool copy=false)
 
UVariableaddVar (const char *name, const double initialValue, const char *type, const char *comment)
 
UVariableaddVar (const char *name, const char *initialValue, const char *type, const char *comment)
 
UVariableaddVarA (const char *name, const char *initialValue, const char *type, const char *comment)
 
bool callGlobal (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct, int *returnStructCnt)
 
bool callGlobalV (const char *name, const char *paramOrder, UVariable **params, UDataBase **returnStruct, int *returnStructCnt)
 Call a method from the root var pool scope It may be in the structure direct (no '.') or in any sub-structure that the 'name.subname' indicate. More...
 
bool callLocal (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct, int *returnStructCnt)
 
bool callVS (const char *function, const char *stringParam)
 
int callVSCD (const char *function, const char *strPar, UDataBase *data, int cooSys)
 
void createBaseVar ()
 
virtual bool createVarSpace (const int varCnt, const int structCnt, const int methCnt, const char *note, bool copy=false)
 
bool getGlobalString (const char *name, const char **value)
 
bool getGlobalValue (const char *name, double *value)
 
bool getGlobalValue (const char *name, const char **value)
 
bool getGlobalValue (const char *name, bool *value)
 
bool getGlobalValue (const char *name, UTime *value)
 
bool getLocalValue (const char *name, double *value)
 get a value in this variable tree More...
 
bool getLocalValue (const char *name, bool *value)
 
bool getLocalValue (const char *name, UTime *value)
 
double getLocalValue (int idx)
 
UPosition getLocalValue3D (int idx)
 
UPosRot getLocalValue6D (int idx)
 
bool getLocalValueBool (int idx)
 
int getLocalValueInt (int idx)
 
UTime getLocalValueTime (int idx)
 
const char * getLogFileName ()
 
const char * getVarDescription (int idx)
 
UVarCalcgetVarPool ()
 
virtual bool gotAllResources (char *missingThese, int missingTheseCnt)
 
bool isLogFileOpen ()
 
bool isLogFileOpen (const char *structName)
 
bool isVarPoolUpdated (int lastCnt, int *newCnt)
 
void logFileClose ()
 
bool logFileOpen ()
 
void logFileStart (const char *structName, bool open)
 
virtual bool methodCall (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct=NULL, int *returnStructCnt=NULL)
 
bool setGlobalVar (const char *name, const double value, bool mayAdd)
 Assigns a value to a variable. The variable may be a part of a structure. More...
 
bool setLocalVar (int idx, double value, const int element)
 
bool setLocalVar (const char *name, const double value, bool mayAdd)
 Assigns a value to a variable. The variable may be a part of a structure. More...
 
bool setLocalVar3D (int idx, UPosition *value)
 
bool setLocalVar6D (int idx, UPosRot *value)
 
bool setLocalVarAdd (int idx, double value, const int element)
 
bool setLocalVarPose (int idx, UPose *value)
 
virtual bool setResource (UResBase *resource, bool remove)
 
void setVarPool (UVarCalc *sharedVarPool)
 
int updateQTvars (int structIdx)
 
 UResVarPool ()
 
virtual ~UResVarPool ()
 
- Public Member Functions inherited from UResBase
void createReplayVar (UVarPool *pool)
 
virtual void createResources ()
 
UCmdExegetCorePointer ()
 
char * getLogFileName (char *fn, const int fnCnt)
 
int getResFuncIdx ()
 
const char * getResID ()
 
int getResVersion ()
 
bool isA (const char *idStr)
 
bool isAlsoA (const char *id)
 
virtual void print (const char *preString)
 
virtual void saveSettings ()
 
void setCorePointer (UCmdExe *serverCore)
 
void setResFuncIdx (int idx)
 
virtual void setResID (const char *id, const int version)
 
virtual void stop (bool)
 
virtual void updateReplayStatus ()
 
 UResBase ()
 
virtual ~UResBase ()
 
- Public Member Functions inherited from UReplay
void addChild (UReplay *child)
 
virtual bool decodeReplayLine (char *)
 
char * getLogFileName (char *fn, const int fnCnt)
 
char * getReplayFileName (char *fn, const int fnCnt)
 
int getReplayLogLine ()
 
bool isReplay ()
 
bool isReplayFileOpen ()
 
void removeChild (UReplay *child)
 
virtual void replayAdvanceTime (UTime untilTime)
 
void replaySetBaseFileName (const char *name, const char *preName="")
 
void replaySetFileName (const char *name)
 
virtual bool replayStep ()
 
int replayStep (int steps)
 
virtual bool replayToTime (UTime untilTime)
 
void setParent (UReplay *parent)
 
bool setReplay (bool value)
 
 UReplay ()
 
virtual ~UReplay ()
 
- Public Member Functions inherited from ULock
bool lock ()
 
void lockInit ()
 
void post ()
 
bool tryLock ()
 
bool tryWait ()
 
 ULock ()
 
void unlock ()
 
bool wait ()
 
 ~ULock ()
 
- Public Member Functions inherited from UVarMethodImplement
virtual bool methodCallV (const char *name, const char *paramOrder, UVariable *params[], UDataBase **returnStruct, int *returnStructCnt)
 
virtual ~UVarMethodImplement ()
 

Static Public Member Functions

static const char * getResClassID ()
 
- Static Public Member Functions inherited from UResVarPool
static const char * getResClassID ()
 

Protected Member Functions

int findCurrentRoad (UPoseTime *pose)
 
void findCurrentRoad2 (UPoseTime *pose)
 
- Protected Member Functions inherited from UResVarPool
void setDescription (const char *note, bool copy=false)
 
- Protected Member Functions inherited from UResBase
UResBasegetStaticResource (const char *resName, bool mayCreate, bool staticOnly=true)
 get a pointer to a static resource. More...
 

Protected Attributes

int bestLine
 
double gain
 
UPoseTime odoPose
 
int roadCenterIdx
 
int roadLeftIdx
 
FILE * roadLog
 
int roadRightIdx
 
URoadLine roads [MAX_ROAD_LINES]
 
int roadsCnt
 
unsigned long roadSerial
 
UVariablevarPoolIdx [13]
 
- Protected Attributes inherited from UResBase
int resFuncIdx
 
char resID [MAX_RESOURCE_ID_LENGTH]
 
char resIsAlso [MAX_RESOURCE_ISALSO_LENGTH]
 
int resVersion
 
- Protected Attributes inherited from UReplay
bool replay
 
FILE * replayFile
 
char replayFileName [REPLAY_FILE_NAME_LENGTH]
 replay filename More...
 
char replayLine [MAX_LOG_LINE_LENGTH]
 
int replayLogLine
 
UReplayreplayParent
 
UTime replayTimeNext
 

Static Protected Attributes

static const int MAX_ROAD_LINES = 60
 
- Static Protected Attributes inherited from UReplay
static const int MAX_LOG_LINE_LENGTH = 10000
 
static const int REPLAY_FILE_NAME_LENGTH = 264
 max length of replay filename More...
 

Additional Inherited Members

- Public Attributes inherited from UReplay
bool replayTimeAdvancePending
 
UTime replayTimeNow
 

Detailed Description

This is the shared resource class. It must enherit from the resource base class (or one of its decendent) as shown.

Author
Christian Andersen

Constructor & Destructor Documentation

UResRoadLine::UResRoadLine ( )
inline
UResRoadLine::~UResRoadLine ( )
virtual

Destructor

Referenced by UResRoadLine().

Member Function Documentation

void UResRoadLine::addRoadlineParameters ( )

Add used parameter variables to the var pool

Referenced by getResClassID().

int UResRoadLine::findCurrentRoad ( UPoseTime pose)
protected

Search among detected road lines to find the most likely curent road, that is the best left edge to the left that has a significant update count. The best line is allowed to slightly on the wrong side of the robot. Returns index to the best of the three road lines

References UEdgeList::add(), UEdgeList::getBest(), URoadLine::getLine(), URoadLine::getLineType(), URoadLine::getQual(), URoadLine::getUpdateCnt(), ULine::getXYsignedDistance(), URoadLine::isValid(), UPosition::set(), UPose::x, and UPose::y.

Referenced by getRightIdx().

void UResRoadLine::findCurrentRoad2 ( UPoseTime pose)
protected
int UResRoadLine::getBestLine ( )
inline

Get index to best road line

References bestLine.

int UResRoadLine::getCentIdx ( )
inline

Get center road-line index. Returns -1 if no valid line is estimated

References roadCenterIdx.

Referenced by UFunctionPassable::sendRoadLines().

int UResRoadLine::getLeftIdx ( )
inline

Get left road-edge index. Returns -1 if no valid line is estimated

References roadLeftIdx.

Referenced by UFunctionPassable::sendRoadLines().

static const char* UResRoadLine::getResClassID ( )
inlinestatic

Fixed name of this resource type

References addRoadlineParameters(), print(), scan, and update().

Referenced by UResRoadLine().

int UResRoadLine::getRightIdx ( )
inline

Get right road-edge index. Returns -1 if no valid line is estimated

References findCurrentRoad(), findCurrentRoad2(), roadRightIdx, and updateRoadVariables().

Referenced by UFunctionPassable::sendRoadLines().

URoadLine* UResRoadLine::getRoadLine ( int  idx)
inline

Get pointer to road line element

References roads.

Referenced by UFunctionPassable::sendRoadLines().

int UResRoadLine::getRoadsCnt ( )
inline

Get number of established road lines

References postUpdate(), and roadsCnt.

Referenced by UFunctionPassable::sendRoadLines().

void UResRoadLine::postUpdate ( unsigned int  scan,
UPoseTime pose,
bool  moving 
)

Update all lines that has not received an update, that is drop unmaintained lines

References URoadLine::isValid(), and URoadLine::postUpdate().

Referenced by getRoadsCnt().

const char * UResRoadLine::print ( const char *  preString,
char *  buff,
int  buffCnt 
)
virtual

Fixed varsion number for this resource type. Should follow release version, i.e. version 1.28 gives number 128. Should be incremented only when there is change to this class definition, i.e new or changed functions or variables. print status to a string buffer

Reimplemented from UResVarPool.

Referenced by getResClassID().

void UResRoadLine::update ( unsigned long  scan,
ULaserPi pis,
int  pisCnt,
UPoseTime  pose,
UPosRot sensorPose,
double  maxLineRange 
)
void UResRoadLine::updateRoadVariables ( UPoseTime pose)
void UResRoadLine::UResRoadLineInit ( )

Initialize class

References dataPath.

Referenced by UResRoadLine().

Member Data Documentation

int UResRoadLine::bestLine
protected

Currently best line

Referenced by getBestLine().

double UResRoadLine::gain
protected

Initial gain for road line update

const int UResRoadLine::MAX_ROAD_LINES = 60
staticprotected

MAX number of available road lines

UPoseTime UResRoadLine::odoPose
protected

robot pose (last)

int UResRoadLine::roadCenterIdx
protected

Index to (best estimated) center road line

Referenced by getCentIdx().

int UResRoadLine::roadLeftIdx
protected

Index to (best estimated) left road line

Referenced by getLeftIdx().

FILE* UResRoadLine::roadLog
protected

File handle for road log

int UResRoadLine::roadRightIdx
protected

Index to (best estimated) right road line

Referenced by getRightIdx().

URoadLine UResRoadLine::roads[MAX_ROAD_LINES]
protected

Lines

Referenced by getRoadLine().

int UResRoadLine::roadsCnt
protected

Last used road line

Referenced by getRoadsCnt().

unsigned long UResRoadLine::roadSerial
protected

Next serial number for road lines

UVariable* UResRoadLine::varPoolIdx[13]
protected

Index to road distance var pool variables


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