Robotics Library  0.6.2
Planner.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2009, Markus Rickert
3 // All rights reserved.
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are met:
7 //
8 // * Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright notice,
11 // this list of conditions and the following disclaimer in the documentation
12 // and/or other materials provided with the distribution.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 // POSSIBILITY OF SUCH DAMAGE.
25 //
26 
27 #ifndef _RL_PLAN_PLANNER_H_
28 #define _RL_PLAN_PLANNER_H_
29 
30 #include <string>
31 #include <rl/math/Vector.h>
32 #include <rl/util/Timer.h>
33 
34 #include "VectorList.h"
35 
36 namespace rl
37 {
38  namespace plan
39  {
40  class SimpleModel;
41  class Viewer;
42 
43  class Planner
44  {
45  public:
46  Planner();
47 
48  virtual ~Planner();
49 
50  virtual ::std::string getName() const = 0;
51 
57  virtual void getPath(VectorList& path) = 0;
58 
62  virtual void reset() = 0;
63 
67  virtual bool solve() = 0;
68 
72  bool verify();
73 
76 
79 
81 
84 
86 
87  protected:
89 
90  private:
91 
92  };
93  }
94 }
95 
96 #endif // _RL_PLAN_PLANNER_H_
rl::plan::Planner::start
::rl::math::Vector * start
Start configuration.
Definition: Planner.h:83
VectorList.h
rl::plan::Planner::solve
virtual bool solve()=0
Find collision free path.
rl::plan::Planner::model
SimpleModel * model
Definition: Planner.h:80
rl::plan::Planner::timer
::rl::util::Timer timer
Definition: Planner.h:88
rl::plan::Planner::reset
virtual void reset()=0
Reset planner.
rl::plan::Planner::goal
::rl::math::Vector * goal
Goal configuration.
Definition: Planner.h:78
Timer.h
Vector.h
rl::plan::Planner
Definition: Planner.h:44
rl::plan::Planner::getPath
virtual void getPath(VectorList &path)=0
Get solution path.
rl::plan::SimpleModel
Definition: SimpleModel.h:37
rl::plan::Planner::getName
virtual ::std::string getName() const =0
rl::plan::Planner::~Planner
virtual ~Planner()
Definition: Planner.cpp:45
rl::plan::Planner::duration
::rl::math::Real duration
Upper bound for search [s].
Definition: Planner.h:75
rl::plan::Planner::viewer
Viewer * viewer
Definition: Planner.h:85
rl::plan::VectorList
::std::list< ::rl::math::Vector > VectorList
Definition: VectorList.h:37
rl::plan::Planner::verify
bool verify()
Vertify that start and goal configuration are within joint limits and collision free.
Definition: Planner.cpp:50
rl::math::Vector
::Eigen::Matrix< Real, ::Eigen::Dynamic, 1 > Vector
Definition: Vector.h:41
rl::plan::Planner::Planner
Planner()
Definition: Planner.cpp:35
rl::util::Timer
Definition: Timer.h:46
rl::math::Real
double Real
Definition: Real.h:34
rl::plan::Viewer
Definition: Viewer.h:40
rl
Definition: Ati.cpp:35