#include "./CscMrptAutonomousExploration.h"#include <Simulator/CscEnvironmentSimulator.h>#include "../Lidar/CscSlamEngine.h"#include "Bridging/EnvironmentInteractionCommands/environmentEntitiesCommands.h"#include "CoreObjects/CscStringCommandsBuilder.h"#include "Util/fs.h"#include "Util/system.h"#include <Bridging/EnvironmentInteractionCommands/CommandEntityFollowPath.h>#include <Configuration/CscKeyDirectories.h>#include <ArtificialIntelligence/CscEntityReflexion.h>#include <SequenceProcessor/CscSequencesProcessor.h>#include <ArtificialIntelligence/Algorithms/pathFinding.h>#include <opencv2/opencv.hpp>#include <mrpt/maps/COccupancyGridMap2D.h>#include <mrpt/math/TPoint2D.h>#include <mrpt/math/TPose2D.h>#include <queue>#include <unordered_map>#include <vector>#include <cmath>#include <limits>#include <algorithm>Classes | |
| struct | conscience_core::ai::MrptGrid |
| struct | conscience_core::ai::NodeHash |
Namespaces | |
| conscience_core | |
| conscience_core::ai | |
Enumerations | |
| enum | conscience_core::ai::PickFrontierMode { conscience_core::ai::PickFrontierMode_Closest, conscience_core::ai::PickFrontierMode_Furthest } |
Functions | |
| void | conscience_core::ai::exportMapToText (const mrpt::maps::COccupancyGridMap2D *map, const std::string &filename="slam_map.txt") |
| MrptGrid | conscience_core::ai::fromMap (const COccupancyGridMap2D &m) |
| bool | conscience_core::ai::xy2ij (const MrptGrid &g, double x, double y, int &i, int &j) |
| void | conscience_core::ai::ij2xy (const MrptGrid &g, int i, int j, double &x, double &y) |
| double | conscience_core::ai::normAng (double a) |
| fs::path | conscience_core::ai::generateOutPath (const std::string &filenameSuffix, const string &ext) |
| static pair< size_t, TPoint2D > | conscience_core::ai::pickFrontier (const std::vector< TPoint2D > &fs, const TPose2D &robotPose) |
| static void | conscience_core::ai::eraseFrontier (std::vector< TPoint2D > &fs, const TPoint2D &f) |
| static void | conscience_core::ai::eraseFrontier (std::vector< TPoint2D > &fs, size_t idx) |
| void | conscience_core::ai::clusterFrontiers (std::vector< TPoint2D > &frontiers, double maxDist) |
| void | conscience_core::ai::filterCloseFrontiers (std::vector< TPoint2D > &frontiers, const TPose2D &pose, double minDist) |
| string | conscience_core::ai::gridToJson (const Grid &grid) |
| vector< TPose2D > | conscience_core::ai::planHybridAStar (const TPose2D &robotPose, const TPoint2D &targetPose, const COccupancyGridMap2D &map, CscSlamEngine *slamEngine, const CscPoint2d &robotDimensions) |
Variables | |
| unique_ptr< CscLogger > | conscience_core::ai::logger = CscLogger::getForCategory("CscMrptAutonomousExploration") |
| const double | conscience_core::ai::maxLinearSpeed = 0.4 |
| const double | conscience_core::ai::maxAngularSpeed = 0.8 |
| const double | conscience_core::ai::obstacleClearance = 0.05 |
| const double | conscience_core::ai::occThreshold = 0.22 |
| const size_t | conscience_core::ai::minFrontierSize = 3 |
| const double | conscience_core::ai::replanCooldownSeconds = 8 |
| const size_t | conscience_core::ai::noFrontiersStopThreshold = 40 |
| const double | conscience_core::ai::restoreExplorationMoveFactor = .35 |
| constexpr int | conscience_core::ai::pathFindingMarginCells = 0 |
| constexpr bool | conscience_core::ai::savePathFindingDebugFilesEnabled = false |
| constexpr bool | conscience_core::ai::saveExplorationDebugFilesEnabled = false |
| constexpr PickFrontierMode | conscience_core::ai::pickFrontierMode = PickFrontierMode_Closest |
| unsigned long long | conscience_core::ai::last = 0 |