#include <TraversabilityGenerator3d.hpp>
|
| | TraversabilityGenerator3d (const TraversabilityConfig &config) |
| |
| virtual | ~TraversabilityGenerator3d () |
| |
| void | clearTrMap () |
| |
| void | clearSoilMap () |
| |
| void | setInitialPatch (const Eigen::Affine3d &ground2Mls, double patchRadius) |
| |
| void | setSoilType (SoilNode *node, SoilType soilType) |
| |
| bool | addSoilNode (const SoilSample &sample) |
| |
| double | gaussian2D (double x, double y, double meanX, double meanY, double sigmaX, double sigmaY) |
| |
| virtual TravGenNode * | generateStartNode (const Eigen::Vector3d &startPos) |
| |
| TravGenNode * | findMatchingTraversabilityPatchAt (maps::grid::Index idx, const double curHeight) const |
| |
| SoilNode * | findMatchingSoilPatchAt (maps::grid::Index idx, const double curHeight) const |
| |
| void | updateSoilInformation () |
| |
| void | expandAll (const std::vector< Eigen::Vector3d > &positions) |
| |
| void | expandAll (const Eigen::Vector3d &startPos) |
| |
| void | expandAll (const Eigen::Vector3d &startPos, const double expandDist) |
| |
| void | expandAll (TravGenNode *startNode) |
| |
| void | expandAll (TravGenNode *startNode, const double expandDist) |
| |
| virtual bool | expandNode (TravGenNode *node) |
| |
| void | setMLSGrid (std::shared_ptr< MLGrid > &grid) |
| |
| int | getNumNodes () const |
| |
| const maps::grid::TraversabilityMap3d< TravGenNode * > & | getTraversabilityMap () const |
| |
| const maps::grid::TraversabilityMap3d< SoilNode * > & | getSoilMap () const |
| |
| void | addConnectedPatches (SoilNode *node) |
| |
| void | setConfig (const TraversabilityConfig &config) |
| |
|
| Polyhedron_3 | generatePolyhedron (const std::vector< Eigen::Vector3d > &points) |
| |
| void | transformPolyhedron (Polyhedron_3 &polyhedron, const Transformation &transform) |
| |
| Transformation | generateTransform (const Eigen::Vector3d &normal, const Eigen::Vector3d &translation) |
| |
| Polyhedron_3 | createPolyhedronFromSurfacePatch (const maps::grid::SurfacePatch< maps::grid::MLSConfig::SLOPE > *p, const Eigen::Vector3d &position) |
| |
| void | drawWireFrameBox (const Eigen::Vector3d &normal, const Eigen::Vector3d &position, const Eigen::Vector3d &size, const Eigen::Vector4d &colorRGBA) |
| |
| bool | computePlaneRansac (TravGenNode &node) |
| |
| double | computeSlope (const Eigen::Hyperplane< double, int(3) > &plane) const |
| |
| Eigen::Vector3d | computeSlopeDirection (const Eigen::Hyperplane< double, int(3) > &plane) const |
| |
| bool | checkStepHeightAABB (TravGenNode *node) |
| |
| bool | checkStepHeightOBB (TravGenNode *node) |
| |
| bool | computeAllowedOrientations (TravGenNode *node) |
| |
| void | addConnectedPatches (TravGenNode *node) |
| |
| bool | getConnectedPatch (const maps::grid::Index &idx, double height, const Patch *&patch) |
| |
| bool | isNodeFreeOfObstacles (const traversability_generator3d::TravGenNode *node) const |
| |
| TravGenNode * | createTraversabilityPatchAt (maps::grid::Index idx, const double curHeight) |
| |
| SoilNode * | createSoilPatchAt (maps::grid::Index idx, const double curHeight) |
| |
| void | inflateFrontiers () |
| |
| void | inflateObstacles () |
| |
| void | addInitialPatchToMLS () |
| |
| int | intersections () |
| |
| SoilNode * | generateStartSoilNode (const Eigen::Vector3d &startPos) |
| |
◆ Cell
◆ MLGrid
◆ Patch
◆ View
◆ ViewCell
◆ TraversabilityGenerator3d()
◆ ~TraversabilityGenerator3d()
| traversability_generator3d::TraversabilityGenerator3d::~TraversabilityGenerator3d |
( |
| ) |
|
|
virtual |
◆ addConnectedPatches() [1/2]
| void traversability_generator3d::TraversabilityGenerator3d::addConnectedPatches |
( |
SoilNode * |
node | ) |
|
◆ addConnectedPatches() [2/2]
| void traversability_generator3d::TraversabilityGenerator3d::addConnectedPatches |
( |
TravGenNode * |
node | ) |
|
|
protected |
◆ addInitialPatchToMLS()
| void traversability_generator3d::TraversabilityGenerator3d::addInitialPatchToMLS |
( |
| ) |
|
|
protected |
◆ addSoilNode()
| bool traversability_generator3d::TraversabilityGenerator3d::addSoilNode |
( |
const SoilSample & |
sample | ) |
|
◆ checkForFrontier()
| bool traversability_generator3d::TraversabilityGenerator3d::checkForFrontier |
( |
const TravGenNode * |
node | ) |
|
|
staticprotected |
◆ checkStepHeightAABB()
| bool traversability_generator3d::TraversabilityGenerator3d::checkStepHeightAABB |
( |
TravGenNode * |
node | ) |
|
|
protected |
What this method does: Check if any of the patches around node that the robot might stand on is higher than stepHeight. I.e. if any of the patches is so high that it would be inside the robots body.
◆ checkStepHeightOBB()
| bool traversability_generator3d::TraversabilityGenerator3d::checkStepHeightOBB |
( |
TravGenNode * |
node | ) |
|
|
protected |
What this method does: Check if any of the patches within the robot OBB node come into collison with the robot.
◆ clearSoilMap()
| void traversability_generator3d::TraversabilityGenerator3d::clearSoilMap |
( |
| ) |
|
◆ clearTrMap()
| void traversability_generator3d::TraversabilityGenerator3d::clearTrMap |
( |
| ) |
|
◆ computeAllowedOrientations()
| bool traversability_generator3d::TraversabilityGenerator3d::computeAllowedOrientations |
( |
TravGenNode * |
node | ) |
|
|
protected |
- Returns
- false if no allowed orientation was found (e.g. due to extreme slope)
◆ computePlaneRansac()
| bool traversability_generator3d::TraversabilityGenerator3d::computePlaneRansac |
( |
TravGenNode & |
node | ) |
|
|
protected |
◆ computeSlope()
| double traversability_generator3d::TraversabilityGenerator3d::computeSlope |
( |
const Eigen::Hyperplane< double, int(3) > & |
plane | ) |
const |
|
protected |
◆ computeSlopeDirection()
| Eigen::Vector3d traversability_generator3d::TraversabilityGenerator3d::computeSlopeDirection |
( |
const Eigen::Hyperplane< double, int(3) > & |
plane | ) |
const |
|
protected |
The vector of maximum slope on a plane is the projection of (0,0,1) onto the plane. (0,0,1) is the steepest vector possible in the global frame, thus by projecting it onto the plane we get the steepest vector possible on that plane.
◆ createPolyhedronFromSurfacePatch()
| Polyhedron_3 traversability_generator3d::TraversabilityGenerator3d::createPolyhedronFromSurfacePatch |
( |
const maps::grid::SurfacePatch< maps::grid::MLSConfig::SLOPE > * |
p, |
|
|
const Eigen::Vector3d & |
position |
|
) |
| |
|
protected |
◆ createSoilPatchAt()
| SoilNode * traversability_generator3d::TraversabilityGenerator3d::createSoilPatchAt |
( |
maps::grid::Index |
idx, |
|
|
const double |
curHeight |
|
) |
| |
|
protected |
◆ createTraversabilityPatchAt()
| TravGenNode * traversability_generator3d::TraversabilityGenerator3d::createTraversabilityPatchAt |
( |
maps::grid::Index |
idx, |
|
|
const double |
curHeight |
|
) |
| |
|
protected |
◆ drawWireFrameBox()
| void traversability_generator3d::TraversabilityGenerator3d::drawWireFrameBox |
( |
const Eigen::Vector3d & |
normal, |
|
|
const Eigen::Vector3d & |
position, |
|
|
const Eigen::Vector3d & |
size, |
|
|
const Eigen::Vector4d & |
colorRGBA |
|
) |
| |
|
protected |
◆ expandAll() [1/5]
| void traversability_generator3d::TraversabilityGenerator3d::expandAll |
( |
const Eigen::Vector3d & |
startPos | ) |
|
◆ expandAll() [2/5]
| void traversability_generator3d::TraversabilityGenerator3d::expandAll |
( |
const Eigen::Vector3d & |
startPos, |
|
|
const double |
expandDist |
|
) |
| |
Expands the map starting at startPos. Expansion will stop if a distance of expandDist is reached. I.e. this will expand all nodes in a circle of radius expandDist around startPos.
◆ expandAll() [3/5]
| void traversability_generator3d::TraversabilityGenerator3d::expandAll |
( |
const std::vector< Eigen::Vector3d > & |
positions | ) |
|
Expand the map starting from all given positions
◆ expandAll() [4/5]
| void traversability_generator3d::TraversabilityGenerator3d::expandAll |
( |
TravGenNode * |
startNode | ) |
|
◆ expandAll() [5/5]
- Parameters
-
| expandDist | How far should the map be expanded? If negative the whole map will be expanded. |
◆ expandNode()
| bool traversability_generator3d::TraversabilityGenerator3d::expandNode |
( |
TravGenNode * |
node | ) |
|
|
virtual |
◆ findMatchingSoilPatchAt()
| SoilNode * traversability_generator3d::TraversabilityGenerator3d::findMatchingSoilPatchAt |
( |
maps::grid::Index |
idx, |
|
|
const double |
curHeight |
|
) |
| const |
◆ findMatchingTraversabilityPatchAt()
| TravGenNode * traversability_generator3d::TraversabilityGenerator3d::findMatchingTraversabilityPatchAt |
( |
maps::grid::Index |
idx, |
|
|
const double |
curHeight |
|
) |
| const |
◆ gaussian2D()
◆ generatePolyhedron()
| Polyhedron_3 traversability_generator3d::TraversabilityGenerator3d::generatePolyhedron |
( |
const std::vector< Eigen::Vector3d > & |
points | ) |
|
|
protected |
◆ generateStartNode()
| TravGenNode * traversability_generator3d::TraversabilityGenerator3d::generateStartNode |
( |
const Eigen::Vector3d & |
startPos | ) |
|
|
virtual |
◆ generateStartSoilNode()
| SoilNode * traversability_generator3d::TraversabilityGenerator3d::generateStartSoilNode |
( |
const Eigen::Vector3d & |
startPos | ) |
|
|
protected |
◆ generateTransform()
| Transformation traversability_generator3d::TraversabilityGenerator3d::generateTransform |
( |
const Eigen::Vector3d & |
normal, |
|
|
const Eigen::Vector3d & |
translation |
|
) |
| |
|
protected |
◆ getConnectedPatch()
| bool traversability_generator3d::TraversabilityGenerator3d::getConnectedPatch |
( |
const maps::grid::Index & |
idx, |
|
|
double |
height, |
|
|
const Patch *& |
patch |
|
) |
| |
|
protected |
◆ getNumNodes()
| int traversability_generator3d::TraversabilityGenerator3d::getNumNodes |
( |
| ) |
const |
Returns the number of nodes after expansion
◆ getSoilMap()
| const maps::grid::TraversabilityMap3d< SoilNode * > & traversability_generator3d::TraversabilityGenerator3d::getSoilMap |
( |
| ) |
const |
◆ getTraversabilityMap()
| const maps::grid::TraversabilityMap3d< TravGenNode * > & traversability_generator3d::TraversabilityGenerator3d::getTraversabilityMap |
( |
| ) |
const |
◆ inflateFrontiers()
| void traversability_generator3d::TraversabilityGenerator3d::inflateFrontiers |
( |
| ) |
|
|
protected |
◆ inflateObstacles()
| void traversability_generator3d::TraversabilityGenerator3d::inflateObstacles |
( |
| ) |
|
|
protected |
◆ interpolate()
◆ intersections()
| int traversability_generator3d::TraversabilityGenerator3d::intersections |
( |
| ) |
|
|
protected |
◆ isNodeFreeOfObstacles()
◆ setConfig()
◆ setInitialPatch()
| void traversability_generator3d::TraversabilityGenerator3d::setInitialPatch |
( |
const Eigen::Affine3d & |
ground2Mls, |
|
|
double |
patchRadius |
|
) |
| |
◆ setMLSGrid()
| void traversability_generator3d::TraversabilityGenerator3d::setMLSGrid |
( |
std::shared_ptr< MLGrid > & |
grid | ) |
|
◆ setSoilType()
| void traversability_generator3d::TraversabilityGenerator3d::setSoilType |
( |
SoilNode * |
node, |
|
|
SoilType |
soilType |
|
) |
| |
◆ transformPolyhedron()
◆ updateSoilInformation()
| void traversability_generator3d::TraversabilityGenerator3d::updateSoilInformation |
( |
| ) |
|
◆ addInitialPatch
| bool traversability_generator3d::TraversabilityGenerator3d::addInitialPatch |
|
protected |
◆ config
◆ currentNodeId
| int traversability_generator3d::TraversabilityGenerator3d::currentNodeId = 0 |
|
protected |
◆ currentSoilNodeId
| int traversability_generator3d::TraversabilityGenerator3d::currentSoilNodeId = 0 |
|
protected |
◆ frontierNodesGrowList
| std::vector<TravGenNode *> traversability_generator3d::TraversabilityGenerator3d::frontierNodesGrowList |
|
protected |
◆ initialPatch2Mls
| Eigen::Affine3d traversability_generator3d::TraversabilityGenerator3d::initialPatch2Mls |
|
protected |
◆ mlsGrid
| std::shared_ptr<MLGrid > traversability_generator3d::TraversabilityGenerator3d::mlsGrid |
|
protected |
◆ obstacleNodesGrowList
| std::vector<TravGenNode*> traversability_generator3d::TraversabilityGenerator3d::obstacleNodesGrowList |
|
protected |
◆ patchEdges
| std::vector<Eigen::Vector3d> traversability_generator3d::TraversabilityGenerator3d::patchEdges |
|
protected |
◆ patchHeight
| double traversability_generator3d::TraversabilityGenerator3d::patchHeight |
|
protected |
◆ patchPolyhedron
| Polyhedron_3 traversability_generator3d::TraversabilityGenerator3d::patchPolyhedron |
|
protected |
◆ patchRadius
| double traversability_generator3d::TraversabilityGenerator3d::patchRadius |
|
protected |
◆ robotEdges
| std::vector<Eigen::Vector3d> traversability_generator3d::TraversabilityGenerator3d::robotEdges |
|
protected |
◆ robotPolyhedron
| Polyhedron_3 traversability_generator3d::TraversabilityGenerator3d::robotPolyhedron |
|
protected |
◆ soilMap
| maps::grid::TraversabilityMap3d<SoilNode*> traversability_generator3d::TraversabilityGenerator3d::soilMap |
|
protected |
◆ trMap
| maps::grid::TraversabilityMap3d<TravGenNode*> traversability_generator3d::TraversabilityGenerator3d::trMap |
|
protected |
The documentation for this class was generated from the following files: