planners/atace/LocalPlanner.h

Go to the documentation of this file.
00001 
00002 //
00003 //Contents: Class TrajPlanner; base class of local planners used in APACE.
00004 //          Class RRT_TrajPlanner; probabilistic local planner.
00005 //          Class Jacobian_TrajPlanner; Jacobian-based local planner.
00006 // 
00008 #ifndef _HEADER_LOCAL_PLANNER
00009 #define _HEADER_LOCAL_PLANNER
00010 
00011 #pragma warning( disable : 4250 )
00012 
00013 #include "geometry/Frame.h"
00014 #include "Planners/PL_Boolean_Output.h"
00015 #include "Planners/PL_OpenGL.h"
00016 //#include "Planners/zhenwang/TrajPlanner.h"
00017 #include "planners/ik_mpep/IK_Jacobian.h"
00018 #include "Planners/ik_mpep/PL_MPEP.h"
00019 //class PL_MPEP;
00020 
00021 class TrajPlanner: public PL_Boolean_Output, public PL_OpenGL
00022 {
00023 public:
00024         TrajPlanner();
00025         virtual ~TrajPlanner();
00026         virtual bool DrawExplicit () const;
00027         virtual bool Plan (){return true;};
00028 
00029         //New for trajectory
00030         virtual void SetGoalPose(Frame &goalPose){m_goalPose = goalPose;};
00031         virtual void SetUsingOrientation(bool use){m_bUseOrientation = use;};
00032         virtual void SetUseGoalConfig( bool use){m_bUseGoalConfig = use;}
00033         virtual void SetTrajectory(std::vector<Frame> &poses){};
00034 protected:
00035         //std::vector<Frame> m_poses;
00036         Frame m_goalPose;
00037         bool m_bUseOrientation;
00038         bool m_bUseGoalConfig;
00039 };
00040 
00041 class RRT_TrajPlanner: public TrajPlanner
00042 {
00043 public:
00044         RRT_TrajPlanner();
00045         virtual ~RRT_TrajPlanner();
00046 
00047         //Inherited form ancestor
00048         virtual void SetStartConfig( const Configuration& config );
00049         virtual void SetGoalConfig( const Configuration& config);
00050         virtual void SetCollisionDetector (CD_BasicStyle* collisionDetector);
00051         virtual void SetTrajectory(std::vector<Frame> &poses);
00052         virtual bool Plan ();
00053 
00054 private:
00055         PL_MPEP *planner;
00056         int m_nNumPose;
00057 };
00058 
00059 class Jacobian_TrajPlanner: public TrajPlanner
00060 {
00061 public:
00062         Jacobian_TrajPlanner();
00063         ~Jacobian_TrajPlanner();
00064 
00065         //Inherited form ancestor
00066         virtual void SetStartConfig( const Configuration& config );
00067         virtual void SetCollisionDetector (CD_BasicStyle* collisionDetector);
00068         virtual void SetTrajectory(std::vector<Frame> &poses);
00069         virtual bool Plan ();
00070 
00071 private:
00072         IK_Jacobian *planner;
00073         CD_BasicStyle *pCollisionDetector;
00074 };
00075 
00076 #endif

Generated on Sat Apr 1 21:30:40 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO