76 const VirtualRobot::SceneObjectSetPtr& obstacles,
77 const std::vector<VirtualRobot::RobotPtr>& articulatedObjects,
78 const std::vector<Room>& rooms,
80 const std::string& robotCollisonModelName,
92 static Eigen::MatrixXf
119 VirtualRobot::SceneObjectSetPtr filterObjectsForCostmap(
const Costmap3D&
costmap);
124 struct MapStructCommon
126 std::optional<float> maskOpt;
134 return maskOpt.has_value() and not maskOpt.value();
141 DistanceCalculator distanceCalculator;
144 struct MapStructRobot2D
151 std::optional<DebugOutput2D> debugOutput2D;
153 using MapFn = std::function<
float(
const MapStruct&)>;
154 using MapFnRobot2D = std::function<
float(
const MapStructRobot2D&)>;
155 void applyFnToCostmap(Costmap3D& costmap,
const MapFn& fn);
156 void applyFnToCostmap(Costmap3D& costmap,
const MapFnRobot2D& fn);
158 void initializeEmptyMask(Costmap3D& costmap);
161 const VirtualRobot::SceneObjectSetPtr obstacles;
162 VirtualRobot::SceneObjectSetPtr filteredObstacles;
163 const std::vector<VirtualRobot::RobotPtr> articulatedObjects;
164 std::vector<Room>
rooms;
165 const Costmap3D::Parameters parameters;
166 const std::string robotCollisionModelName;
168 const Costmap3DBuilderParams builderParameters;
170 Eigen::Isometry2f root_T_used_root_2d = Eigen::Isometry2f::Identity();
Costmap3DBuilder(const VirtualRobot::RobotPtr &robot, const VirtualRobot::SceneObjectSetPtr &obstacles, const std::vector< VirtualRobot::RobotPtr > &articulatedObjects, const std::vector< Room > &rooms, const Costmap3D::Parameters ¶meters, const std::string &robotCollisonModelName, const Costmap3DBuilderParams &builderParameters)