OpenMarine

Full Version: Compass lag
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
On the bench if I rotate the pi 90 degrees I can count to 6 before the compass values in signal k stabilize at the new heading. There are many intermediate values displayed in the meantime.

I see two magnetic heading values, including a distinct one for pypilot but they update at the same pace. This is version 1.0.0. in 0.17.0 it was even slower, about 10 seconds on a pi 3.

This may be a dampering feature, I don't know. But racing, the tactician is looking for wind shifts and needs more immediate feedback.

Changing the update frequency setting makes no difference.

Is my observation consistent with others', and is there potential remedy?

I have the recommended IMU for pypilot.




Sent from my Moto G (5) Plus using Tapatalk

It seems almost like it is spooling out every value it read during the movement.

Sent from my Moto G (5) Plus using Tapatalk
I don't really see this. For me, the only way it would do what you describe is if the compass is not properly calibrated, so it follows the gyros when turnng, then re-stablilizes to the incorrect compass value.

It might be a problem in your setup. Do you have other devices on i2c? Are you running imu only mode? Can you stop this, and manually run pypilot_boatimu from a terminal?

Could you compare the values imu.heading and imu.heading_lowpass? Can you increase the value of imu.heading_lowpass_constant using the "signalk_client_wx" program once the server is running?

Does the headingrate lag in the same way as heading?
It is probable the compass was not properly calibrated in my bench observation. Underway racing it's a bit harder for me to make a controlled observation, but the compass is often temporarily 5-10 degrees out of sync with the "real" compasses on the boat, (and the gps heading FWIW). Tied to the pier it is correct again. We had two, two hour or more sailing sessions since it was mounted so that one should be calibrated.

I have a BMP180 or a BME280 also on I2C (I have a portable openplotter for the race boat I crew on, and another setup a bit more fixed for my own boat.)

Thank you for your suggestions, I will remove the pressure sensor and check out those observations from terminal window this weekend.
Also try the latest github.com/pypilot/pypilot I very recently improved autocalibration. I think the issue is compass calibration.