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
Pypilot Compass Linearity
#11
What about the compass tab in the calibration? It looks like its not getting a calibration. Is the calibration locked?

Another way is to mount the sensors somewhere else. What does pitch and roll say? If you dont level the sensors the calibration will never work.

Also.. how do you know the fluxgate compass is accurate? It may have some deviation too.
Reply
#12
When I redid the  360 deg circle compass calibration, and it reported done with the message 'same as last', I locked it thinking that was the best way to handle it.

I did not take much note of the pitch and roll readings.  I thought the six sided box calibration of the imu worked and was locked.  The boat was then marked level.  I will look at this next opportunity.

I did consider mounting the sensors remotely but thought I would not find a better place within the limitations on the I2C data connection given the area on the boat I wanted to locate the RPi.  I guess just getting them off the RPi may have benefits.  My thought here is that any interference from this would be random and lead to variations in readings without change of orientation.  There is a bit of this, perhaps 1-2 deg, nothing like the differences in the readings.


The fluxgate is in a good location away from possible magnetic interference but, you are right, it may have some deviation that would not be corrected.  Looking at the OpenCPN display, there have been times that the heading has not been aligned with the COG, always in a situation you would expect such as in cross current, but, otherwise, the correlation has been quite good.  The difference between the Pypilot and the fluxgate readings is orders of magnitude above any deviation I would expect in the fluxgate.
Reply
#13
The deviations you are reporting are way too high though. 5-10 degrees is still usable but beyond that there is something wrong. Normally the deviation is about 2 degrees.

If you get a chance.. next time, please open the calibration display with the 3d plot of the compass readings. If you can show this while doing the rotation it will reveal a lot. If you can ensure all of the points fall on the sphere for example.

As for a different location, you would not need to remove the sensors from the box, only to move the raspberry, as I suspect maybe something is near it that causes distortions.. this is possible.
Reply
#14
What if the points don't fall on the sphere?
Reply
#15
Then the calibration has not found a fix.
Reply
#16
I haven't had a chance to redo the compass calibration, weather not suitable, but when I was on the boat a few days ago I did open the compass calibration page and noted the points plotted were not on the sphere. On the other hand, the imu calibration plot was. See attached photos.  Note these are on the boat stationary in the harbour presumably using historical data from the config file, also attached.

Pitch and roll were both variable in the range +0.1 to -1.1, again both at the dock with no wave action.

Not sure if this info can add anything to the discussion.  My recollection was that when I did the compass calibration it looked ok on the sphere but I can't be sure.  It certainly indicated that the calibration was successful and same as last in the text box, and was locked at this point.

I will redo the compass calibration when I can.  At the moment, the weather models are not looking like that will be soon.


Attached Files Image(s)
       

.pdf   pypilot_conf.pdf (Size: 64.65 KB / Downloads: 134)
Reply
#17
Many sensors do not require accelerometer calibration as the bias are slight. You can see yours are all zero indicating it did not compute them but since the points are on a sphere it probably does not need to.

I can see you have locked the calibration which prevents it from updating
Reply
#18
I hope I may have found the cause of the non-linarity of the compass.  I had a RTC module with battery close to the IMU on the RPi board.  Reading an old caving discussion on magnetometer problems, batteries were mentioned as a source of problems.  I haven't had a good chance to test on the water yet so still not sure but hopeful.

However I am having trouble with the continuity of the compass calibration and will post on that thread.

John
Reply
#19
Hi John,

sorry for hijacking a little bit your thread. I have seen that you have successfully used the Adafruit TDK InvenSense ICM-20948 9-DoF IMU

When I try to connect the IMU the pypilot does not start (wifi hotspot appears but can not access the UI in the browser).

Did you have to do anything special to make this work?

All I did was just connect
Pi Zero to IMO
3V to VIN
GP2 to SDA
GP3 to SCL
GND to GND.

Kind regards
Geza
Reply
#20
please post a picture of your setup. Some of these boards require voltage conversion since the icm20948 uses 1.8 volts.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)