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;
136 const Eigen::Affine3d& ground2Body);
139 bool calculateGoal(
const Eigen::Vector3d& start_translation, Eigen::Vector3d& goal_translation,
const double yaw) noexcept;
140 bool tryGoal(
const Eigen::Vector3d& translation,
const double yaw) noexcept;
Definition: EnvironmentXYZTheta.hpp:24
traversability_generator3d::TraversabilityGenerator3d::MLGrid MLGrid
Definition: EnvironmentXYZTheta.hpp:26
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
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:311
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:294
std::function< void()> travMapCallback
Definition: Planner.hpp:32
Planner(const sbpl_spline_primitives::SplinePrimitivesConfig &primitiveConfig, const traversability_generator3d::TraversabilityConfig &traversabilityConfig, const Mobility &mobility, const PlannerConfig &plannerConfig)
Definition: Planner.cpp:24
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:323
Definition: Dijkstra.cpp:8
Definition: Mobility.hpp:12
Definition: PlannerConfig.hpp:8