I am trying to build low cost and precise outdoor positioning. I explored NS-RAW with RTKLIB - this would be doable but probably will need either a base station to get the correction data for rover or external correction data which may be a hassle. The action radius with own base station is quite limited too. This solution is not really straightforward while you have to deal with either in-house or streamed correction data.

I am wondering whether one would be able to substantially improve the accuracy of an ordinary (uncorrected) GPS+GLONASS device (maybe one found in a common smartphone) with stereo visual odometry. Today's consumer GNSS chips seem to have reasonably stable accuracy in the 5m range. The VISO 2 library has a translation error of about 3% on 500m distance. The idea is to use the visual odometry for "smoothing" the rough GPS track.

The question is how this can be technically done in terms of SW. The input would be two tracks - one from GPS device and the other VISO 2 library. I think I need a kind of filter that will fuse the sensor data to get greater precision.

  • 3
    $\begingroup$ Google sensor fusion and Kalman filters (but it won't be very easy :-) ). $\endgroup$ – cube Sep 9 '14 at 8:34
  • $\begingroup$ Are you saying that you have a library that handles all of the visual processing and just outputs a velocity estimate, and all you need now is to fuse that with the GPS? $\endgroup$ – Rocketmagnet Sep 10 '14 at 20:25
  • $\begingroup$ Yes, the VISO library (see that link) outputs translation (=movement) coordinates & rotation angles for every given frame in your stereo sequence. You can save this data to create a 2-dimensional or 3D track. The problem is that points from these two tracks (VISO and GPS) are not the same since they both have (different) errors so if you start in 0, the first position estimation in both tracks (e.g. point nr. 1) will have different coordinates and rotation data. So interpolation will be needed to fuse the sensor data... $\endgroup$ – Kozuch Sep 11 '14 at 9:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.