worldModelGrid3D library documentation Documentation

INTRODUCTION

This package implements generating a 3D grid occupancy model of the environment. It will decompose an allocated volume of environment to 3D grids which their size will be set by users. Then, based on the information that user get from its sensor, it will update grids state.

example.png
Example of a 3D model created by the package.

How TO USE THIS PACKAGE:

For using the package, create a WorldModel3D::CwmGrid3D object and initialize the object as follow:

  • WorldModel3D::CwmGrid3D::setResolution to set the size of grids.
  • WorldModel3D::CwmGrid3D::setSensitivity to set a the threshold of minimum number of 3D points in each grid to prevent noise.
  • WorldModel3D::CwmGrid3D::setCameraParameters to to set horizontal visible angle, vertical visible angle and visible distance respectively.
  • WorldModel3D::CwmGrid3D::allocateMap to set the size of 3D map.

After initialization, user can update the map by calling the following functions:

  • WorldModel3D::CwmGrid3D::setRangeMap to set the information regarding 3D position of the points in the environment in the sensor coordinate and the variance of their distance from sensor (alone z axes of sensor).

Note: In case of using boost, attRangeMap must be a matrix with n (number of 3D point) row and 4 column. In each row, first element should be X, second Y, third Z and the last one is variance of a 3D point.

camera.jpg
Camera coordinate system.
  • WorldModel3D::CwmGrid3D::setSensorPosition to set the position of camera concerned to the updated inRangemap.

Note: In case of using boost, inSensorPosition must be a the homogeneous matrix of camera in the world coordinate.

  • WorldModel3D::CwmGrid3D::updateMap which will update the 3D map.




WM3D library documentation