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 | |
mvVISLAM * | mvVISLAM_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... | |
Visual-Inertial Simultaneous Localization and Mapping (VISLAM)