IK_ACA Class Reference

#include <planners/ik_aca/IK_ACA.h>

Inherits IK_InvKinBase, and PL_GraphBase.

Inheritance diagram for IK_ACA:

Inheritance graph
[legend]
Collaboration diagram for IK_ACA:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 IK_ACA ()
virtual ~IK_ACA ()
virtual bool DrawExplicit () const
virtual bool Load (const char *filename)
virtual bool Plan ()
virtual bool Save (const char *filename) const
virtual void SetStartConfig (const Configuration &configuration)
virtual void SetGoalConfig (const Configuration &configuration)
void SetEmbryosPerLandmark (const int &num_of_embryos)
int GetEmbryosPerLandmark () const
virtual void SetCollisionDetector (CollisionDetectorBase *collisionDetector)
virtual void CopySettings (PlannerBase *original)

Protected Member Functions

virtual void AssignGoalConfig (const Configuration &config)
virtual bool SaveContents (std::ofstream &outfile) const
virtual bool LoadContents (std::ifstream &infile)
virtual bool DrawSpecific () const
virtual void InitNewSearch ()
virtual double FrameDistance (const Matrix4x4 &frameA, const Matrix4x4 &frameB) const
SuccessResultType ComputePath (const node &landmark, const list< Configuration > &myPath)
node Explore ()
SuccessResultType Search (const node &landmark)
SuccessResultType Search1 (const node &landmark)
VectorN ComputeEndEffDiff (Matrix4x4 &frStart, Matrix4x4 &frEnd)
Configuration GetNextConfig (Configuration &q0)
double FindJointAdjust (const unsigned int &jointNum, const Matrix4x4 &toolFrame) const
Configuration MinimizeDistance (const Configuration &config, list< Configuration > &minPath)
void CreateEmbryo (const node &landmark, const int &embryoID)
void CreateEmbryos (const node &landmark)

Protected Attributes

node_map< Configuration > * embryo
list< ConfigurationsearchPath

Private Member Functions

void InitBestParams ()

Private Attributes

int embryosPerLandmark
node searchLandmark
node bestLandmark
list< ConfigurationbestPath
double bestDistance_sq
int m_FrameID
CJacobianjacobian

Detailed Description

Definition at line 33 of file IK_ACA.h.


Constructor & Destructor Documentation

IK_ACA::IK_ACA  ) 
 

Definition at line 56 of file IK_ACA.cpp.

References DEFAULT_EMBRYOS_PER_NODE, embryo, embryosPerLandmark, FILEEXT, PL_GraphBase::fileext, FILEHEADER, PL_GraphBase::fileheader, and PL_GraphBase::G.

IK_ACA::~IK_ACA  )  [virtual]
 

Definition at line 85 of file IK_ACA.cpp.

References embryo.


Member Function Documentation

void IK_ACA::AssignGoalConfig const Configuration config  )  [protected, virtual]
 

Reimplemented from IK_InvKinBase.

Definition at line 476 of file IK_ACA.cpp.

References IK_InvKinBase::AssignGoalConfig(), embryo, embryosPerLandmark, PL_GraphBase::goalNode, and PL_GraphBase::SetGoalConfig().

Referenced by ComputePath().

Here is the call graph for this function:

VectorN IK_ACA::ComputeEndEffDiff Matrix4x4 frStart,
Matrix4x4 frEnd
[protected]
 

Definition at line 829 of file IK_ACA.cpp.

References Matrix4x4::Inverse(), VectorN::SetLength(), and Matrix4x4::values.

Referenced by GetNextConfig().

Here is the call graph for this function:

SuccessResultType IK_ACA::ComputePath const node &  landmark,
const list< Configuration > &  myPath
[protected]
 

Definition at line 1312 of file IK_ACA.cpp.

References PA_Points::AppendPoint(), AssignGoalConfig(), PL_GraphBase::ClearGraphPath(), PL_GraphBase::G, PL_GraphBase::graphPath, PL_Boolean_Output::path, PL_GraphBase::startNode, and PL_GraphBase::TranslatePath().

Referenced by Plan().

Here is the call graph for this function:

void IK_ACA::CopySettings PlannerBase original  )  [virtual]
 

Reimplemented from IK_InvKinBase.

Definition at line 514 of file IK_ACA.cpp.

References PL_GraphBase::CopySettings(), IK_InvKinBase::CopySettings(), embryosPerLandmark, InitNewSearch(), and SetEmbryosPerLandmark().

Referenced by ServerBase::RefreshPlanner().

Here is the call graph for this function:

void IK_ACA::CreateEmbryo const node &  landmark,
const int &  embryoID
[protected]
 

Definition at line 555 of file IK_ACA.cpp.

References PL_HasCollisionDetector::collisionDetector, embryo, PL_GraphBase::G, PL_GraphBase::GenerateRandomConfig(), CD_Linear::GetLastIntersection(), PL_GraphBase::GetMidPoint(), PlannerBase::GetStartConfig(), and PL_GraphBase::IsInterfering().

Referenced by CreateEmbryos().

Here is the call graph for this function:

void IK_ACA::CreateEmbryos const node &  landmark  )  [protected]
 

Definition at line 540 of file IK_ACA.cpp.

References CreateEmbryo(), and embryosPerLandmark.

Referenced by SetStartConfig().

Here is the call graph for this function:

bool IK_ACA::DrawExplicit  )  const [virtual]
 

Reimplemented from IK_InvKinBase.

Definition at line 100 of file IK_ACA.cpp.

References PL_GraphBase::DrawExplicit().

Here is the call graph for this function:

bool IK_ACA::DrawSpecific  )  const [protected, virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 350 of file IK_ACA.cpp.

References embryo, embryosPerLandmark, PL_GraphBase::G, and PL_GraphBase::GetCoords().

Here is the call graph for this function:

node IK_ACA::Explore  )  [protected]
 

Definition at line 598 of file IK_ACA.cpp.

References PL_GraphBase::Distance(), embryo, embryosPerLandmark, PL_GraphBase::G, and INFINITY.

Referenced by Plan().

Here is the call graph for this function:

double IK_ACA::FindJointAdjust const unsigned int &  jointNum,
const Matrix4x4 toolFrame
const [protected]
 

Definition at line 917 of file IK_ACA.cpp.

References PL_HasCollisionDetector::collisionDetector, DH_A, DH_ALPHA, DH_D, DH_THETA, CD_BasicStyle::GetFrameManager(), FrameManager::GetTransformRelative(), FrameManager::GetWorldFrame(), IK_InvKinBase::goalFrame, CD_BasicStyle::JointFrameNum(), CD_BasicStyle::JointType(), M_PI, PX, PY, PZ, and Rad2Deg().

Referenced by MinimizeDistance().

Here is the call graph for this function:

double IK_ACA::FrameDistance const Matrix4x4 frameA,
const Matrix4x4 frameB
const [protected, virtual]
 

Definition at line 1151 of file IK_ACA.cpp.

References Vector4::MagSquared(), PX, PY, and PZ.

Referenced by InitBestParams(), Search(), and Search1().

Here is the call graph for this function:

int IK_ACA::GetEmbryosPerLandmark  )  const
 

Definition at line 1195 of file IK_ACA.cpp.

References embryosPerLandmark.

Configuration IK_ACA::GetNextConfig Configuration q0  )  [protected]
 

Definition at line 865 of file IK_ACA.cpp.

References ComputeEndEffDiff(), IK_InvKinBase::GetToolFrame(), IK_InvKinBase::goalFrame, VectorN::Magnitude(), VectorN::Normalize(), and SAMPLING_TIME.

Referenced by Search1().

Here is the call graph for this function:

void IK_ACA::InitBestParams  )  [private]
 

Definition at line 1291 of file IK_ACA.cpp.

References bestDistance_sq, bestLandmark, bestPath, PL_HasCollisionDetector::collisionDetector, FrameDistance(), PlannerBase::GetGoalConfig(), IK_InvKinBase::GetToolFrame(), IK_InvKinBase::goalFrame, INFINITY, and PL_GraphBase::startNode.

Referenced by InitNewSearch().

Here is the call graph for this function:

void IK_ACA::InitNewSearch  )  [protected, virtual]
 

Reimplemented from IK_InvKinBase.

Definition at line 1272 of file IK_ACA.cpp.

References PlannerBase::GetStartConfig(), InitBestParams(), searchLandmark, SetGoalConfig(), and PL_GraphBase::startNode.

Referenced by CopySettings(), and SetStartConfig().

Here is the call graph for this function:

bool IK_ACA::Load const char *  filename  )  [virtual]
 

Reimplemented from IK_InvKinBase.

Definition at line 112 of file IK_ACA.cpp.

References PL_GraphBase::Load().

Here is the call graph for this function:

bool IK_ACA::LoadContents std::ifstream &  infile  )  [protected, virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 126 of file IK_ACA.cpp.

References embryo, embryosPerLandmark, PL_GraphBase::G, PL_GraphBase::LoadContents(), and IK_InvKinBase::SetGoalFrame().

Here is the call graph for this function:

Configuration IK_ACA::MinimizeDistance const Configuration config,
list< Configuration > &  minPath
[protected]
 

Definition at line 1075 of file IK_ACA.cpp.

References VectorN::clear(), PL_HasCollisionDetector::collisionDetector, CD_BasicStyle::DOF(), FindJointAdjust(), IK_InvKinBase::GetToolFrame(), CD_BasicStyle::JointMax(), CD_BasicStyle::JointMin(), and CD_BasicStyle::JointWraps().

Referenced by Search().

Here is the call graph for this function:

bool IK_ACA::Plan  )  [virtual]
 

Reimplemented from IK_InvKinBase.

Definition at line 184 of file IK_ACA.cpp.

References bestPath, PL_GraphBase::ClearGraphPath(), ComputePath(), Explore(), FAIL, PL_GraphBase::G, PlannerBase::GetStartConfig(), PL_GraphBase::goalNode, PlannerBase::guid, PL_GraphBase::IsInterfering(), Semaphore::Lock(), PASS, Search(), searchLandmark, searchPath, PL_GraphBase::startNode, PlannerBase::StartTimer(), and Semaphore::Unlock().

Here is the call graph for this function:

bool IK_ACA::Save const char *  filename  )  const [virtual]
 

Reimplemented from IK_InvKinBase.

Definition at line 290 of file IK_ACA.cpp.

References PL_GraphBase::Save().

Here is the call graph for this function:

bool IK_ACA::SaveContents std::ofstream &  outfile  )  const [protected, virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 304 of file IK_ACA.cpp.

References embryo, embryosPerLandmark, PL_GraphBase::G, IK_InvKinBase::GetGoalFrameVector(), and PL_GraphBase::SaveContents().

Here is the call graph for this function:

SuccessResultType IK_ACA::Search const node &  landmark  )  [protected]
 

Definition at line 659 of file IK_ACA.cpp.

References bestDistance_sq, bestLandmark, bestPath, VectorN::Compare(), DEFAULT_TOL, DEFAULT_TOL1, FAIL, FrameDistance(), PL_GraphBase::G, IK_InvKinBase::GetToolFrame(), IK_InvKinBase::goalFrame, PlannerBase::guid, PlannerBase::HasTimeLimitExpired(), PL_GraphBase::IsInterfering(), Semaphore::Lock(), MinimizeDistance(), PASS, searchPath, and Semaphore::Unlock().

Referenced by Plan().

Here is the call graph for this function:

SuccessResultType IK_ACA::Search1 const node &  landmark  )  [protected]
 

Definition at line 738 of file IK_ACA.cpp.

References bestDistance_sq, bestLandmark, bestPath, PL_HasCollisionDetector::collisionDetector, DEFAULT_TOL, DEFAULT_TOL1, Configuration::DOF(), FAIL, FrameDistance(), PL_GraphBase::G, GetNextConfig(), IK_InvKinBase::GetToolFrame(), IK_InvKinBase::goalFrame, PlannerBase::guid, PlannerBase::HasTimeLimitExpired(), CD_BasicStyle::JointMax(), CD_BasicStyle::JointMin(), Semaphore::Lock(), PASS, searchPath, and Semaphore::Unlock().

Here is the call graph for this function:

void IK_ACA::SetCollisionDetector CollisionDetectorBase collisionDetector  )  [virtual]
 

Reimplemented from PlannerBase.

Definition at line 891 of file IK_ACA.cpp.

References PL_HasCollisionDetector::collisionDetector, CD_BasicStyle::GetRobot(), jacobian, and PL_GraphBase::SetCollisionDetector().

Referenced by ServerBase::RefreshPlanner().

Here is the call graph for this function:

void IK_ACA::SetEmbryosPerLandmark const int &  num_of_embryos  ) 
 

Definition at line 1211 of file IK_ACA.cpp.

References embryo, embryosPerLandmark, and PL_GraphBase::G.

Referenced by CopySettings().

void IK_ACA::SetGoalConfig const Configuration configuration  )  [virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 458 of file IK_ACA.cpp.

References PlannerBase::GetGoalConfig(), and PlannerBase::SetGoalConfig().

Referenced by InitNewSearch().

Here is the call graph for this function:

void IK_ACA::SetStartConfig const Configuration configuration  )  [virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 423 of file IK_ACA.cpp.

References PL_GraphBase::ClearGraph(), CreateEmbryos(), PlannerBase::GetStartConfig(), InitNewSearch(), searchPath, PL_GraphBase::SetStartConfig(), and PL_GraphBase::startNode.

Here is the call graph for this function:


Member Data Documentation

double IK_ACA::bestDistance_sq [private]
 

Definition at line 137 of file IK_ACA.h.

Referenced by InitBestParams(), Search(), and Search1().

node IK_ACA::bestLandmark [private]
 

Definition at line 135 of file IK_ACA.h.

Referenced by InitBestParams(), Search(), and Search1().

list<Configuration> IK_ACA::bestPath [private]
 

Definition at line 136 of file IK_ACA.h.

Referenced by InitBestParams(), Plan(), Search(), and Search1().

node_map<Configuration>* IK_ACA::embryo [protected]
 

Definition at line 124 of file IK_ACA.h.

Referenced by AssignGoalConfig(), CreateEmbryo(), DrawSpecific(), Explore(), IK_ACA(), LoadContents(), SaveContents(), SetEmbryosPerLandmark(), and ~IK_ACA().

int IK_ACA::embryosPerLandmark [private]
 

Definition at line 131 of file IK_ACA.h.

Referenced by AssignGoalConfig(), CopySettings(), CreateEmbryos(), DrawSpecific(), Explore(), GetEmbryosPerLandmark(), IK_ACA(), LoadContents(), SaveContents(), and SetEmbryosPerLandmark().

CJacobian* IK_ACA::jacobian [private]
 

Definition at line 139 of file IK_ACA.h.

Referenced by SetCollisionDetector().

int IK_ACA::m_FrameID [private]
 

Definition at line 138 of file IK_ACA.h.

node IK_ACA::searchLandmark [private]
 

Definition at line 132 of file IK_ACA.h.

Referenced by InitNewSearch(), and Plan().

list<Configuration> IK_ACA::searchPath [protected]
 

Definition at line 127 of file IK_ACA.h.

Referenced by Plan(), Search(), Search1(), and SetStartConfig().


The documentation for this class was generated from the following files:
Generated on Sat Apr 1 21:50:04 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO