Machine Vision  v1.2.13
mvVISLAM.h File Reference

Visual-Inertial Simultaneous Localization and Mapping (VISLAM) More...

#include <mv.h>

Classes

struct  mvVISLAMPose
 Pose information along with a quality indicator for VISLAM. More...
 
struct  mvVISLAMMapPoint
 Map point information from VISLAM. More...
 

Typedefs

typedef class mvVISLAM mvVISLAM
 Visual-Inertial Simultaneous Fusion Localization And Mapping (VISLAM)
 

Functions

mvVISLAMmvVISLAM_Initialize (const mvCameraConfiguration *camera, float32_t readoutTime, const float32_t *tbc, const float32_t *ombc, float32_t delta, const float32_t *std0Tbc, const float32_t *std0Ombc, float32_t std0Delta, float32_t accelMeasRange, float32_t gyroMeasRange, float32_t stdAccelMeasNoise, float32_t stdGyroMeasNoise, float32_t stdCamNoise, float32_t minStdPixelNoise, float32_t failHighPixelNoiseScaleFactor, float32_t logDepthBootstrap, bool useLogCameraHeight, float32_t logCameraHeightBootstrap, bool noInitWhenMoving, float32_t limitedIMUbWtrigger, const char *staticMaskFileName, float32_t gpsImuTimeAlignment, const float32_t *tba, bool mapping)
 Initialize VISLAM object. A few parameters may significantly impact the performance of the VISLAM algorithm. Some parameters affect the initial convergence of VISLAM, which impacts the overall drift in the estimated pose. The following parameters should have particular attention paid to them: logDepthBootstrap, useLogCameraHeight, logCameraHeightBootstrap, and limitedIMUbWtrigger. More...
 
void mvVISLAM_Deinitialize (mvVISLAM *pObj)
 De-initialize VISLAM object. More...
 
void mvVISLAM_AddImage (mvVISLAM *pObj, int64_t time, const uint8_t *pxls)
 Add the camera frame to the VISLAM object and trigger processing (a frame update) on the newly added image while utilizing any already added IMU samples, including timestamps occurring after the image, to fully propagate the pose forward to the most recent IMU sample.
NOTE: All other sensor data occurring before this image must be added first before calling this function otherwise that older data will be dropped at the next call of this function. More...
 
void mvVISLAM_AddAccel (mvVISLAM *pObj, int64_t time, float64_t x, float64_t y, float64_t z)
 Pass Accelerometer data to the VISLAM object. More...
 
void mvVISLAM_AddGyro (mvVISLAM *pObj, int64_t time, float64_t x, float64_t y, float64_t z)
 Pass Gyroscope data to the VISLAM object. More...
 
void mvVISLAM_AddGPSvelocity (mvVISLAM *pObj, int64_t time, float64_t velocityEast, float64_t velocityNorth, float64_t velocityUP, float64_t measCovVelocity[3][3], uint16_t solutionInfo)
 Pass GPS velocity data to the VISLAM object. More...
 
void mvVISLAM_AddGPStimeSync (mvVISLAM *pObj, int64_t time, int64_t bias, int64_t gpsTimeStdDev)
 Pass GPS time bias data to the VISLAM object. More...
 
mvVISLAMPose mvVISLAM_GetPose (mvVISLAM *pObj)
 Grab last computed pose. More...
 
int mvVISLAM_HasUpdatedPointCloud (mvVISLAM *pObj)
 Inquire if VISLAM has new map points. More...
 
int mvVISLAM_GetPointCloud (mvVISLAM *pObj, mvVISLAMMapPoint *pPoints, uint32_t maxPoints)
 Grab point cloud. More...
 
void mvVISLAM_Reset (mvVISLAM *pObj, bool resetPose)
 Resets the EKF from an external source. EKF will try to reinitialize in the subsequent camera frame. To properly initialize after reset, device should not be rotating, moving a lot, camera look at 10+ features. More...
 

Detailed Description

Visual-Inertial Simultaneous Localization and Mapping (VISLAM)

mvVISLAM.h