ompl_native_solvers.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2018, University of Edinburgh
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
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of nor the names of its contributors may be used to
14 // endorse or promote products derived from this software without specific
15 // prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 // POSSIBILITY OF SUCH DAMAGE.
28 //
29 
30 #ifndef EXOTICA_OMPL_SOLVER_OMPL_NATIVE_SOLVER_H_
31 #define EXOTICA_OMPL_SOLVER_OMPL_NATIVE_SOLVER_H_
32 
34 
35 namespace exotica
36 {
37 class RRTSolver : public OMPLSolver<SamplingProblem>, Instantiable<RRTSolverInitializer>
38 {
39 public:
40  RRTSolver();
41  void Instantiate(const RRTSolverInitializer& init) override;
42 };
43 
44 class RRTConnectSolver : public OMPLSolver<SamplingProblem>, Instantiable<RRTConnectSolverInitializer>
45 {
46 public:
48  void Instantiate(const RRTConnectSolverInitializer& init) override;
49  void SetRange(double range);
50  double GetRange();
51 };
52 
53 class ESTSolver : public OMPLSolver<SamplingProblem>, Instantiable<ESTSolverInitializer>
54 {
55 public:
56  ESTSolver();
57  void Instantiate(const ESTSolverInitializer& init) override;
58 };
59 
60 class KPIECESolver : public OMPLSolver<SamplingProblem>, Instantiable<KPIECESolverInitializer>
61 {
62 public:
63  KPIECESolver();
64  void Instantiate(const KPIECESolverInitializer& init) override;
65 };
66 
67 class BKPIECESolver : public OMPLSolver<SamplingProblem>, Instantiable<BKPIECESolverInitializer>
68 {
69 public:
70  BKPIECESolver();
71  void Instantiate(const BKPIECESolverInitializer& init) override;
72 };
73 
74 class PRMSolver : public OMPLSolver<SamplingProblem>, Instantiable<PRMSolverInitializer>
75 {
76 public:
77  PRMSolver();
78  void Instantiate(const PRMSolverInitializer& init) override;
79  void GrowRoadmap(double t);
80  void ExpandRoadmap(double t);
81  void Clear();
82  void ClearQuery();
83  void Setup();
84  int EdgeCount();
85  int MilestoneCount();
86  bool IsMultiQuery() const;
87  void SetMultiQuery(bool val);
88 };
89 
90 class LazyPRMSolver : public OMPLSolver<SamplingProblem>, Instantiable<LazyPRMSolverInitializer>
91 {
92 public:
93  LazyPRMSolver();
94  void Instantiate(const LazyPRMSolverInitializer& init) override;
95  void Clear();
96  void ClearQuery();
97  void Setup();
98  int EdgeCount();
99  int MilestoneCount();
100  bool IsMultiQuery() const;
101  void SetMultiQuery(bool val);
102 };
103 
104 class RRTStarSolver : public OMPLSolver<SamplingProblem>, Instantiable<RRTStarSolverInitializer>
105 {
106 public:
107  RRTStarSolver();
108  void Instantiate(const RRTStarSolverInitializer& init) override;
109 };
110 
111 class LBTRRTSolver : public OMPLSolver<SamplingProblem>, Instantiable<LBTRRTSolverInitializer>
112 {
113 public:
114  LBTRRTSolver();
115  void Instantiate(const LBTRRTSolverInitializer& init) override;
116 };
117 } // namespace exotica
118 
119 #endif // EXOTICA_OMPL_SOLVER_OMPL_NATIVE_SOLVER_H_
void Instantiate(const RRTSolverInitializer &init) override


exotica_ompl_solver
Author(s): Yiming Yang
autogenerated on Sat Apr 10 2021 02:36:37