PL_ForTest Class Reference

#include <planners/fortest/PL_ForTest.h>

Inherits PL_MPEP.

Inheritance diagram for PL_ForTest:

Inheritance graph
[legend]
Collaboration diagram for PL_ForTest:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PL_ForTest ()
virtual ~PL_ForTest ()
virtual void SetCollisionDetector (CD_BasicStyle *collisionDetector)
virtual bool DrawExplicit () const
virtual bool Plan ()
void SetStepAhead (int nAhead)
void SetMethodUsed (int nMethod)
void SetSMGStepSize (int dStep)
void SetUseBacktracking (bool bUse)
void SetObstacleAvoidLP (bool bUse)

Protected Member Functions

VectorN ComputeDeltaEndEff (Frame &fromPose, Frame &toPose)
bool FindLocalPath (Configuration &start, int nStart, int nEnd, PA_Points &localPath)
bool FindLocalPath2 (Configuration &start, int nStart, int nEnd, PA_Points &localPath)
int Establish_Self_Motion_Graph (dynamic_trees &tr, vertex extended)
int Extend_Node_Self_Motion_Graph (vertex g_vertex, Configuration **nextConf)
int Extend_Node_Self_Motion_Graph_Jacobian (vertex g_vertex, Configuration **nextConf)
bool AdjustConfiguration (Configuration &config, int nPose)
bool IsJointWithinLimits (Configuration &config)
void RemoveNode (vertex failVert)
void ResetStatistics ()
void LogStatistics ()

Protected Attributes

R_OpenChainm_pRobot
int m_nDof
int m_nToolFrame
Frame m_frEndEffector
CJacobianm_pJacobian
Jacobian_TrajPlannerm_pLocalPlanner
int m_nStepAhead
bool m_bUseJacobianSMGExploration
bool m_bUseBacktracking
bool m_bUseObstacleAvoidLP
double m_nSMGStepSize
int m_nSMGNodes
int m_nSMGraphs

Detailed Description

Definition at line 12 of file PL_ForTest.h.


Constructor & Destructor Documentation

PL_ForTest::PL_ForTest  ) 
 

Definition at line 14 of file PL_ForTest.cpp.

References DEF_SMG_STEPSIZE, DEF_STEP_AHEAD, m_bUseBacktracking, m_bUseJacobianSMGExploration, m_bUseObstacleAvoidLP, m_nSMGNodes, m_nSMGraphs, m_nSMGStepSize, m_nStepAhead, m_pJacobian, m_pLocalPlanner, and PL_MPEP::smgNodeNum.

PL_ForTest::~PL_ForTest  )  [virtual]
 

Definition at line 27 of file PL_ForTest.cpp.

References m_pJacobian, and m_pLocalPlanner.


Member Function Documentation

bool PL_ForTest::AdjustConfiguration Configuration config,
int  nPose
[protected]
 

Reimplemented from PL_MPEP.

Definition at line 409 of file PL_ForTest.cpp.

References DEF_ERROR_TOLERANCE, CJacobian::GetMatrix(), PL_MPEP::GetToolFrame(), Frame::GetTranslationVector(), Matrixmxn::Inverse(), m_frEndEffector, m_nDof, m_pJacobian, Vector4::Magnitude(), PL_MPEP::poses, Rad2Deg(), CJacobian::SetConfiguration(), and CJacobian::SetInterestPoint().

Referenced by Extend_Node_Self_Motion_Graph_Jacobian(), and FindLocalPath().

Here is the call graph for this function:

VectorN PL_ForTest::ComputeDeltaEndEff Frame fromPose,
Frame toPose
[protected]
 

Definition at line 450 of file PL_ForTest.cpp.

References VectorN::SetLength().

Referenced by FindLocalPath().

Here is the call graph for this function:

bool PL_ForTest::DrawExplicit  )  const [virtual]
 

Reimplemented from PL_MPEP.

Definition at line 37 of file PL_ForTest.cpp.

References PL_MPEP::DrawExplicit().

Here is the call graph for this function:

int PL_ForTest::Establish_Self_Motion_Graph dynamic_trees &  tr,
vertex  extended
[protected]
 

Reimplemented from PL_MPEP.

Definition at line 224 of file PL_ForTest.cpp.

References Pose_Node::conf, ERROR_SMGRAPH_FULL, Pose_Node::graph, m_bUseBacktracking, m_nSMGraphs, SMGraph::Node_Num(), Pose_Node::poses, and PL_MPEP::smgNodeNum.

Here is the call graph for this function:

int PL_ForTest::Extend_Node_Self_Motion_Graph vertex  g_vertex,
Configuration **  nextConf
[protected]
 

Reimplemented from PL_MPEP.

Definition at line 263 of file PL_ForTest.cpp.

References PL_HasCollisionDetector::collisionDetector, PL_MPEP::distTolerance, SMGraph::GetConfiguration(), CRedundant::GetConfigurationByActive(), PL_MPEP::GetConfigurationByDirection(), PL_MPEP::GetNearestNodeInGraph(), PL_MPEP::GetRandomConfiguration(), Pose_Node::graph, CD_Bool::IsInterfering(), CD_Linear::IsInterferingLinear(), Pose_Node::poses, PL_MPEP::poses, PL_MPEP::randomRetry, PL_MPEP::redundant, and PL_MPEP::tree.

Here is the call graph for this function:

int PL_ForTest::Extend_Node_Self_Motion_Graph_Jacobian vertex  g_vertex,
Configuration **  nextConf
[protected]
 

Reimplemented from PL_MPEP.

Definition at line 334 of file PL_ForTest.cpp.

References AdjustConfiguration(), PL_HasCollisionDetector::collisionDetector, SMGraph::GetConfiguration(), CJacobian::GetMatrix(), PL_MPEP::GetNearestNodeInGraph(), PL_MPEP::GetRandomConfiguration(), Pose_Node::graph, Matrixmxn::Inverse(), CD_Bool::IsInterfering(), CD_Linear::IsInterferingLinear(), IsJointWithinLimits(), m_nDof, m_nSMGStepSize, m_pJacobian, Pose_Node::poses, PL_MPEP::randomRetry, and PL_MPEP::tree.

Here is the call graph for this function:

bool PL_ForTest::FindLocalPath Configuration start,
int  nStart,
int  nEnd,
PA_Points localPath
[protected]
 

Definition at line 470 of file PL_ForTest.cpp.

References AdjustConfiguration(), PA_Points::Clear(), PL_HasCollisionDetector::collisionDetector, ComputeDeltaEndEff(), CJacobian::GetMatrix(), PL_MPEP::GetToolFrame(), Matrixmxn::Inverse(), CD_Linear::IsInterferingLinear(), IsJointWithinLimits(), m_frEndEffector, m_nDof, m_pJacobian, PL_MPEP::poses, Rad2Deg(), CJacobian::SetConfiguration(), and CJacobian::SetInterestPoint().

Here is the call graph for this function:

bool PL_ForTest::FindLocalPath2 Configuration start,
int  nStart,
int  nEnd,
PA_Points localPath
[protected]
 

Definition at line 521 of file PL_ForTest.cpp.

References PA_Points::AppendPoint(), PL_Boolean_Output::GetPath(), m_pLocalPlanner, Jacobian_TrajPlanner::Plan(), PL_MPEP::poses, Jacobian_TrajPlanner::SetStartConfig(), Jacobian_TrajPlanner::SetTrajectory(), TrajPlanner::SetUseGoalConfig(), TrajPlanner::SetUsingOrientation(), and PA_Points::Size().

Here is the call graph for this function:

bool PL_ForTest::IsJointWithinLimits Configuration config  )  [protected]
 

Reimplemented from PL_MPEP.

Definition at line 317 of file PL_ForTest.cpp.

References PL_HasCollisionDetector::collisionDetector, CD_BasicStyle::JointMin(), and m_nDof.

Referenced by Extend_Node_Self_Motion_Graph_Jacobian(), and FindLocalPath().

Here is the call graph for this function:

void PL_ForTest::LogStatistics  )  [protected]
 

Definition at line 567 of file PL_ForTest.cpp.

References Log(), m_nSMGNodes, m_nSMGraphs, PL_Boolean_Output::path, PA_Points::Size(), and PL_MPEP::vertices.

Here is the call graph for this function:

bool PL_ForTest::Plan  )  [virtual]
 

Reimplemented from PL_MPEP.

Definition at line 66 of file PL_ForTest.cpp.

References PA_Points::Clear(), PL_HasCollisionDetector::collisionDetector, ERROR_OK, PlannerBase::GetStartConfig(), CD_Bool::IsInterfering(), m_frEndEffector, m_nDof, m_pJacobian, m_pRobot, PL_Boolean_Output::path, CJacobian::SetConfiguration(), CJacobian::SetInterestPoint(), PlannerBase::startConfig, PL_MPEP::usingGoalConfig, and PL_MPEP::usingStartConfig.

Here is the call graph for this function:

void PL_ForTest::RemoveNode vertex  failVert  )  [protected]
 

Definition at line 541 of file PL_ForTest.cpp.

References SMGraph::Clear(), Pose_Node::graph, PlannerBase::guid, Semaphore::Lock(), PL_MPEP::tree, and Semaphore::Unlock().

Here is the call graph for this function:

void PL_ForTest::ResetStatistics  )  [protected]
 

Definition at line 561 of file PL_ForTest.cpp.

References m_nSMGNodes, and m_nSMGraphs.

void PL_ForTest::SetCollisionDetector CD_BasicStyle collisionDetector  )  [virtual]
 

Reimplemented from PL_MPEP.

Definition at line 42 of file PL_ForTest.cpp.

References PL_HasCollisionDetector::collisionDetector, CD_BasicStyle::DeactivateFrames(), CD_BasicStyle::DOF(), CD_BasicStyle::GetFrameManager(), FrameManager::GetFrameRef(), CD_BasicStyle::GetRobot(), R_OpenChain::GetToolFrame(), Matrix4x4::Identity(), m_frEndEffector, m_nDof, m_nToolFrame, m_pJacobian, m_pLocalPlanner, m_pRobot, Jacobian_TrajPlanner::SetCollisionDetector(), and PL_MPEP::SetCollisionDetector().

Referenced by ServerBase::RefreshPlanner().

Here is the call graph for this function:

void PL_ForTest::SetMethodUsed int  nMethod  )  [inline]
 

Definition at line 24 of file PL_ForTest.h.

References m_bUseJacobianSMGExploration.

void PL_ForTest::SetObstacleAvoidLP bool  bUse  )  [inline]
 

Definition at line 27 of file PL_ForTest.h.

References m_bUseObstacleAvoidLP.

void PL_ForTest::SetSMGStepSize int  dStep  )  [inline]
 

Definition at line 25 of file PL_ForTest.h.

References m_nSMGStepSize.

void PL_ForTest::SetStepAhead int  nAhead  )  [inline]
 

Definition at line 23 of file PL_ForTest.h.

References m_nStepAhead.

void PL_ForTest::SetUseBacktracking bool  bUse  )  [inline]
 

Definition at line 26 of file PL_ForTest.h.

References m_bUseBacktracking.


Member Data Documentation

bool PL_ForTest::m_bUseBacktracking [protected]
 

Definition at line 55 of file PL_ForTest.h.

Referenced by Establish_Self_Motion_Graph(), PL_ForTest(), and SetUseBacktracking().

bool PL_ForTest::m_bUseJacobianSMGExploration [protected]
 

Definition at line 54 of file PL_ForTest.h.

Referenced by PL_ForTest(), and SetMethodUsed().

bool PL_ForTest::m_bUseObstacleAvoidLP [protected]
 

Definition at line 56 of file PL_ForTest.h.

Referenced by PL_ForTest(), and SetObstacleAvoidLP().

Frame PL_ForTest::m_frEndEffector [protected]
 

Reimplemented from PL_MPEP.

Definition at line 48 of file PL_ForTest.h.

Referenced by AdjustConfiguration(), FindLocalPath(), Plan(), and SetCollisionDetector().

int PL_ForTest::m_nDof [protected]
 

Reimplemented from PL_MPEP.

Definition at line 46 of file PL_ForTest.h.

Referenced by AdjustConfiguration(), Extend_Node_Self_Motion_Graph_Jacobian(), FindLocalPath(), IsJointWithinLimits(), Plan(), and SetCollisionDetector().

int PL_ForTest::m_nSMGNodes [protected]
 

Definition at line 60 of file PL_ForTest.h.

Referenced by LogStatistics(), PL_ForTest(), and ResetStatistics().

int PL_ForTest::m_nSMGraphs [protected]
 

Definition at line 61 of file PL_ForTest.h.

Referenced by Establish_Self_Motion_Graph(), LogStatistics(), PL_ForTest(), and ResetStatistics().

double PL_ForTest::m_nSMGStepSize [protected]
 

Definition at line 57 of file PL_ForTest.h.

Referenced by Extend_Node_Self_Motion_Graph_Jacobian(), PL_ForTest(), and SetSMGStepSize().

int PL_ForTest::m_nStepAhead [protected]
 

Definition at line 53 of file PL_ForTest.h.

Referenced by PL_ForTest(), and SetStepAhead().

int PL_ForTest::m_nToolFrame [protected]
 

Reimplemented from PL_MPEP.

Definition at line 47 of file PL_ForTest.h.

Referenced by SetCollisionDetector().

CJacobian* PL_ForTest::m_pJacobian [protected]
 

Reimplemented from PL_MPEP.

Definition at line 49 of file PL_ForTest.h.

Referenced by AdjustConfiguration(), Extend_Node_Self_Motion_Graph_Jacobian(), FindLocalPath(), PL_ForTest(), Plan(), SetCollisionDetector(), and ~PL_ForTest().

Jacobian_TrajPlanner* PL_ForTest::m_pLocalPlanner [protected]
 

Definition at line 50 of file PL_ForTest.h.

Referenced by FindLocalPath2(), PL_ForTest(), SetCollisionDetector(), and ~PL_ForTest().

R_OpenChain* PL_ForTest::m_pRobot [protected]
 

Reimplemented from PL_MPEP.

Definition at line 45 of file PL_ForTest.h.

Referenced by Plan(), and SetCollisionDetector().


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