PL_Juan Class Reference

#include <planners/aca/PL_Juan.h>

Inherits PL_Boolean_Output, and PL_OpenGL.

Inheritance diagram for PL_Juan:

Inheritance graph
[legend]
Collaboration diagram for PL_Juan:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PL_Juan ()
virtual ~PL_Juan ()
virtual bool Plan ()
virtual bool Save (const char *filename) const
virtual void SetStartConfig (const Configuration &configuration)
virtual bool Load (const char *filename)
virtual bool DrawExplicit () const

Protected Member Functions

void Initialize ()
double MyDistanceFunc (const Configuration &conf1, const Configuration &conf2) const
int MyRandomPath (int id_landmark, const int id_embryo, const int n_dof, const JMA_Configuration init_conf, JMA_Configuration *embryo) const
int SimplifyIdsTrajectory (const JMA_Roadmap_Tree *tree, const int list[], int n_nodes, int new_list[], int *new_n_nodes) const
int Search (JMA_Roadmap_Tree *tree) const
int MyLocalPlanner (const Configuration &start_conf, Configuration &local_minima) const
int MyGoalFunc (const Configuration &config) const
int MyPtpCollision (const Configuration &start_conf, const Configuration &local_minima) const
void InitRoadmapTree (JMA_Roadmap_Tree *tree, const int n_dof, const int n_embryos, const JMA_Configuration init_conf) const
void Explore (JMA_Roadmap_Tree *tree) const
void GenerateNewEmbryo (JMA_Roadmap_Tree *tree, const int id_landmark, const int id_embryo) const
void UpdateRoadmapTree (JMA_Roadmap_Tree *tree) const
void ComputeEmbryoDistance (JMA_Roadmap_Tree *tree, JMA_Configuration *embryo) const
void CopyTrajectoryToPath ()

Static Protected Member Functions

static int GetNAncestors (const JMA_Roadmap_Tree *tree, const int landmark_id)
static void GetIdsPath (const JMA_Roadmap_Tree *tree, const int landmark_id, int list_ids[], int *n_landmarks)

Private Attributes

int ids_list [500]
JMA_Roadmap_Treetree
JMA_Configuration init_conf
int numberOfEmbryos
int numberOfLandmarks
bool m_Initialized: 1

Detailed Description

Definition at line 9 of file PL_Juan.h.


Constructor & Destructor Documentation

PL_Juan::PL_Juan  ) 
 

Definition at line 48 of file PL_Juan.cpp.

PL_Juan::~PL_Juan  )  [virtual]
 

Definition at line 57 of file PL_Juan.cpp.

References tree.


Member Function Documentation

void PL_Juan::ComputeEmbryoDistance JMA_Roadmap_Tree tree,
JMA_Configuration embryo
const [protected]
 

Definition at line 464 of file PL_Juan.cpp.

References BIG_NUMBER, and MyDistanceFunc().

Referenced by GenerateNewEmbryo().

Here is the call graph for this function:

void PL_Juan::CopyTrajectoryToPath  )  [protected]
 

Definition at line 483 of file PL_Juan.cpp.

bool PL_Juan::DrawExplicit  )  const [virtual]
 

Reimplemented from PL_OpenGL.

Definition at line 662 of file PL_Juan.cpp.

References JMA_Configuration::dof, Configuration::DOF(), PlannerBase::GetGoalConfig(), JMA_Node::landmark, Semaphore::Lock(), JMA_Roadmap_Tree::n_nodes, JMA_Roadmap_Tree::node, and tree.

Here is the call graph for this function:

void PL_Juan::Explore JMA_Roadmap_Tree tree  )  const [protected]
 

Definition at line 369 of file PL_Juan.cpp.

References JMA_Roadmap_Tree::best_father_id, GenerateNewEmbryo(), JMA_Roadmap_Tree::n_nodes, NUMBER_OF_EMBRYOS, tree, and UpdateRoadmapTree().

Here is the call graph for this function:

void PL_Juan::GenerateNewEmbryo JMA_Roadmap_Tree tree,
const int  id_landmark,
const int  id_embryo
const [protected]
 

Definition at line 397 of file PL_Juan.cpp.

References ComputeEmbryoDistance(), PlannerBase::GetStartConfig(), MyRandomPath(), and tree.

Referenced by Explore(), and InitRoadmapTree().

Here is the call graph for this function:

void PL_Juan::GetIdsPath const JMA_Roadmap_Tree tree,
const int  landmark_id,
int  list_ids[],
int *  n_landmarks
[static, protected]
 

Definition at line 409 of file PL_Juan.cpp.

References JMA_Roadmap_Tree::best_father_id, JMA_Node::father_id, GetNAncestors(), JMA_Roadmap_Tree::n_nodes, JMA_Roadmap_Tree::node, and tree.

Here is the call graph for this function:

int PL_Juan::GetNAncestors const JMA_Roadmap_Tree tree,
const int  landmark_id
[static, protected]
 

Definition at line 251 of file PL_Juan.cpp.

References JMA_Node::father_id, IJG_Assert, JMA_Roadmap_Tree::n_nodes, JMA_Roadmap_Tree::node, and tree.

Referenced by GetIdsPath().

void PL_Juan::Initialize  )  [protected]
 

Definition at line 66 of file PL_Juan.cpp.

References m_Initialized, and tree.

Referenced by Plan(), and SetStartConfig().

void PL_Juan::InitRoadmapTree JMA_Roadmap_Tree tree,
const int  n_dof,
const int  n_embryos,
const JMA_Configuration  init_conf
const [protected]
 

Definition at line 338 of file PL_Juan.cpp.

References JMA_Roadmap_Tree::best_embryo_id, JMA_Roadmap_Tree::best_father_id, JMA_Configuration::dist, JMA_Configuration::dof, JMA_Node::embryo, JMA_Node::father_id, GenerateNewEmbryo(), init_conf, JMA_Node::landmark, JMA_Roadmap_Tree::last_max_dist, JMA_Roadmap_Tree::max_dist, JMA_Roadmap_Tree::N_dof, JMA_Node::N_embryos, JMA_Roadmap_Tree::n_nodes, NIL, JMA_Roadmap_Tree::node, and tree.

Referenced by SetStartConfig().

Here is the call graph for this function:

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

Reimplemented from PlannerBase.

Definition at line 575 of file PL_Juan.cpp.

References JMA_Roadmap_Tree::best_embryo_id, JMA_Roadmap_Tree::best_father_id, JMA_Roadmap_Tree::last_max_dist, Semaphore::Lock(), JMA_Roadmap_Tree::max_dist, JMA_Roadmap_Tree::N_dof, JMA_Roadmap_Tree::n_nodes, JMA_Roadmap_Tree::node, tree, and Semaphore::Unlock().

Here is the call graph for this function:

double PL_Juan::MyDistanceFunc const Configuration conf1,
const Configuration conf2
const [protected]
 

Definition at line 177 of file PL_Juan.cpp.

References PL_HasCollisionDetector::collisionDetector, and CD_JointLimits::DistanceBetween().

Referenced by ComputeEmbryoDistance(), and UpdateRoadmapTree().

Here is the call graph for this function:

int PL_Juan::MyGoalFunc const Configuration config  )  const [protected]
 

Definition at line 301 of file PL_Juan.cpp.

References PlannerBase::GetGoalConfig(), and TRUE.

Referenced by Search().

Here is the call graph for this function:

int PL_Juan::MyLocalPlanner const Configuration start_conf,
Configuration local_minima
const [protected]
 

Definition at line 283 of file PL_Juan.cpp.

References FALSE, PlannerBase::GetGoalConfig(), and MyPtpCollision().

Referenced by Search().

Here is the call graph for this function:

int PL_Juan::MyPtpCollision const Configuration start_conf,
const Configuration local_minima
const [protected]
 

Definition at line 313 of file PL_Juan.cpp.

References PL_HasCollisionDetector::collisionDetector, and CD_Linear::IsInterferingLinear().

Referenced by MyLocalPlanner(), and SimplifyIdsTrajectory().

Here is the call graph for this function:

int PL_Juan::MyRandomPath int  id_landmark,
const int  id_embryo,
const int  n_dof,
const JMA_Configuration  init_conf,
JMA_Configuration embryo
const [protected]
 

Definition at line 184 of file PL_Juan.cpp.

References BIGEST_RND_NUMBER, PL_HasCollisionDetector::collisionDetector, Configuration::DOF(), JMA_Configuration::dof, PlannerBase::GetStartConfig(), init_conf, CD_Bool::IsInterfering(), CD_BasicStyle::JointMax(), CD_BasicStyle::JointMin(), and switch_random().

Referenced by GenerateNewEmbryo().

Here is the call graph for this function:

bool PL_Juan::Plan  )  [virtual]
 

Implements PlannerBase.

Definition at line 76 of file PL_Juan.cpp.

References PA_Points::AppendPoint(), PA_Points::Clear(), PL_HasCollisionDetector::collisionDetector, PlannerBase::GetGoalConfig(), PlannerBase::GetStartConfig(), Initialize(), CD_Bool::IsInterfering(), PL_Boolean_Output::path, and PlannerBase::StartTimer().

Referenced by PL_Range_Sensor::Plan().

Here is the call graph for this function:

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

Reimplemented from PlannerBase.

Definition at line 505 of file PL_Juan.cpp.

References JMA_Roadmap_Tree::best_embryo_id, JMA_Roadmap_Tree::best_father_id, JMA_Roadmap_Tree::last_max_dist, JMA_Roadmap_Tree::max_dist, JMA_Roadmap_Tree::N_dof, JMA_Roadmap_Tree::n_nodes, JMA_Roadmap_Tree::node, and tree.

int PL_Juan::Search JMA_Roadmap_Tree tree  )  const [protected]
 

Definition at line 271 of file PL_Juan.cpp.

References MyGoalFunc(), and MyLocalPlanner().

Here is the call graph for this function:

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

Reimplemented from PlannerBase.

Definition at line 562 of file PL_Juan.cpp.

References JMA_Configuration::dist, JMA_Configuration::dof, PlannerBase::GetStartConfig(), init_conf, Initialize(), InitRoadmapTree(), MAX_EMBRYOS, PlannerBase::SetStartConfig(), and tree.

Referenced by PL_Range_Sensor::SetStartConfig().

Here is the call graph for this function:

int PL_Juan::SimplifyIdsTrajectory const JMA_Roadmap_Tree tree,
const int  list[],
int  n_nodes,
int  new_list[],
int *  new_n_nodes
const [protected]
 

Definition at line 214 of file PL_Juan.cpp.

References FALSE, MyPtpCollision(), and TRUE.

Here is the call graph for this function:

void PL_Juan::UpdateRoadmapTree JMA_Roadmap_Tree tree  )  const [protected]
 

Definition at line 431 of file PL_Juan.cpp.

References MyDistanceFunc().

Referenced by Explore().

Here is the call graph for this function:


Member Data Documentation

int PL_Juan::ids_list[500] [private]
 

Definition at line 40 of file PL_Juan.h.

JMA_Configuration PL_Juan::init_conf [private]
 

Definition at line 42 of file PL_Juan.h.

Referenced by InitRoadmapTree(), MyRandomPath(), and SetStartConfig().

bool PL_Juan::m_Initialized [private]
 

Definition at line 45 of file PL_Juan.h.

Referenced by Initialize().

int PL_Juan::numberOfEmbryos [private]
 

Definition at line 43 of file PL_Juan.h.

int PL_Juan::numberOfLandmarks [private]
 

Definition at line 44 of file PL_Juan.h.

JMA_Roadmap_Tree* PL_Juan::tree [private]
 

Definition at line 41 of file PL_Juan.h.

Referenced by DrawExplicit(), Explore(), GenerateNewEmbryo(), GetIdsPath(), GetNAncestors(), Initialize(), InitRoadmapTree(), Load(), Save(), SetStartConfig(), and ~PL_Juan().


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