This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Question about the estimated heading in GPS mode
#8
Quote:
Quote:(...) I am not yet very comfortable interpreting calibration plots but the messages "need more range" and "0d fit, insufficient data" are very common... I guess this is not a good sign.

It just means you have not calibrated. You need to turn in a circle to calibrate the compass. To calibrate the accelerometers you have to hold the imu without much movement in different orientations for it to "feel" enough range of the accelerometers.  It is not possible to calibrate the acclerometers when fixed to the boat (without flipping the boat completely over)

The plots will show calibration points, and they are fit to a sphere. If you can see the points falling on the sphere (drag to rotate) the calibration should be good. The pitch and roll rely on the accelerometers, and yaw requires on accelerometers and compass.

Yes... I did not calibrate the compass properly before attaching it. As a result, my tests were carried out with a badly calibrated compass... I give you anyway (below) the results following my last navigations even if it is not very useful.

Quote:
Quote:This explains the problem, which is seen when the sensor heading is constantly "turning". As the compass heading is constantly turning right, it is logical that pypilot wants to restore the course by turning left, even if the GPS heading is getting worse and worse...

Yes,  compass mode must work for gps mode in the basic pilot. If the compass heading is constantly turning it could be that the gyro has failed or is giving bad data. It can also be because the accelerometer is bad, or just not sufficiently compensated (not calibrated) It is also possible that the gyros have bias that are too high. In more recent versions of pypilot, the sensors are automatically reset above a certain threshold to usually correct this issue, but its possible you are just below the threshold.

The compass heading should remain stable if the boat is not rotating. The gyros are required regardless of pilot. So even if the gps pilot were developed to ignore the compass completely, it would still rely on the gyros, and if they are giving poor data you would face similar issues.

Noted. Hence the importance of having a good compass, well calibrated. For my last navigation, I used the latest version of pypilot on github.

Quote:
Quote:Even though poor performance is to be expected at low speeds, this option would be useful to compensate for possible accelerometer failures. There is also the added benefit of being able to travel with the pilot in high latitudes where the compass no longer works.

It could not really compensate accelerometer failures...   At least not by default since the accelerometer is used to determine orientation of the sensors, which are then used to rotate the gyro readings to determine rate of change of heading.   This is one of the features of pypilot.  It does not use a particular gyro fixed to the boat, but uses the actual "vertical gyro" which is the rate of change around whatever axis is vertical and this requires all the gyros, and accelerometers to compute. Consider yawing while heeled or pitching. Without this compensation, the yaw rate would be some fraction of the total.

It would have to ignore not only the compass, but also accelerometers and assume the boat is level.. so this would further degrade performance as you would be back to using a single gyro. It is an interesting proposal, to make a pilot work on only gps and one of the gyros assuming the alignment is known. It should be possible and even give reasonable usefulness, but the initial "level" calibration could not work either. It would also need a way to detect that the accelerometers were not valid which is not always obvious.

I would suggest having another imu,   the icm20948 has better quality control so...   Thanks for the feedback, and it would be great to support broken sensors as much as possible..  sometimes one axis fails and so forth, but the degraded performance is never optimal and sometimes I purposefully do not support certain things (at least not by default) to guide users not to operate that way. In other words: get a new IMU and compare the results.

Thank you for these very interesting details. I will take advantage of the winter to invest in a more efficient IMU and if possible, when you have the possibility to reopen your store, order your hardware. (I'm not the only one waiting... I took the liberty of doing a little publicity).

Here is my latest feedback, with my defective IMU.

At first everything went well, compass heading and GPS heading seemed stable:

[Image: 2022-10-05-112344_1824x984_scrot.png]

Then when the conditions started to get more difficult (cross swell, stronger wind), the compass heading offset started to change gradually. To maintain a heading of about 108°, I had to ask pypilot for a heading of 100°:

[Image: 2022-10-05-133547_1824x984_scrot.png]

[Image: Capture-decran_2022-10-05_13-57-33.png]

On this recording (towards the end), you can see that at one point the compass started to "bug". From that moment on it became very difficult, if not impossible, to use pypilot to maintain a heading:

[Image: 2022-10-05-134552_1824x984_scrot.png]
Reply


Messages In This Thread
RE: Question about the estimated heading in GPS mode - by gponcon - 2022-10-06, 05:06 PM

Forum Jump:


Users browsing this thread: 3 Guest(s)