Developer Documentation
RAVL, Recognition And Vision Library
USER HOME PAGE CLASS LIST CONTENTS
Ravl - Logic - Planning - NLPlannerBodyC
 

  PUBLIC
NLPlannerBodyC::NLPlannerBodyC(void)
NLPlannerBodyC::NLPlannerBodyC(const DListC &)
NLPlannerBodyC::Apply(const StateC &,const MinTermC &)
NLPlannerBodyC::NewPlan(const StateC &,const MinTermC &)
NLPlannerBodyC::CompletePlan(void)
NLPlannerBodyC::IsComplete(void) const
NLPlannerBodyC::GetLinearPlan(DListC &)
NLPlannerBodyC::GetBestLinearPlan(void) const
NLPlannerBodyC::GetBestSize(void) const
NLPlannerBodyC::NLPlan(void)
NLPlannerBodyC::NLPlan(void) const
NLPlannerBodyC::ListSteps(MinTermC &,MinTermC &)
NLPlannerBodyC::Distance(const MinTermC &,const MinTermC &)
NLPlannerBodyC::SetMaxSearch(int)
NLPlannerBodyC::PreCondID(const LiteralC &)
NLPlannerBodyC::PostCondID(const LiteralC &)
NLPlannerBodyC::GetPlanNo(void)
NLPlannerBodyC::DoDBCheck(NonLinearPlanBodyC &)
NLPlannerBodyC::DoDBCheck(NonLinearPlanC)
RCBodyC::References(void) const
RCBodyC::Copy(void) const
RCBodyC::DeepCopy(UIntT) const
RCBodyC::IncRefCounter(void)
RCBodyC::DecRefCounter(void)

   NLPlannerBodyC   
 
Planner base clase.
 
include "Ravl/Logic/NLPlanner.hh"
Created:4/1/1997 
Source file:Ravl/Logic/NonLinearPlanner/NLPlanner.hh
User Level:Develop
Library:RavlLogicNLP
In Scope:RavlLogicN

Comments:
Overide the virtual functions to make a real planner.

Parent Classes: Enumerated types:
enum MaxIntT { MaxBest = 0 x7fffffff } ;

Variables:
DListC steps;
List of available steps.

IntT planCount;

PriQueueLC plans;
Priority queue of plan/action pairs.

LiteralIndexC conds;
Index by preconditions. Used to establish threats.

UIntC allocCondID;
Starts from 1. Allocation counter for condition ID's.

CallFunc2C> listSteps;
List steps that might could be meet a goal condition.

int maxSearch;
How long to spend searching, Default:-1=Infinit.

int limSearch;
Max size of search, after a plan has been found.

int curSearch;
Number of plans considered so far.

int bestSize;
Size of best plan found so far.

NonLinearPlanC bestPlan;

Methods:
NLPlannerBodyC()
Default constructor.

NLPlannerBodyC(const DListC<NLPStepC> & steps)
Constructor.

DListC<NLPStepC> Apply(const StateC & state,const MinTermC & goals)
Construct plan.

bool NewPlan(const StateC & start,const MinTermC & goal)
Create a new plan.

bool CompletePlan()
Try and complete plan, Ret: False=Failed.

bool IsComplete() const
Is plan complete.

bool GetLinearPlan(DListC<NLPStepC> & LPlan)
Create a linear plan.

DListC<NLPStepC> GetBestLinearPlan(void) const
Get best linear plan found so far.

int GetBestSize(void) const
Get size of best plan found so far.

NonLinearPlanC & NLPlan()
Get current plan.

const NonLinearPlanC & NLPlan() const
Get current plan.

DListC<NLPStepC> ListSteps(MinTermC & postCond,MinTermC & fullCond)
List steps with the given postcondition.

static int Distance(const MinTermC & MT1,const MinTermC & MT2)
Find distance between two terms.

void SetMaxSearch(int limit)
Limit size of search.

StepListIDC PreCondID(const LiteralC & symb)
Get ID for step precondition.

StepListIDC PostCondID(const LiteralC & symb)
Get ID for step postcondition.

IntT GetPlanNo()
Get an id for the current plan.

void DoDBCheck(NonLinearPlanBodyC & aPlan)
Debuging checks.

void DoDBCheck(NonLinearPlanC aPlan)
Debuging checks.

#include "Ravl/RefCounter.hh"
UIntT References() const
Access count of handles open to this object.

RCBodyC & Copy() const
Make copy of body.
This should be provided in derived classes. this funtion will issue an assertion failure if called.

RCBodyC & DeepCopy(UIntT levels = ((UIntT))) const
Make a deep copy of body.
This should be provided in derived classes. this funtion will issue an assertion failure if called.

void IncRefCounter()
Increment reference counter.

bool DecRefCounter()
Decrement reference counter.


Maintainer:Charles Galambos, Created: 4/1/1997, Documentation by CxxDoc: Tue Aug 13 09:59:30 2002