Perception Tool Kit (PTK) API Guide
PTK Multi-sensor Fused Occupancy Grid Map

Introduction

Collaboration diagram for PTK Multi-sensor Fused Occupancy Grid Map:

Data Structures

struct  PTK_Alg_FusedOgmapTime
 Containes for holding time stamps for different sensors. More...
 
struct  PTK_Alg_FusedOgmapParams
 Configuration parameters. More...
 

Functions

void PTK_Alg_FusedOgmapGetMapConfig (const PTK_Alg_FusedOgmapParams *cfgParams, PTK_MapConfig *config)
 Initializes the map configuration based on the given algorithm configuration parameters. More...
 
int32_t PTK_Alg_FusedOgmapConfig (const PTK_Alg_FusedOgmapParams *cfgParams, PTK_Api_MemoryReq *memReq)
 Computes the memory requirements based on the given algorithm configuration parameters. More...
 
PTK_AlgHandle PTK_Alg_FusedOgmapInit (const PTK_Alg_FusedOgmapParams *cfgParams, const PTK_Api_MemoryRsp *memRsp)
 Initializes the library based on the given algorithm configuration parameters and allocated memory blocks. More...
 
int32_t PTK_Alg_FusedOgmapProcess (PTK_AlgHandle *algHandle, PTK_Alg_FusedOgmapParams *cfgParams, const PTK_Grid *cameraGrid, const PTK_Grid *radarGrid, const PTK_Grid *lidarGrid, PTK_INS_Record *insRec, const PTK_RigidTransform_d *Md_ecef_w, PTK_Grid *outGrid, PTK_Grid *fusedDSGrid)
 Processes the given point cloud and performs the Occupancy grid mapping. More...
 
void PTK_Alg_FusedOgmapDeInit (PTK_AlgHandle algHandle)
 De-initializes the algorithm context. More...
 

Macros

#define PTK_ALG_FUSED_OGMAP_METHOD_VOTING   (0U)
 Voting method based fusion. More...
 
#define PTK_ALG_FUSED_OGMAP_METHOD_DS   (1U)
 Dempster-Shafer method based fusion. More...
 
#define PTK_ALG_FUSED_OGMAP_FUSIONTABLE_SIZE   (26U)
 Voting based fusion table size. More...
 
#define PTK_ALG_FUSED_OGMAP_DSWEIGHTS_SIZE   (9U)
 Dempster-Shafer weight table size. More...
 
#define PTK_ALG_FUSED_OGMAP_DSTHRESH_SIZE   (9U)
 Dempster-Shafer threshold table size. More...
 

Macro Definition Documentation

◆ PTK_ALG_FUSED_OGMAP_METHOD_VOTING

#define PTK_ALG_FUSED_OGMAP_METHOD_VOTING   (0U)

Voting method based fusion.

◆ PTK_ALG_FUSED_OGMAP_METHOD_DS

#define PTK_ALG_FUSED_OGMAP_METHOD_DS   (1U)

Dempster-Shafer method based fusion.

◆ PTK_ALG_FUSED_OGMAP_FUSIONTABLE_SIZE

#define PTK_ALG_FUSED_OGMAP_FUSIONTABLE_SIZE   (26U)

Voting based fusion table size.

◆ PTK_ALG_FUSED_OGMAP_DSWEIGHTS_SIZE

#define PTK_ALG_FUSED_OGMAP_DSWEIGHTS_SIZE   (9U)

Dempster-Shafer weight table size.

◆ PTK_ALG_FUSED_OGMAP_DSTHRESH_SIZE

#define PTK_ALG_FUSED_OGMAP_DSTHRESH_SIZE   (9U)

Dempster-Shafer threshold table size.

Function Documentation

◆ PTK_Alg_FusedOgmapGetMapConfig()

void PTK_Alg_FusedOgmapGetMapConfig ( const PTK_Alg_FusedOgmapParams cfgParams,
PTK_MapConfig config 
)

Initializes the map configuration based on the given algorithm configuration parameters.

Parameters
[in]cfgParamsAlgorithm configuration parameters.
[out]configMap configuration

◆ PTK_Alg_FusedOgmapConfig()

int32_t PTK_Alg_FusedOgmapConfig ( const PTK_Alg_FusedOgmapParams cfgParams,
PTK_Api_MemoryReq memReq 
)

Computes the memory requirements based on the given algorithm configuration parameters.

Parameters
[in]cfgParamsAlgorithm configuration parameters.
[out]memReqMemory requirements as specified below
  • entry [0]: Memory for internal context. Best allocated from the fastest memory.
  • entry [1]: Memory for internal point cloud. Best allocated from the fastest memory.
  • entry [2]: Memory for the output buffer. The output buffer is allocated by the Application so this entry is just to communicate the output buffer size. No need to pass the memory to the library in the init call PTK_Alg_FusedOgmapInit().
Returns
  • PTK_ALG_RET_SUCCESS, if successful
  • < error code, otherwise

◆ PTK_Alg_FusedOgmapInit()

PTK_AlgHandle PTK_Alg_FusedOgmapInit ( const PTK_Alg_FusedOgmapParams cfgParams,
const PTK_Api_MemoryRsp memRsp 
)

Initializes the library based on the given algorithm configuration parameters and allocated memory blocks.

Parameters
[in]cfgParamsAlgorithm configuration parameters. It is ecpected that the same configuration parameters passed in the PTK_Alg_FusedOgmapConfig() API are given. No check can be made to make sure these are the same. Failure to provide the same parameter set might result in an unexpected behavior (ex:- memory requirements could be different for different parameter set).
[in]memRspMemory blocks as specified below
  • entry [0]: Memory for internal context.
  • entry [1]: Memory for internal point cloud.
Returns
  • valid handle, if successful
  • NULL, otherwise

◆ PTK_Alg_FusedOgmapProcess()

int32_t PTK_Alg_FusedOgmapProcess ( PTK_AlgHandle algHandle,
PTK_Alg_FusedOgmapParams cfgParams,
const PTK_Grid cameraGrid,
const PTK_Grid radarGrid,
const PTK_Grid lidarGrid,
PTK_INS_Record insRec,
const PTK_RigidTransform_d Md_ecef_w,
PTK_Grid outGrid,
PTK_Grid fusedDSGrid 
)

Processes the given point cloud and performs the Occupancy grid mapping.

Parameters
[in,out]algHandleAlgorithm handle.
[in]cfgParamsConfiguration parameters.
[in]cameraGridOGMAP grid from camera processing
[in]radarGridOGMAP grid from radar processing
[in]lidarGridOGMAP grid from lidar processing
[in]insRecINS record corresponding to the sensor maps.
[in]insRecINS record corresponding to the sensor maps.
[in]Md_ecef_wTransform from world to ECEF.
[out]outGridFused output OGMAP grid.
[out]fusedDSGridOutput Dempster-Shafer grid.
Returns
  • PTK_ALG_RET_SUCCESS, if successful
  • < error code, otherwise

◆ PTK_Alg_FusedOgmapDeInit()

void PTK_Alg_FusedOgmapDeInit ( PTK_AlgHandle  algHandle)

De-initializes the algorithm context.

Parameters
[in,out]algHandleAlgorithm handle.