Conscience Core
PathFinding3D25D.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <CscCommon.h>
5 
6 using namespace conscience_core::axiomes;
7 
9 
11  bool exportTopViewPng = false;
12  bool exportColoredPly = false;
13 
14  fs::path topViewPngPath;
15  fs::path coloredPlyPath;
16 
17  int pngScale = 2;
18 };
19 
21  double resolutionCm = 5.0;
22 
23  double robotWidthCm = 40.0; // Z axis
24  double robotLengthCm = 80.0; // X axis
25  double robotHeightCm = 50.0; // Y axis
26  double desiredClearanceToObstacleCm = 20.0;
27  double robotHardSafetyMarginCm = 6.0;
28 
29  double mapMarginCm = 150.0;
30 
31  double maxStepHeightCm = 8.0;
32  double maxSlopeRads = 0.45;
33  double maxRoughnessCm = 12.0;
34 
35  double weightedAStarHeuristicWeight = 1.45;
36 
37  double slopeCostWeight = 4.0;
38  double roughnessCostWeight = 0.15;
39  double climbCostWeight = 0.35;
40  double clearanceCostWeight = 10.0;
41  double unknownCellCost = 3.0;
42 
43  bool allowUnknownCells = true;
44  bool smoothingPathResult = true;
45 
46  std::optional<double> distanceForAddIntermediatePointsCm = 10.0;
47 
48  int nearestValidSearchRadiusCells = 40;
49 
50  unsigned minPointsPerCell = 4;
51 
55  optional<double> globalMinY = 0;
56 
58 };
59 
71 std::vector<CscPoint3dOriented *> planPath3D25DWeightedAStar(
72  const CscPoint3dIterable &cartographyWorldCoordinates,
73  const CscPoint3dIterable &realtimeScanWorldCoordinates,
74  const CscPoint3d &startPosition,
75  const CscQuaternion &entityStartOrientationQuaternion,
76  const CscPoint3d &targetPosition,
77  const Plan3D25DParams &params,
78  CscPoint3d **outClosestValidPosition = nullptr);
79 }
conscience_core::axiomes::CscPoint3d
The CscPoint3d class represents a point in three-dimensional space. It is primarily used to denote a ...
Definition: Csc3dTypes.h:24
conscience_core::ai::algorithms::path_finding::Plan3D25DDebugExport
Definition: PathFinding3D25D.h:10
conscience_core::axiomes
Definition: Csc2dTypes.cpp:9
conscience_core::ai::algorithms::path_finding::Plan3D25DDebugExport::coloredPlyPath
fs::path coloredPlyPath
Definition: PathFinding3D25D.h:15
conscience_core::ai::algorithms::path_finding::Plan3D25DParams
Definition: PathFinding3D25D.h:20
resolutionCm
double resolutionCm
Definition: PathFinding3D25D.cpp:51
conscience_core::ai::algorithms::path_finding
Definition: Dijkstra.cpp:7
CscCommon.h
conscience_core::ai::algorithms::path_finding::Plan3D25DDebugExport::topViewPngPath
fs::path topViewPngPath
Definition: PathFinding3D25D.h:14
conscience_core::axiomes::CscQuaternion
Definition: Csc3dTypes.h:150
conscience_core::bridging::commands::environment_objects::optional< double >
const ptr< CscObjectModel > const string const CscPoint3d const CscPoint3d optional< double >
Definition: environmentObjectsCommands.h:367
CscPoint3dIterable
Definition: CscPoint3dIterable.h:19
conscience_core::ai::algorithms::path_finding::planPath3D25DWeightedAStar
vector< CscPoint3dOriented * > planPath3D25DWeightedAStar(const CscPoint3dIterable &cartographyWorldCoordinates, const CscPoint3dIterable &realtimeScanWorldCoordinates, const CscPoint3d &startPosition, const CscQuaternion &entityStartOrientationQuaternion, const CscPoint3d &targetPosition, const Plan3D25DParams &params, CscPoint3d **outClosestValidPosition)
Definition: PathFinding3D25D.cpp:1199
conscience_core::ai::algorithms::path_finding::Plan3D25DParams::exportConfig
Plan3D25DDebugExport exportConfig
Definition: PathFinding3D25D.h:57
CscPoint3dIterable.h