62 const std::optional<navigation::algorithms::orientation_aware::Costmap3D>&
costmap,
65 void updateCostmap(
const std::optional<navigation::algorithms::orientation_aware::Costmap3D>&
costmap);
70 const std::string& vizLayerNamePrefix =
"global_planner_debug");
82 std::optional<algorithms::orientation_aware::io::AStarWithOrientationParams> aStar,
83 std::optional<algorithms::orientation_aware::smoothing::io::SmoothingParams> smoothing)
85 aStarParamsOverride = std::move(aStar);
86 smoothingParamsOverride = std::move(smoothing);
93 smoothingEnabled = enabled;
100 return expandedNodes;
113 return smootherSeconds;
119 std::optional<navigation::algorithms::orientation_aware::Costmap3D>
costmap;
124 std::optional<algorithms::orientation_aware::io::AStarWithOrientationParams>
126 std::optional<algorithms::orientation_aware::smoothing::io::SmoothingParams>
127 smoothingParamsOverride;
128 bool smoothingEnabled{
true};
131 std::size_t expandedNodes{0};
132 double aStarSeconds{0.0};
133 double smootherSeconds{0.0};
136 std::vector<core::GlobalTrajectoryPoint> lastPointsInCollision;
137 core::GlobalTrajectory lastRawTrajectory;
138 core::GlobalTrajectory lastPreprocessedTrajectory;
139 core::GlobalTrajectory lastSmoothedTrajectory;
141 std::optional<core::Pose> lastRecoveryOriginalStart;
143 std::optional<Eigen::Vector2f> lastRecoveryPosition;
164 std::optional<GlobalPlannerResult>
plan(
const core::Pose& goal)
override;
171 const std::string& vizLayerNamePrefix =
"global_planner_debug")
override;
core::GeneralConfig generalConfig
void setParamOverrides(std::optional< algorithms::orientation_aware::io::AStarWithOrientationParams > aStar, std::optional< algorithms::orientation_aware::smoothing::io::SmoothingParams > smoothing)
Override the parameters that plan() otherwise loads from the package config files,...
std::size_t lastExpandedNodes() const noexcept
Nodes expanded by A* during the last plan() call.
VirtualRobot::RobotPtr robot
double lastAStarSeconds() const noexcept
Wall-clock seconds spent in A* / in the smoother during the last plan() call.
double lastSmootherSeconds() const noexcept
std::optional< GlobalPlannerResult > plan(const core::Pose &start, const core::Pose &goal)
void updateCostmap(const std::optional< navigation::algorithms::orientation_aware::Costmap3D > &costmap)
std::optional< navigation::algorithms::orientation_aware::Costmap3D > costmap
void setSmoothingEnabled(bool enabled) noexcept
Run the Ceres smoother after A*. Enabled by default, matching deployed behaviour.
AStarWithOrientationImpl(const Params ¶ms, const core::GeneralConfig &generalConfig, const std::optional< navigation::algorithms::orientation_aware::Costmap3D > &costmap, VirtualRobot::RobotPtr robot)
void visualizeDebugInfo(viz::Client &vizClient, const std::string &vizLayerNamePrefix="global_planner_debug")
AStarWithOrientationParams Params
void visualizeDebugInfo(viz::Client &vizClient, const std::string &vizLayerNamePrefix="global_planner_debug") override
std::optional< GlobalPlannerResult > plan(const core::Pose &goal) override
AStarWithOrientation(const Params ¶ms, const core::GeneralConfig &generalConfig, const core::Scene &ctx)
AStarWithOrientationParams Params
AStarWithOrientationImpl impl
core::GeneralConfig generalConfig
GlobalPlanner(const core::GeneralConfig &generalConfig, const core::Scene &scene)
virtual void visualizeDebugInfo(viz::Client &vizClient, const std::string &vizLayerNamePrefix="global_planner_debug")
std::shared_ptr< class Robot > RobotPtr
std::shared_ptr< Dict > DictPtr
This file is part of ArmarX.
Parameters for AStarWithOrientation.
aron::data::DictPtr toAron() const override
static AStarWithOrientationParams FromAron(const aron::data::DictPtr &dict)
Algorithms algorithm() const override
Parameters for GlobalPlanner.