Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

OSCAR::ObAvInfo Class Reference
[ObstacleAvoidance]

Holds results of manipulator-obstacle distance calculations. More...

#include <WorkCell.hpp>

Inheritance diagram for OSCAR::ObAvInfo:

Inheritance graph
[legend]
List of all members.

Public Methods

 ObAvInfo ()
 ObAvInfo (const WorkCell &cont, unsigned int armIndex=0)
virtual ~ObAvInfo ()
bool Create (unsigned int armIndex, const WorkCell &cont)
const ObAvInfo & operator= (const ObAvInfo &rhs)
bool Copy (const ObAvInfo &rhs)
double AbsMinDist (unsigned int &linkIndex, unsigned int &obstIndex) const
double AbsMinDistD1 (unsigned int linkIndex, unsigned int obstIndex, const Vector &jointVel) const
double AbsMinDistD2 (unsigned int linkIndex, unsigned int obstIndex, const Vector &jointVel, const Vector &jointAccel) const
double MinLinkDist (unsigned int index, unsigned int &obstIndex) const
double AvgDistanceRecip () const
double AvgDistanceD1 (const Vector &jointVel) const
double AvgDistanceD2 (const Vector &jointVel, const Vector &jointAccel) const
bool Resize ()

Public Attributes

TensorG_of_Dist
vector< Tensor * > H_of_Dist
MatrixMinDist
vector< vector< Vector3 > > RobotPts
vector< vector< Vector3 > > ObstaclePts
vector< vector< Vector3 > > DistHat
MatrixtArm
MatrixtObst
WorkCell::INFO_TYPE iType
unsigned int armIndex
unsigned int armLngth
bool createFlag
const WorkCellcontainer

Protected Methods

void releaseMem ()

Detailed Description

Author:
Troy Harden, Ethan Swint
ObAvInfo contain the witness points between manipulators and their surroundings, unit vectors pointing from the manipulator witness points, the magnitude of the distance between witness points, and the value of parameterization for witness points which are between endpoints. It may also contain the G and H functions for the points, depending on the information type.


Constructor & Destructor Documentation

OSCAR::ObAvInfo::ObAvInfo  
 

OSCAR::ObAvInfo::ObAvInfo const WorkCell   cont,
unsigned int    armIndex = 0
 

virtual OSCAR::ObAvInfo::~ObAvInfo   [virtual]
 


Member Function Documentation

double OSCAR::ObAvInfo::AbsMinDist unsigned int &    linkIndex,
unsigned int &    obstIndex
const
 

Returns the minimum distance from arm to obstacles This function finds the minimum distance from the arm to any obstacle and copies the relevant information into the arguments.

Parameters:
linkIndex Upon return, the index of the link closest to an obstacle
obstIndex Upon return, the index of the obstacle closest to the arm
Returns:
The magnitude of the minimum distance from the arm to a link

double OSCAR::ObAvInfo::AbsMinDistD1 unsigned int    linkIndex,
unsigned int    obstIndex,
const Vector   jointVel
const
 

Returns the minimum distance from arm to obstacles, copies relevant information This function finds the minimum distance from the arm to any obstacle and copies the relevant information into the arguments.

Parameters:
linkIndex The index of the link closest to an obstacle
obstIndex The index of the obstacle closest to the arm
jointVel joint velocities stored in Vector of length DOF
Returns:
The first derivative magnitude of the minimum distance from the arm to a link

double OSCAR::ObAvInfo::AbsMinDistD2 unsigned int    linkIndex,
unsigned int    obstIndex,
const Vector   jointVel,
const Vector   jointAccel
const
 

Returns the minimum distance from arm to obstacles, copies relevant information This function finds the minimum distance from the arm to any obstacle and copies the relevant information into the arguments.

Parameters:
linkIndex The index of the link closest to an obstacle
obstIndex The index of the obstacle closest to the arm
jointVel Joint velocities stored in Vector of length DOF
jointAccel Joint accelerations stored in Vector of length DOF
Returns:
The second derivative magnitude of the minimum distance from the arm to a link

double OSCAR::ObAvInfo::AvgDistanceD1 const Vector   jointVel const
 

Calculates the average first derivatives of the of the distances between every link-obstacle pair.

Returns:
1/(num link-obstacle pairs) * sum(link-obstacle velocity)

double OSCAR::ObAvInfo::AvgDistanceD2 const Vector   jointVel,
const Vector   jointAccel
const
 

Calculates the average of the second derivatives of the of the distances between every link-obstacle pair.

Returns:
1/(num link-obstacle pairs) * sum(link-obstacle acceleration)

double OSCAR::ObAvInfo::AvgDistanceRecip   const
 

Calculates the average of the reciprocals of the distances between every link-obstacle pair.

Returns:
1/(num link-obstacle pairs) * sum(1/(link-obstacle distance)

bool OSCAR::ObAvInfo::Copy const ObAvInfo &    rhs
 

bool OSCAR::ObAvInfo::Create unsigned int    armIndex,
const WorkCell   cont
 

Create the ObAvInfo object This function is used to allocate arrays that store minimum distances, unit vectors along min dist lines, closest points on obstacles, closest points on robots, and G functions of minimum distances.

Returns:
1 if successful
Parameters:
armIndex Index of arm
cont The obstacle avoidance workspace associated with this object.

double OSCAR::ObAvInfo::MinLinkDist unsigned int    index,
unsigned int &    obstIndex
const
 

Returns the minimum distance from given link to obstacles This function finds the minimum distance from the arm to any obstacle and copies the relevant information into the arguments.

Parameters:
index Index of the link
obstIndex Upon return, index of the obstacle closest to the arm
Returns:
Magnitude of the minimum distance from the arm to a link

const ObAvInfo& OSCAR::ObAvInfo::operator= const ObAvInfo &    rhs
 

void OSCAR::ObAvInfo::releaseMem   [protected]
 

bool OSCAR::ObAvInfo::Resize  
 

Synchronizes the size of the data members to the current state of the WorkCell.


Member Data Documentation

unsigned int OSCAR::ObAvInfo::armIndex
 

unsigned int OSCAR::ObAvInfo::armLngth
 

const WorkCell* OSCAR::ObAvInfo::container
 

bool OSCAR::ObAvInfo::createFlag
 

vector<vector<Vector3> > OSCAR::ObAvInfo::DistHat
 

Tensor* OSCAR::ObAvInfo::G_of_Dist
 

vector<Tensor*> OSCAR::ObAvInfo::H_of_Dist
 

WorkCell::INFO_TYPE OSCAR::ObAvInfo::iType
 

Matrix* OSCAR::ObAvInfo::MinDist
 

vector<vector<Vector3> > OSCAR::ObAvInfo::ObstaclePts
 

vector<vector<Vector3> > OSCAR::ObAvInfo::RobotPts
 

Matrix* OSCAR::ObAvInfo::tArm
 

Matrix * OSCAR::ObAvInfo::tObst
 


The documentation for this class was generated from the following file:
RRG Homepage OSCAR Overview OSCAR Tutorials Simulations