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
#21
(2023-08-04, 07:26 PM)seandepagnier Wrote: please post a picture of your setup.    Some of these boards require voltage conversion since the icm20948 uses 1.8 volts.

Hi Sean, how are you? Do you remember me? Geza. We have meet in Opua in NZ before when you had the affair with customs. Smile You have done an amazing job with pypilot. Since I had a lightning strike and all electronics are gone now I am attempting to build a pypilot.

UPDATE ------------
It is working. It just takes a long time until the web interface is available.
---------------
 
Original problem:
The board containing the icm20948 has a voltage regulator and can take anything from 3-5 volts so I think that is fine.
I have just checked the log and it seems like icm20948 is detected and initialized. However I am unable to open the web interface. If I disconnect the icm209048 then the web interface works.
Here is the log with ICM-20948 connected:

2021-11-04_11:00:18.83308 autopilot start 16.11375
2021-11-04_11:00:18.83388 autopilot start 24.367213
2021-11-04_11:00:18.83394 ERROR loading intellect.py liblzma.so.5: cannot open shared object file: No such file or directory  liblzma.so.5: cannot open shared object file: No such file or directory
2021-11-04_11:00:18.83417 ERROR loading learning.py liblzma.so.5: cannot open shared object file: No such file or directory  liblzma.so.5: cannot open shared object file: No such file or directory
2021-11-04_11:00:19.12303 Settings file RTIMULib.ini loaded
2021-11-04_11:00:19.12314 Failed to open settings file for saveDetected ICM20948 at option address
2021-11-04_11:00:19.12326 Failed to open settings file for saveUsing fusion algorithm Kalman STATE4
2021-11-04_11:00:19.12337 min/max compass calibration not in use
2021-11-04_11:00:19.12345 Using ellipsoid compass calibration
2021-11-04_11:00:19.12351 Using accel calibration
2021-11-04_11:00:19.43161 ICM-20948 init complete
2021-11-04_11:00:19.47692 loading servo calibration /home/tc/.pypilot/servocalibration
2021-11-04_11:00:19.47706 WARNING: using default servo calibration!!
2021-11-04_11:00:19.47715 Available Pilots: ['absolute', 'basic', 'simple', 'wind']
2021-11-04_11:00:19.47723 warning: failed to open special file /dev/watchdog0 for writing
2021-11-04_11:00:19.47734          cannot stroke the watchdog

I have attached some photos of the temporary connection.

Hey thank you very much for having a look.


Attached Files Image(s)
               
Reply
#22
Calibration issues are the worst, especially when the linearity is off like that. I had a similar headache with my IMU readings not matching the physical heading during a swing. One thing I’ve started doing just for a quick 'sanity check' before diving into the RTIMULib settings is using 123compass.org on my phone. It’s a super clean, browser-based compass that helps me verify if the error is in the Pypilot logic or if there's actually something magnetic in the boat messing with the sensor's orientation.
Reply
#23
While the accelerometers on the ICM20948 are always accurate out of the box, the magnetometers always require calibration.

Even if the display shows a heading, the compass is not usable as is.

A pre-calibration of the magnetometers is essential after each image change on the SD card. It is imperative to use the compass calibration script with the measurement points displayed relative to the sphere.

This sometimes takes a little time, but it is essential before attaching the IMU to the boat so that a simple rotation of the boat will finalize the compass calibration.

The pre-calibration must be performed with the IMU not attached to the boat. The IMU must be slowly rotated in all directions or on several faces. The pre-calibration is complete when all the measurement points are on the sphere and the compass calibration date is reset.

Until the pre-calibration is complete, significant heading variations are normal while the measurement points gradually position themselves on the sphere. It is also important to note that if the pre-calibration is performed around a single axis of rotation, it takes considerably longer, and the variations will persist for a much longer period.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)