Go to the documentation of this file.
19 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
56 using Grid = Eigen::MatrixXf;
64 const std::optional<Mask>& mask = std::nullopt,
95 const Eigen::Vector2f costmap_P_center{
101 return global_T_costmap * Eigen::Translation2f(costmap_P_center);
115 bool add(
const Costmap& other,
float weight = 1.0);
128 const std::optional<Mask>&
getMask() const noexcept;
140 const
std::vector<
float>& weights) const;
145 return global_T_costmap;
151 global_T_costmap = globalPose;
161 void validateSizes()
const;
166 std::optional<Mask> mask;
const std::optional< Mask > & getMask() const noexcept
void setOrigin(const core::Pose2D &globalPose)
void cutToValidBoundingBox()
std::optional< Costmap::Mask > & getMutableMask() noexcept
Costmap(const Grid &grid, const Parameters ¶meters, const SceneBounds &sceneBounds, const std::optional< Mask > &mask=std::nullopt, const core::Pose2D &origin=core::Pose2D::Identity())
std::pair< Index, Index > getValidBoundingBox() const
This file is part of ArmarX.
aron::data::DictPtr Parameters
Position toPositionGlobal(const Index &index) const
Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > Mask
void excludeUnreachable(const Position &position)
const SceneBounds & getLocalSceneBounds() const noexcept
friend class SocialCostmapBuilder
core::Pose2D centerPose() const
void Identity(MatrixXX< N, N, T > *a)
Filter & setUseMinimum(bool value)
const Parameters & params() const noexcept
Position toPositionLocal(const Index &index) const
Vertex toVertex(const Position &globalPosition) const
const Grid & getGrid() const
std::optional< float > value(const Index &index) const
Costmap mergeInto(const std::vector< Costmap > &costmaps, const std::vector< float > &weights) const
Merge a list of costmaps into this costmap.
void filter(const Filter &filter)
float cellSize
How big each cell is in the uniform grid.
const core::Pose2D & origin() const
bool isValid(const Index &index) const noexcept
checks whether the cell is masked out
bool add(const Costmap &other, float weight=1.0)
std::size_t numberOfValidElements() const
static Filter gaussian(int radius=2, float sigma=1.)
bool isInCollision(const Position &p) const