Conscience Core
Classes | Namespaces | Functions | Variables
CommandEntityToPosition.cpp File Reference
#include "./CommandEntityToPosition.h"
#include "Lidar/CscSlamEngine.h"
#include <numeric>
#include <opencv2/opencv.hpp>
#include <Lidar/CscEntityPositionManager.h>
#include "Util/CscCartography.h"

Classes

struct  conscience_core::bridging::commands::environment_entities::EntityToPositionResultData
 

Namespaces

 conscience_core
 
 conscience_core::bridging
 
 conscience_core::bridging::commands
 
 conscience_core::bridging::commands::environment_entities
 

Functions

CscPoint3dconscience_core::bridging::commands::environment_entities::positionToGridVertex (const CscPoint3d &position, const CscArea3d *zone, int matrixSize, CommandEntityToPositionAlgorithm algorithm)
 
long long conscience_core::bridging::commands::environment_entities::positionToGridNodeIndex (const CscPoint3d &position, const CscArea3d *zone, int matrixSize, CommandEntityToPositionAlgorithm algorithm)
 
static int conscience_core::bridging::commands::environment_entities::gridVertexToVertex (const CscPoint3d *position, int matrixSize)
 
static CscPoint3dconscience_core::bridging::commands::environment_entities::vertexToGridVertex (int vertex, int matrixSize)
 
static CscPoint3dconscience_core::bridging::commands::environment_entities::gridVertexToPosition (int vertex, double y, const CscArea3d *zone, int matrixSize)
 
static int conscience_core::bridging::commands::environment_entities::positionToVertex (const CscPoint3d *position, const CscArea3d *zone, int matrixSize, CommandEntityToPositionAlgorithm algorithm)
 
static void conscience_core::bridging::commands::environment_entities::markNodesAvailableForWorldPoints (const vector< CscPoint3d * > &worldPoints, bool available, int radiusX, int radiusZ, const CscArea3d *zone, int matrixSize, vector< bool > &nodesIsAccessible, CommandEntityToPositionAlgorithm algorithm)
 
template<DerivedFromCscWorldElement T>
static void conscience_core::bridging::commands::environment_entities::markWorldElementsOccupied (const vector< T * > elements, double distanceWithObjectAutorized, const CscArea3d *zone, int matrixSize, vector< bool > &nodesIsAccessible, const CscSize3d &robotDimensions, CommandEntityToPositionAlgorithm algorithm)
 
static void conscience_core::bridging::commands::environment_entities::markLidarPointsOccupied (const vector< CscPoint3d * > &mapPoints, double distanceWithObjectAutorized, CscArea3d *zone, int matrixSize, vector< bool > &nodesIsAccessible, const vector< string > *placeModelIdsToIgnore, const CscEnvironmentSimulator &environmentSimulator, CommandEntityToPositionAlgorithm algorithm)
 
static void conscience_core::bridging::commands::environment_entities::markLidarPointsOccupied (const ptr< CscEntityReflexion > &entityReflexion, double distanceWithObjectAutorized, CscArea3d *zone, int matrixSize, vector< bool > &nodesIsAccessible, const vector< string > *placeModelIdsToIgnore, const CscEnvironmentSimulator &environmentSimulator, CommandEntityToPositionAlgorithm algorithm)
 
static DijkstraAdjacency conscience_core::bridging::commands::environment_entities::loadMatrixFromEnvironment (const CscArea3d *zone, int matrixSize, vector< CscPoint3d * > &gridVertices, vector< bool > &nodesIsAccessible)
 
static void conscience_core::bridging::commands::environment_entities::saveGridPathPNG (int matrixSize, const vector< bool > &nodesIsAccessible, const vector< pair< int, double >> &path, const CscPoint3d &robotCenterWorld, const CscPoint3d &targetPosition, double initialRobotYaw, const CscSize3d &entityBbox, const CscArea3d *zone, CommandEntityToPositionAlgorithm algorithm, const CscPoint3d *closestPoint=nullptr)
 
EntityToPositionResultData * conscience_core::bridging::commands::environment_entities::executeEntityToPosition (CommandEntityToPositionAlgorithm algorithm, ptr< CscEntityReflexion > entityReflexion, const CscPoint3d *forcedStartPosition, const CscPoint3d *targetPosition, CscArea3d *zone, optional< double > distanceWithObjectAutorizedMaybe, optional< int > matrixSizeMaybe, optional< bool > useGnssCoordinatesMaybe, const vector< string > *placeModelIdsToIgnore, CscEnvironmentSimulator &environmentSimulator, bool computeClosestValidPoint=false, const vector< CscPoint3d * > *cartographyPoints=nullptr)
 
optional< CscPoint3d * > conscience_core::bridging::commands::environment_entities::computeValidReachPosition (CommandEntityToPositionAlgorithm algorithm, ptr< CscEntityReflexion > entityReflexion, const CscPoint3d *startPosition, const CscPoint3d *targetPosition, optional< double > distanceWithObjectAutorizedMaybe, const vector< string > *placeModelIdsToIgnore, CscArea3d *zone, optional< int > matrixSizeMaybe, optional< bool > useGnssCoordinatesMaybe, CscEnvironmentSimulator &environmentSimulator)
 
CscPoint3dconscience_core::bridging::commands::environment_entities::evaluateEntityToPositionStartPosition (const CscPoint3d *requestedStartPosition, optional< bool > useGnssCoordinates, ptr< CscEntityReflexion > entityReflexion, CscEnvironmentSimulator &environmentSimulator)
 

Variables

static std::unique_ptr< CscLoggerconscience_core::bridging::commands::environment_entities::logger = CscLogger::getForCategory("CommandEntityToPosition")
 
static constexpr double conscience_core::bridging::commands::environment_entities::MAX_DISTANCE_FOR_SHEARCH_NEW_TARGET_IN_CM = 300.0
 
static constexpr bool conscience_core::bridging::commands::environment_entities::savePathFindingAsPngEnabled = false
 
static constexpr unsigned long long conscience_core::bridging::commands::environment_entities::maxLidarValuesTimeMillis = 1500
 
template<typename T >
concept conscience_core::bridging::commands::environment_entities::DerivedFromCscWorldElement = std::is_base_of_v<CscWorldElement, T>