Conscience Core
Classes | Namespaces | Enumerations | Functions | Variables
CscSlamEngine.h File Reference
#include <CscCommon.h>
#include <mutex>
#include <queue>
#include <filesystem>
#include <shared_mutex>
#include <mrpt/math/TPose2D.h>
#include <mrpt/poses/CPose3D.h>
#include <mrpt/maps/CSimplePointsMap.h>
#include <Lidar/CscEntityPositionManager.h>
#include <Lidar/CscLidarEngine.h>
#include <Axiomes/Csc2dTypes.h>
#include <unordered_set>

Go to the source code of this file.

Classes

struct  conscience_core::lidar::CscSlam3dMapVoxelKey
 
struct  conscience_core::lidar::CscSlam3dMapVoxelKeyHash
 
struct  conscience_core::lidar::CscSlam3dMapVoxelDiff
 
struct  conscience_core::lidar::CscSlam3dMapVoxelChanges
 
struct  conscience_core::lidar::CscSlam3dMapVoxelChangesListener
 
struct  conscience_core::lidar::CscSlam3dMapVoxelGrid
 
struct  conscience_core::lidar::CscSlam3dProbabilisticVoxel
 
class  conscience_core::lidar::CscSlam3dProbabilisticVoxelGrid
 
struct  conscience_core::lidar::CartographyChangesQueue
 
class  conscience_core::lidar::CscSlam3dMap
 
class  conscience_core::lidar::CscSlamEngine
 
struct  conscience_core::lidar::CscSlamEngine::PhantomCluster
 
struct  conscience_core::lidar::CscSlamEngine::PhantomClusterTracked
 
struct  conscience_core::lidar::CscSlamEngine::MapToImageParams
 
struct  conscience_core::lidar::CscSlamEngine::Slam3dParams
 
struct  conscience_core::lidar::directions::CscAvailableDirection
 

Namespaces

 mrpt
 
 mrpt::maps
 
 mrpt::obs
 
 mrpt::slam
 
 conscience_core
 
 conscience_core::lidar
 
 conscience_core::lidar::directions
 

Enumerations

enum  conscience_core::lidar::CscSlamCellOccupancyStatus : uint8_t { conscience_core::lidar::CscSlamCellOccupancyStatus::SlamCellOccupancyStatus_Unknown, conscience_core::lidar::CscSlamCellOccupancyStatus::SlamCellOccupancyStatus_Free, conscience_core::lidar::CscSlamCellOccupancyStatus::SlamCellOccupancyStatus_Occupied }
 

Functions

 conscience_core::lidar::ENUM (CscSlam3dMapVoxelDiffType, SLAM3D_VOXEL_DIFF_TYPE_ADD, SLAM3D_VOXEL_DIFF_TYPE_REMOVE)
 
 conscience_core::lidar::ENUM (CscSlam3dMapVoxelChangesMode, SLAM3D_VOXEL_CHANGES_MODE_DIFFS, SLAM3D_VOXEL_CHANGES_MODE_FULL_REBUILD)
 
double conscience_core::lidar::distancePoints (const TPoint2D &pointA, const TPoint2D &pointB)
 
double conscience_core::lidar::distancePoints (const TPose2D &poseA, const TPose2D &poseB)
 
CscPoint2d conscience_core::lidar::toMrptReferenceFrame (const CscPoint3d &point)
 
CscPoint3d conscience_core::lidar::toMrptReferenceFrame3d (double x, double y, double z)
 
CscPoint3d conscience_core::lidar::fromMrptReferenceFrame3d (double mx, double my, double mz)
 
string conscience_core::lidar::mrptPoseToJson (const TPose2D &pose)
 
string conscience_core::lidar::mrptPointToJson (const TPoint2D &point)
 
CscPoint2dOriented conscience_core::lidar::mrptPoseToCscPointOriented (const TPose2D &pose)
 
CscPoint2d conscience_core::lidar::mrptPointToCscPoint (const TPoint2D &point)
 
optional< pair< int, double > > conscience_core::lidar::directions::getBestDirectionForScan (CObservation2DRangeScan *scan, const vector< CscAvailableDirection > &authorizedDirections, double entityWidth, double entityLength, map< int, double > *computedDirections)
 
void conscience_core::lidar::directions::saveScanWithBestDirectionAsPng (const mrpt::obs::CObservation2DRangeScan &scan, double bestYaw, const std::string &bestDirName, const fs::path &filename, double entityWidth, double entityLength)
 
double conscience_core::lidar::directions::estimateFreeDistanceForLidarScan (double directionYawRads, const mrpt::obs::CObservation2DRangeScan &scan, double entityWidthMeters, double entityLengthMeters, double minClusterDistanceMeters, int minClusterSize, double maxDepthMeters)
 
double conscience_core::lidar::directions::estimateFreeDistanceFrontMetersForLidarScan3d (const LidarValuesSnapshot &scan, const CscSize3d &entitySizeCm, double voxelSizeMeters, int minVoxelPointCount, double maxDepthMeters, double minObstacleYMeters, double maxObstacleYMeters)
 

Variables

static const CscAvailableDirection conscience_core::lidar::directions::AVAILABLE_DIRECTION_FORWARD = {0.0, "forward"}
 
static const CscAvailableDirection conscience_core::lidar::directions::AVAILABLE_DIRECTION_LEFT = {M_PI_2, "left"}
 
static const CscAvailableDirection conscience_core::lidar::directions::AVAILABLE_DIRECTION_RIGHT = {-M_PI_2, "right"}
 
static const CscAvailableDirection conscience_core::lidar::directions::AVAILABLE_DIRECTION_BACK = {M_PI, "back"}
 
static const vector< CscAvailableDirection > conscience_core::lidar::directions::AVAILABLE_ALL_DIRECTIONS