#include <armarx/navigation/algorithms/Costmap.h>
|
| bool | add (const Costmap &other, AddMode mode, bool keepThis=false) |
| |
| bool | add (const Costmap &other, float weight=1.0) |
| |
| bool | addCostmapWithSameSizeAndPose (const Costmap &other, AddMode mode) |
| |
| core::Pose2D | centerPose () const |
| |
| | Costmap (const Grid &grid, const Parameters ¶meters, const SceneBounds &sceneBounds, const std::optional< Mask > &mask=std::nullopt, const core::Pose2D &origin=core::Pose2D::Identity()) |
| |
| void | cutToValidBoundingBox () |
| |
| void | excludeUnreachable (const Position &position) |
| |
| void | filter (const Filter &filter) |
| |
| std::optional< Vertex > | findClosestCollisionFreeVertex (const Position &position, float maxDistance) const |
| | Find the closest collision-free position to a given position.
|
| |
| void | forEachCell (const std::function< void(const Index &)> &f) const |
| |
| void | forEachCellParallel (const std::function< void(const Index &)> &f) const |
| |
| const Grid & | getGrid () const |
| |
| const SceneBounds & | getLocalSceneBounds () const noexcept |
| |
| const std::optional< Mask > & | getMask () const noexcept |
| |
| Grid & | getMutableGrid () |
| |
| std::optional< Costmap::Mask > & | getMutableMask () noexcept |
| |
| std::pair< Index, Index > | getValidBoundingBox () const |
| |
| bool | isInCollision (const Position &p) const |
| |
| bool | isValid (const Index &index) const noexcept |
| | checks whether the cell is masked out
|
| |
| Costmap | mergeInto (const std::vector< Costmap > &costmaps, const std::vector< float > &weights) const |
| | Merge a list of costmaps into this costmap.
|
| |
| std::size_t | numberOfValidElements () const |
| |
| Optimum | optimum () const |
| |
| const core::Pose2D & | origin () const |
| |
| const Parameters & | params () const noexcept |
| |
| void | setOrigin (const core::Pose2D &globalPose) |
| |
| std::pair< int, int > | toIndexUnsanitized (const Eigen::Vector2f &globalPosition) const |
| |
| Position | toPositionGlobal (const Index &index) const |
| |
| Position | toPositionLocal (const Index &index) const |
| |
| Vertex | toVertex (const Position &globalPosition) const |
| |
| std::optional< Costmap::Vertex > | toVertexOrInvalid (const Eigen::Vector2f &globalPosition) const |
| |
| void | validateSizes () const |
| |
| std::optional< float > | value (const Index &index) const |
| |
| std::optional< float > | value (const Position &position) const |
| |
|
| static Costmap | WithSameDimsAs (const Costmap &other, const Grid &grid, const std::optional< Mask > &mask=std::nullopt) |
| | Create a costmap with the same dimensions and parameters as the given one.
|
| |
Definition at line 17 of file Costmap.h.
◆ Grid
| using Grid = Eigen::MatrixXf |
◆ Index
| using Index = Eigen::Array2i |
◆ Mask
◆ Position
◆ AddMode
| Enumerator |
|---|
| MIN | |
| MAX | |
| MULTIPLY | |
Definition at line 133 of file Costmap.h.
◆ Costmap()
◆ add() [1/2]
| bool add |
( |
const Costmap & | other, |
|
|
AddMode | mode, |
|
|
bool | keepThis = false ) |
◆ add() [2/2]
◆ addCostmapWithSameSizeAndPose()
| bool addCostmapWithSameSizeAndPose |
( |
const Costmap & | other, |
|
|
AddMode | mode ) |
◆ centerPose()
◆ cutToValidBoundingBox()
| void cutToValidBoundingBox |
( |
| ) |
|
◆ excludeUnreachable()
| void excludeUnreachable |
( |
const Position & | position | ) |
|
◆ filter()
| void filter |
( |
const Filter & | filter | ) |
|
◆ findClosestCollisionFreeVertex()
Find the closest collision-free position to a given position.
Searches in expanding circles up to maxDistance for the closest position that is not in collision (grid value > 0).
- Parameters
-
| position | The starting position to search from |
| maxDistance | Maximum search radius [mm] |
- Returns
- std::optional<Vertex> The closest collision-free vertex, or nullopt if none found
Definition at line 860 of file Costmap.cpp.
◆ forEachCell()
| void forEachCell |
( |
const std::function< void(const Index &)> & | f | ) |
const |
◆ forEachCellParallel()
| void forEachCellParallel |
( |
const std::function< void(const Index &)> & | f | ) |
const |
◆ getGrid()
◆ getLocalSceneBounds()
◆ getMask()
◆ getMutableGrid()
| Grid & getMutableGrid |
( |
| ) |
|
|
inline |
◆ getMutableMask()
◆ getValidBoundingBox()
◆ isInCollision()
| bool isInCollision |
( |
const Position & | p | ) |
const |
◆ isValid()
| bool isValid |
( |
const Index & | index | ) |
const |
|
noexcept |
checks whether the cell is masked out
Definition at line 82 of file Costmap.cpp.
◆ mergeInto()
| Costmap mergeInto |
( |
const std::vector< Costmap > & | costmaps, |
|
|
const std::vector< float > & | weights ) const |
Merge a list of costmaps into this costmap.
- Parameters
-
| costmaps | list of other costmaps |
| weights | [weights of other costmaps..., weights of this costmap] |
- Returns
- the merged costmap
Definition at line 596 of file Costmap.cpp.
◆ numberOfValidElements()
| std::size_t numberOfValidElements |
( |
| ) |
const |
◆ optimum()
◆ origin()
◆ params()
◆ setOrigin()
◆ toIndexUnsanitized()
| std::pair< int, int > toIndexUnsanitized |
( |
const Eigen::Vector2f & | globalPosition | ) |
const |
◆ toPositionGlobal()
◆ toPositionLocal()
◆ toVertex()
◆ toVertexOrInvalid()
| std::optional< Costmap::Vertex > toVertexOrInvalid |
( |
const Eigen::Vector2f & | globalPosition | ) |
const |
◆ validateSizes()
| void validateSizes |
( |
| ) |
const |
◆ value() [1/2]
| std::optional< float > value |
( |
const Index & | index | ) |
const |
◆ value() [2/2]
◆ WithSameDimsAs()
| Costmap WithSameDimsAs |
( |
const Costmap & | other, |
|
|
const Grid & | grid, |
|
|
const std::optional< Mask > & | mask = std::nullopt ) |
|
static |
Create a costmap with the same dimensions and parameters as the given one.
Only the content (grid and mask) are altered.
- Parameters
-
| other | The costmap providing the dimensions and parameters |
| grid | |
| mask | |
- Returns
- Costmap
Definition at line 854 of file Costmap.cpp.
◆ CostmapBuilder
◆ SocialCostmapBuilder
| friend class SocialCostmapBuilder |
|
friend |
The documentation for this class was generated from the following files: