2#include <maps/grid/MLSMap.hpp>
3#include <base/samples/RigidBodyState.hpp>
4#include <sbpl_spline_primitives/SbplSplineMotionPrimitives.hpp>
6#include <trajectory_follower/SubTrajectory.hpp>
23 std::shared_ptr<EnvironmentXYZTheta>
env;
47 Planner(
const sbpl_spline_primitives::SplinePrimitivesConfig &primitiveConfig,
52 template <maps::gr
id::MLSConfig::update_model SurfacePatch>
53 void updateMap(
const maps::grid::MLSMap<SurfacePatch>& mls)
55 std::shared_ptr<MLSBase> mlsPtr = std::make_shared<MLSBase>(mls);
63 env->updateMap(mlsPtr);
69 std::shared_ptr<MLSBase> mlsPtr= std::make_shared<MLSBase>(mls);
77 env->updateMap(mlsPtr);
80 void setInitialPatch(
const Eigen::Affine3d& body2Mls,
double patchRadius);
125 PLANNING_RESULT plan(
const base::Time& maxTime,
const base::samples::RigidBodyState& start_pose,
126 const base::samples::RigidBodyState& end_pose, std::vector<trajectory_follower::SubTrajectory>& resultTrajectory2D,
127 std::vector<trajectory_follower::SubTrajectory>& resultTrajectory3D,
bool dumpOnError =
false,
bool dumpOnSuccess =
false);
129 void setTravConfig(
const traversability_generator3d::TraversabilityConfig& config);
133 const maps::grid::TraversabilityMap3d<traversability_generator3d::TravGenNode*> &
getTraversabilityMap()
const;
135 const maps::grid::TraversabilityMap3d<traversability_generator3d::TravGenNode*> &
getObstacleMap()
const;
138 const Eigen::Affine3d& ground2Body);
141 bool calculateGoal(
const Eigen::Vector3d& start_translation, Eigen::Vector3d& goal_translation,
const double yaw)
noexcept;
142 bool tryGoal(
const Eigen::Vector3d& translation,
const double yaw)
noexcept;
Definition EnvironmentXYZTheta.hpp:25
traversability_generator3d::TraversabilityGenerator3d::MLGrid MLGrid
Definition EnvironmentXYZTheta.hpp:27
Definition PlannerDump.hpp:15
Definition Planner.hpp:19
std::shared_ptr< ARAPlanner > planner
Definition Planner.hpp:24
const Mobility mobility
Definition Planner.hpp:27
traversability_generator3d::TraversabilityConfig traversabilityConfig
Definition Planner.hpp:28
EnvironmentXYZTheta::MLGrid MLSBase
Definition Planner.hpp:22
void enablePathStatistics(bool enable)
Definition Planner.cpp:42
void updateMap(const MLSBase &mls)
Definition Planner.hpp:67
const maps::grid::TraversabilityMap3d< traversability_generator3d::TravGenNode * > & getTraversabilityMap() const
Definition Planner.cpp:289
std::vector< int > solutionIds
Definition Planner.hpp:30
const maps::grid::TraversabilityMap3d< traversability_generator3d::TravGenNode * > & getObstacleMap() const
Definition Planner.cpp:294
std::shared_ptr< EnvironmentXYZTheta > env
Definition Planner.hpp:23
std::vector< Eigen::Vector3d > previousStartPositions
Definition Planner.hpp:35
std::vector< Motion > getMotions() const
Definition Planner.cpp:284
PLANNING_RESULT
Definition Planner.hpp:38
@ INTERNAL_ERROR
Definition Planner.hpp:43
@ NO_MAP
Definition Planner.hpp:42
@ START_INVALID
Definition Planner.hpp:40
@ FOUND_SOLUTION
Definition Planner.hpp:44
@ GOAL_INVALID
Definition Planner.hpp:39
@ NO_SOLUTION
Definition Planner.hpp:41
void setTravConfig(const traversability_generator3d::TraversabilityConfig &config)
Definition Planner.cpp:316
PlannerConfig plannerConfig
Definition Planner.hpp:29
std::shared_ptr< trajectory_follower::SubTrajectory > findTrajectoryOutOfObstacle(const Eigen::Vector3d &start, double theta, const Eigen::Affine3d &ground2Body)
Definition Planner.cpp:299
std::function< void()> travMapCallback
Definition Planner.hpp:32
void setTravMapCallback(const std::function< void()> &callback)
Definition Planner.cpp:48
void setInitialPatch(const Eigen::Affine3d &body2Mls, double patchRadius)
Definition Planner.cpp:33
PLANNING_RESULT plan(const base::Time &maxTime, const base::samples::RigidBodyState &start_pose, const base::samples::RigidBodyState &end_pose, std::vector< trajectory_follower::SubTrajectory > &resultTrajectory2D, std::vector< trajectory_follower::SubTrajectory > &resultTrajectory3D, bool dumpOnError=false, bool dumpOnSuccess=false)
Definition Planner.cpp:138
void updateMap(const maps::grid::MLSMap< SurfacePatch > &mls)
Definition Planner.hpp:53
const sbpl_spline_primitives::SplinePrimitivesConfig splinePrimitiveConfig
Definition Planner.hpp:26
void setPlannerConfig(const PlannerConfig &config)
Definition Planner.cpp:328
Definition Dijkstra.cpp:8
Definition Mobility.hpp:12
Definition PlannerConfig.hpp:8