JonasBchrt / raw-gnss-fusion

Code, data, and results for fusing raw GNSS data with other sensing modalities
GNU Lesser General Public License v3.0
120 stars 23 forks source link

Without lidar #7

Open gauteh opened 5 months ago

gauteh commented 5 months ago

Does this algorithm work without the lidar?

JonasBchrt commented 5 months ago

Yes, some of the experiments described in the paper were made without a lidar using only IMU and GNSS. Some examples in this repo.

This repository only contains some demo code for the GNSS bit anyways, no lidar and IMU code.

gauteh commented 5 months ago

Thanks a lot. We have essentially two challenges with our wave buoy (sfy):

The absolute reference is traditionally solved with a magnetometer, but they are tedious to calibrate. Do you think these issues may be possible to solve with your GNSS fusion? We use a fusion algorithm already with gyro+accel to get vertical acceleration. There are wave buoys that use GPS/GNSS diretctly, but they tend to use more power. You can estimate the vertical wave field from horizontal velocities using linear wave theory.

Curious to hear if you might have any thoughts on this.

JonasBchrt commented 5 months ago

Hm, this work here is about fusing a certain type of raw GNSS data (so-called pseudoranges and carrier phases) with, e.g., inertial measurements (gyro + accelerometer). Many standard GNSS receivers do not provide such raw data, this is different than the latitude/longitude/altitude fixes that you usually get. Check your hardware, but chances are high that you don't get that sort of raw data. If you have access to both, GNSS + inertial measurements, fusion sounds in general like a great idea to improve accuracy, but I'd suggest to try a more standard version that fuses GNSS fixes (not GNSS raw data) with inertial data first. What I describe in this paper here only helps to improve accuracy in certain scenarios, e.g., with quite a bit of sky obstruction, which you likely don't face with your SFY. In addition, using the carrier phases continuously makes the system here even more power hungry than a duty cycled GNSS receiver. Unlike my work on SnapperGPS, the stuff here is not about energy-efficiency :/

gauteh commented 5 months ago

Ok, thanks for the detailed answer. My current GPS does not provide raw data, I was thinking about swapping it with a suitable one. You are probably right that regular GNSS fixes are a better starting point. We tried a bit, but could not get any decent results. I am worried about how the GNSS averages the velocities and directions, and trying to time that with the IMU. E.g. in a harmonic wave the direction will oscillate between forward and backward, while the GNSS might give me the general (Stokes)-drift forward... It just doesn't feel very instantaneous, maybe I'm wrong. Anyway, it's probably better to go for a high-frequency GNSS receiver / standard fixes, and try to fuse that. Thanks for you detailed answer.