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

#include <upose.h>

Public Member Functions

void addPose (double x, double y, double h)
 
void clear ()
 
virtual const char * getDataType ()
 
UPose getPose ()
 
UPosegetpPose ()
 
UMatrix4getpQ ()
 
UMatrix4 getQ ()
 
UMatrix4getQi ()
 
UMatrix4makeQi ()
 
UPoseQ operator= (UPoseQ source)
 
void printPose (char *prestring)
 
void setPose (UPose iPose)
 
void setPose (double x, double y, double h)
 
void setQ (UMatrix4 *mQ)
 
 UPoseQ ()
 
 UPoseQ (UPoseQ *source)
 
virtual ~UPoseQ ()
 

Public Attributes

bool QiValid
 

Protected Attributes

double d
 
UPose pose
 
UMatrix4 Q
 
UMatrix4 Qi
 

Detailed Description

This classholds 2 2D position and orientation and the position uncertainty related to this position, i.e. [x,y,h]. The uncertainty is in the covariance matrix form (3x3)

Constructor & Destructor Documentation

UPoseQ::UPoseQ ( )

Constructor

UPoseQ::UPoseQ ( UPoseQ source)

Constructor as copy from other UPosRobQ

UPoseQ::~UPoseQ ( )
virtual

Destructor

Member Function Documentation

void UPoseQ::addPose ( double  x,
double  y,
double  h 
)
inline

Add to position estimate. NB! this do not change the covariance matrix.

void UPoseQ::clear ( void  )
inline

Set position and covariance to zero

virtual const char* UPoseQ::getDataType ( )
inlinevirtual

Get (end) type of this structure

UPose UPoseQ::getPose ( )
inline

Get estimated pose

Referenced by UMapObj::getPose().

UPose* UPoseQ::getpPose ( )
inline

Get pointer to pose

Referenced by UMapObj::getpPose().

UMatrix4* UPoseQ::getpQ ( )
inline

Get (pointer to) covariance matrix .

UMatrix4 UPoseQ::getQ ( )
inline

Get covariance matrix copy.

UMatrix4* UPoseQ::getQi ( )
inline

Get pointer to inverse of covariance matric. If not valid, then calculated. If not possible then Qi.err == -1. and QiValid is set to false.

UMatrix4 * UPoseQ::makeQi ( )

Generate inverse of Q. and calculated determinant d. If this is possible, then QiValid is set true, if not then QiValid is set to false.

References UMatrix4::det().

UPoseQ UPoseQ::operator= ( UPoseQ  source)
inline

Assignment operator. This is needed as the matrix holds a pointer, that needs to be moved.

References pose, Q, Qi, and QiValid.

void UPoseQ::printPose ( char *  prestring)
inline

Print pose in single line to console, with the provided prestring in front of data.

void UPoseQ::setPose ( UPose  iPose)
inline

Set position of only. NB! this do not change the covariance matrix.

void UPoseQ::setPose ( double  x,
double  y,
double  h 
)
inline

Set position of only. NB! this do not change the covariance matrix.

void UPoseQ::setQ ( UMatrix4 mQ)
inline

Set covariance matrix - and invalidate the inverse version

References UMatrix::init().

Member Data Documentation

double UPoseQ::d
protected

Determinant of Q, but only valid if QiValid is true.

UPose UPoseQ::pose
protected

Save this qualified pose to html-like file. Return true is saved. Load a poseQ from this xml-class. Returns true if read. Reports format error to xml-class. Position in [x,y,h] coordiantes, where x if forward (or north), y is left (or west) and h is heading (or normal mathematic angle in an x,y coordinate system)

Referenced by operator=().

UMatrix4 UPoseQ::Q
protected

Covariance matrix related to this position

Referenced by operator=().

UMatrix4 UPoseQ::Qi
protected

Inverse of the covariance matrix Q. But is only valid if QiValid is true.

Referenced by operator=().

bool UPoseQ::QiValid

Referenced by operator=().


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