55 std::vector<std::vector<Eigen::Vector2i>>
parents;
65 std::vector<Eigen::Vector2f>
path;
69 operator bool() const noexcept
83 const Eigen::Vector2f& goal,
84 bool checkStartForCollision =
true)
const;
89 const std::vector<std::vector<Eigen::Vector2i>>& spfaParents,
90 const Eigen::Vector2f& goal)
const;
92 Result spfa(
const Eigen::Vector2f& start,
bool checkStartForCollision =
true)
const;
103 const Eigen::Vector2i& source,
104 bool checkStartForCollision =
true)
const;
113 std::optional<ShortestPathFasterAlgorithm::ClosestReachableResult>
115 const Eigen::Vector2f& goal,
ShortestPathFasterAlgorithm(const Costmap &costmap, const Parameters ¶ms)
PlanningResult constructPath(const Eigen::Vector2f &start, const std::vector< std::vector< Eigen::Vector2i > > &spfaParents, const Eigen::Vector2f &goal) const
Result spfa(const Eigen::Vector2f &start, bool checkStartForCollision=true) const
PlanningResult plan(const Eigen::Vector2f &start, const Eigen::Vector2f &goal, bool checkStartForCollision=true) const
This file is part of ArmarX.
This file is part of ArmarX.
std::optional< ShortestPathFasterAlgorithm::ClosestReachableResult > findClosestReachablePosition(const ShortestPathFasterAlgorithm::Result &spfaResult, const Eigen::Vector2f &goal, const Costmap &costmap)
float euclideanDistanceToGoal
Eigen::Vector2i gridIndex
bool obstacleDistanceCosts
float obstacleMaxDistance
For ARMAR-7 the following was tested:
float obstacleCostExponent
float obstacleDistanceWeight
std::vector< Eigen::Vector2f > path
std::vector< std::vector< Eigen::Vector2i > > parents
Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > Mask
Eigen::MatrixXf distances