gauteh / sfy

🌊 A lightweight wave buoy for near-shore deployments.
MIT License
39 stars 6 forks source link

use a VN100 as a "reasonable well implemented data fusion benchmark" to get a typical comparison point? #112

Open jerabaul29 opened 1 year ago

jerabaul29 commented 1 year ago

@gauteh a solution I thought about just now: it is usually really hard to know if the noise observed in some spectra comes from the "unavoidable" noise due to the instrument and filtering, or from an issue with something in the implementation somewhere, which makes it really hard to debug - as the filters are stable, if using them wrong, one just gets bullshit out, but not a crash or a divergence. A way to get an idea about if things are correct or not could be to i) use a test buoy containing a well tested reference IMU with the Kalman filtering built in, in order to ii) use it to have a reference of "typically how good the results can be if things are done well" using its data output.

A possibility for this could be to use a VN100 IMU (the IMU I used in the past, with 9dof meas + pressure + temperature, built in Kalman filtering; it costs about 1300USD all included and the sensors inside it have typically similar or slightly higher noise than the ISM330DHCX, but the algorithms are well tested and industry standard). It should be close to trivial to get the data from the VN100 IMU and use it (it can be programmed to get a UART serial port output at baudrate 57600, outputting the accel mag gyro in chip and NED frames of reference in addition to yaw pitch roll).

If you want to consider building a "reference test buoy" or two with VN100 IMU built in, let me know :) . I may (no guarantee, would need to check) have a VN100 lying around somewhere, otherwise I think there is 1 + 1 on the Statsraad Lehmkuhln (1 in the system in place and 1 as backup, the backup could be used), otherwise it is maybe possible to buy 1? :) .

There are a few things to do to get it to work (need to program them, I can do it for you: see https://github.com/jerabaul29/LoggerWavesInIce/tree/master/Logger_GPS_SD_VN_Binary_output ; need to switch from rs232 to ttl or something like that with a MAX3323EEPE+: https://github.com/jerabaul29/ultrasound_radar_bow_wave_sensor_Statsraad_Lehmkuhl_2021_2022/blob/main/doc/arduino_shield/pictures/MAX3323EEPE/IMG_20210520_102442.jpg ).