3#include <ompl/geometric/PathGeometric.h>
6#pragma warning "SmoothThetaStar is not supported at the moment."
10#include "../base/Environment.h"
11#include "../../base/Trajectory.h"
13#include "../AbstractPlanner.hpp"
15namespace ob = ompl::base;
16namespace og = ompl::geometric;
21 ~SmoothThetaStar()
override =
default;
23 std::string
name()
const override {
return "Smooth Theta*"; }
27 void setProblemDefinition(
const ob::ProblemDefinitionPtr &pdef)
override;
28 ob::PlannerStatus solve(
const ob::PlannerTerminationCondition &ptc)
override;
30 ob::PlannerStatus
run()
override;
32 std::vector<GNode> solutionTrajectory()
const override;
33 std::vector<TrajectoryPoint>
solutionPath()
const override;
34 og::PathGeometric geometricPath()
const override;
38 unsigned int steps()
const;
41 Trajectory *curr_traj;
50 std::vector<std::vector<GNode> > global_paths;
52 bool search(std::vector<std::vector<GNode> > &paths,
GNode start,
GNode goal);
55 explicit SmoothThetaStar(
bool astar, std::string name);
void initialize(const og::PathGeometric &path, unsigned int N, const vec2f &p0, const vec2f &p1, MatX &xi, MatX &q0, MatX &q1)
Definition: CHOMP.cpp:10
Definition: AbstractPlanner.h:29
virtual bool hasReachedGoalExactly() const =0
virtual double planningTime() const =0
virtual std::string name() const =0
virtual ob::PlannerStatus run()=0
virtual std::vector< Point > solutionPath() const
Definition: AbstractPlanner.h:42
virtual ob::Planner * omplPlanner()
Definition: AbstractPlanner.h:120
Planner
Definition: PlannerSettings.h:16