AURobotServers
4
|
#include <uresnavifman.h>
Public Member Functions | |
UPose * | getPoses () |
int | getPosesCnt () |
char * | getSegChars () |
ULineSegment * | getSegs () |
int | getSegsCnt () |
UTime | getUpdTime () |
bool | isBest () |
bool | isPathFailed () |
bool | setFromTag (USmlTag *tag) |
UClientManSeq () | |
virtual | ~UClientManSeq () |
Public Member Functions inherited from UManSeq | |
bool | addMan (UPoseV fromPose, UPoseV toPose, double maxAcc, double maxTurnAcc, double minTurnRad, double *okVel=NULL) |
bool | addManDriveon (UPoseV fromPose, UPoseV toPose, double turnRad) |
UManPPSeq * | addP2P () |
bool | copy (UManSeq *source) |
bool | expandMan (UPoseV fromPose, UPoseV toPose, bool last, double maxAcc, double maxTurnAcc, double minTurnRad, UManPPSeq *ppSeq, double *okVel) |
bool | expandManDriveon (UPoseV fromPose, UPoseV toPose, double turnRad, UManPPSeq *ppSeq) |
void | fprint (FILE *fd, const char *prestr) |
void | freeAll () |
virtual const char * | getDataType () |
double | getDeviationFromDirect () |
double | getDistance () |
double | getDistanceFromEndPoseLine (double *maxHeading) |
Calculate the distance from the end-pose line to the point on the manoeuvre furthest away from the line. Only the start/end points of each manoeuvere is used, so if one of the pose to pose manoeuvres has an almost full circle, then the circle is not counted. More... | |
double | getDistanceXYSigned (UPosition pos, int *where, bool posIsRight, double maxDist, UPose *pHit, int *idx, double *t) |
UPoseV | getEndPoseV () |
double | getMaxTurnArc () |
double | getMinDistanceXYSigned (ULineSegment *seg, int *whereOnSeg, UPosition *posOnSeg, bool posIsRight, double maxDist, int *whereOnMan, UPose *poseOnMan, int *idx) |
double | getNeededAcc (double startVel, double endVel, double distance) |
double | getNeededDist (double startVel, double endVel, double acc) |
UManoeuvre * | getNewArc (double radius, double angle, bool left, double acceleration, double targetVel) |
UManoeuvre * | getNewArc (double radius, double angle, double acceleration, double targetVel) |
UManoeuvre * | getNewLine (double dist, double acceleration, double targetVel) |
UManoeuvre * | getNewStop () |
UManPPSeq * | getP2P (int idx) |
int | getP2PCnt () |
UPoseV | getPoseV (double atManTime) |
UPoseV | getStartPoseV () |
double | getTime () |
bool | isValid () |
const char * | print (const char *prestr, char *buff, const int buffCnt) |
void | releaseAll (UManPPSeq *ppseq) |
void | releaseAllMan () |
void | releaseLast () |
void | removeLastArc () |
bool | replaceMan (UPoseV midPose, bool fixate, double maxAcc, double maxTurnAcc, double minTurnRad, int fromIdx, int toIdx, bool newEndpoint, double *okVel) |
bool | replaceManDriveon (UPoseV midPose, bool fixate, double turnRad, int fromIdx, int toIdx, bool newEndpoint) |
int | reusableCnt () |
void | truncate (UManPPSeq *ppseq, int newCnt) |
UManSeq () | |
~UManSeq () | |
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 UDataBase | |
bool | isA (const char *typeString) |
virtual bool | isAlsoA (const char *typeString) |
virtual void | snprint (const char *preString, char *buff, const int buffCnt) |
UDataBase () | |
virtual | ~UDataBase () |
Protected Attributes | |
bool | isACrash |
bool | pathUsed |
UPose | poses [MAX_TESTED_POSES] |
int | posesCnt |
ULineSegment | segs [MAX_TESTED_LINES] |
char | segsChar [MAX_TESTED_LINES] |
int | segsCnt |
UTime | updTime |
Protected Attributes inherited from UManSeq | |
UManPPSeq * | p2p [MAX_PP_MAN_CNT] |
int | p2pCnt |
Static Protected Attributes | |
static const int | MAX_TESTED_LINES = 500 |
static const int | MAX_TESTED_POSES = 50 |
Static Protected Attributes inherited from UManSeq | |
static const int | MAX_PP_MAN_CNT = 100 |
Additional Inherited Members | |
Protected Member Functions inherited from UManSeq | |
bool | expandAddManALA (UManPPSeq *ppSeq, bool last, double maxAcc, double maxTurnAcc, double *okVel) |
bool | expandAddManLALA (UManPPSeq *ppSeq, bool last, double maxAcc, double maxTurnAcc, double minTurnRad) |
void | release (UManoeuvre *toRelease) |
UManoeuvre * | requestObj (int manType) |
Class extended from UManSeq to hold added information, when used on client side for display purposes.
|
inline |
|
inlinevirtual |
Destructor
|
inline |
get first of mid-poses tested in generation of path
References poses.
Referenced by UNavPaint::paintManData().
|
inline |
Get number of available poses on poses array
References posesCnt.
Referenced by UNavPaint::paintManData().
|
inline |
Get character array wit tope information on the line segments associiated with this path
References segsChar.
Referenced by UNavPaint::paintManData().
|
inline |
get first of mid-poses tested in generation of path
References segs.
Referenced by UNavPaint::paintManData().
|
inline |
Get number of available poses on poses array
References segsCnt.
Referenced by UNavPaint::paintManData().
|
inline |
Get the manoeuvre update time
Referenced by UPaintManoeuvre::addManToViewer(), and UPaintManoeuvres::paintManData().
|
inline |
Is this sequence the best (the used) path
References pathUsed, and setFromTag().
Referenced by UPaintManoeuvre::addManToViewer(), UResNavIfMan::handleManData(), and UNavPaint::paintManData().
|
inline |
Is path crashed in the planning process, i.e. did not find a obstacle free route to the destination pose.
References isACrash.
Referenced by UNavPaint::paintManData().
bool UClientManSeq::setFromTag | ( | USmlTag * | tag | ) |
Set this manoeuvre sequence from this tag - and subsequent tags
References USmlTagIn::getAttValue(), USmlTag::getLineSegment(), USmlTag::getManSeq(), USmlTagIn::getNextAttribute(), USmlTag::getNextTag(), USmlTag::getPose(), USmlTagIn::getTagName(), isACrash, USmlTagIn::isAStartTag(), USmlTagIn::isTagA(), USmlTagIn::isTagAnEnd(), MAX_SML_NAME_LENGTH, MAX_TESTED_LINES, MAX_TESTED_POSES, pathUsed, poses, posesCnt, UManSeq::releaseAllMan(), USmlTagIn::reset(), segs, segsChar, segsCnt, UTime::setTimeTod(), USmlTag::skipToEndTag(), str2bool(), and updTime.
Referenced by UResNavIfMan::handleManData(), and isBest().
|
protected |
Manoeuvre flag for a crashed path - probably just partially completed until an impossible passage were discovered, but may be available for analysis purposes.
Referenced by isPathFailed(), setFromTag(), and UClientManSeq().
|
staticprotected |
Maximum number of tested lines in generation of this path
Referenced by setFromTag().
|
staticprotected |
Maximum number of tested poses in generation of this path
Referenced by setFromTag().
|
protected |
Flag to say that this path is the selected best path
Referenced by isBest(), and setFromTag().
|
protected |
Poses tested during generation of path
Referenced by getPoses(), and setFromTag().
|
protected |
Valid route points
Referenced by getPosesCnt(), and setFromTag().
|
protected |
No-visibility segments and tangents used when generating this path
Referenced by getSegs(), and setFromTag().
|
protected |
A character for each segment to be able to discriminate in display. The first character in the name segment is stored here.
Referenced by getSegChars(), and setFromTag().
|
protected |
Number of generated segmnents in avoidance process
Referenced by getSegsCnt(), and setFromTag().
|
protected |
Update time
Referenced by setFromTag().