Forums - mvVISLAM pose divergance

2 posts / 0 new
Last post
mvVISLAM pose divergance
Join Date: 3 Oct 18
Posts: 2
Posted: Tue, 2019-02-26 00:30

We use the Snapdragon Flight together with ROS ( for obtaining a pose. However, when using it on our drone, it often happens that the values of the mvVISLAM pose are largely increasing or decreasing (for example after 2 or 3 seconds we obtain a postion (x=200, y=400, z=500)).

Usually, this goes hand in hand with "Intrinsic camera cal questionable" errors, but often there is not even any error code returned.  We already tried default fisheye camera calibration and our own calibration. We also noticed that the IMU values during flight are very noisy, but havent found a way to set a parameter for that. What could we do to obtain a reliable pose?

  • Up0
  • Down0
Join Date: 21 Aug 13
Posts: 59
Posted: Tue, 2019-02-26 17:25

You did not mention the type of robot you are using but it sounds like you are not getting VISLAM properly initialized before proceeding, you have an overly noisy IMU, or very bad camera calibration.  If you did your own camera calibration and the undistorted image looked at all reasonable, that is unlikely to be the problem.  If you have a very different placement of the camera relative to the IMU than the example code initialization shows then you need to measure the distances and rotations again and change the default values to mvVISLAM_Initialize();  measurements from a CAD drawing should be close enough.

The example code that comes with MV or and the snap_vio code both assume a UAV sitting on landing gear with the camera pointing out at the ground for initialization.  That is one way to get a good initialization.  Regardless of how good the initialization is, the other way to get a nicely converged VISLAM system is to have very observable acceleration/gyro values.  This can be done with far more aggressive takeoffs or hand motions beforehand.

In terms of IMU noise, you can increase the accel noise settings but that slows down filter convergence.  Therefore, that should more just be tried during diagnosing the problem and is poor long-term solution.  The best way to improve IMU noise is to add mechanical dampening between the board with the IMU + camera on it and the rest of the UAV which has the vibrating motors on it.

  1. Does VISLAM work properly if you are moving the drone with your hands?  If so, can you initialize VISLAM by moving with your hands and then take off?
  2. Can you improve the dampening of the board?
  3. Can you improve VISLAM convergence by not taking off very slowly but by taking off with more acceleration?
  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.