62 std::optional<algorithms::SceneBounds>
corridor;
80 const std::string& room,
81 const std::vector<std::string>& sceneFiles,
82 float wallThickness = 200.F);
141 const CorridorParameters& parameters);
170 const SerpentineParameters& parameters,
This file is part of ArmarX.
bool contains(const algorithms::SceneBounds &bounds, const Eigen::Vector2f &point)
Whether a point lies within the bounds, edges included.
algorithms::SceneBounds makeCorridor(analysis::Scene &scene, const CorridorParameters ¶meters)
A dead-end corridor opening into the rest of the room.
float makeSerpentine(analysis::Scene &scene, const SerpentineParameters ¶meters, const float robotRadius)
Replace the room's contents with transverse walls whose openings alternate sides.
RoomScene buildRoomScene(const std::filesystem::path &priorKnowledge, const std::string &room, const std::vector< std::string > &sceneFiles, const float wallThickness)
Build the scene for a room from PriorKnowledgeData.
int addClutter(analysis::Scene &scene, const ClutterParameters ¶meters, std::mt19937 &rng)
Scatter boxes through the room to create tight passages.
constexpr std::size_t roomWallCount
Number of wall boxes buildRoomScene puts at the front of the obstacle list.
The synthetic scene: what the world looks like, independent of the planner.
int maxAttempts
Attempts per box before giving up, so a saturated room terminates.
float minGap
Gap [mm] a new box must leave to every obstacle already placed.
int count
Boxes to add. R007 is 6 x 14 m, so a few dozen already makes it hard.
float length
How far the corridor runs into the room [mm].
float width
Clear width [mm] between the corridor walls.
A pose from the room's navigation graph, kept with its name so a failing request can be reported as s...
The room as the planner sees it, assembled from PriorKnowledgeData.
std::vector< NamedPose > locations
Poses from navigation-graphs/<room>/locations.json.
std::optional< algorithms::SceneBounds > corridor
Set when the scene is a corridor, so requests can be drawn as exits from it.
analysis::Scene scene
The first roomWallCount obstacles are always the room walls, which is what lets the synthetic scenes ...
std::vector< std::string > importWarnings
Import problems: objects and locations dropped, and objects kept with an approximated footprint.
float passageWidth
Width [mm] of every opening.
int walls
Number of transverse walls.