• Support
  • Calibration Errors [Broken magnetomer]

Hello all,

Was calibrating some extra k-ceptors and came across an unusual error I wanted to document that only happened with one k-ceptor when finishing up the calibration. --calibrate output with the error is included below. In addition to the errors, magnetometer calibrated with a 0 0 0 offset which causes the sensor to always drift back to it's zero position. Am I looking at a soldering issue? I had the soldering done by a trusted expert, so I have been hesitating to conclude that it is.

--calibrate errors

info~[  91979] please wait while the data is processed.. (might take some seconds)
~#
warning: matrix singular to machine precision, rcond = 6.74445e-28  
warning: called from                                                              
    getMagCalib at line 47 column 3                                           
~# image created:plot_axonometric.png
~# image created:plot_front.png
~# image created:plot_right.png
~# image created:plot_top.png
info~[ 100382] Calibration results:
        <calibration type="offset" target="mag">
                0 0 0
        </calibration>
        <calibration type="matrix" target="mag">
                0.00291359 4.19454e-10 -0.00523425
                4.19454e-10 14572.8 1.43908e-10
                -0.00523425 1.43908e-10 0.000571282     </calibration>
        <calibration type="offset" target="acel">
                -30 -104 -26
        </calibration>
        <calibration type="offset" target="gyro">
                68 -7 39
        </calibration>
info~[ 100382] Writting to EEPROM, xor: 0
info~[ 101099] Calibration successfuly recorded to K-Ceptor EEPROM, exiting.
error: get: unknown figure property handlevisibility                                      
error: ignoring const execution_exception& while preparing to exit                      

Hi!
This error normally happens when the old calibration procedure is not able to collect enough samples.

Anyway, it seems like you are using an old version of notochord. The 0.2.0 was released a few week ago and it comes with a completely new calibration algorithm (is also faster and directly compatible with the new sensor fusion algrithm). I suggest you to calibrate using this new version.

In order to update you can follow this steps from the notochord folder on raspbian

git checkout develop
git pull
scons -j3 debug=1

then confirm you have the new version with bin/notochord --version

    daylanKifky Thanks! I updated to the latest version, looks like I screwed up somehow when I was updating to the quick fix for the output stream. Updated and double checked the version.

    pi@Raspi:~/notochord/bin $ ./notochord --version
    Chordata's Notochord v0.2.0b #d051c5a

    but unfortunately the calibration still isn't working on that same sensor. There are no errors, but the calibration is always zero. I recalibrated a sensor that I know works, and got a proper calibration to validate.

    info~[  35954] Collecting mag samples, do the calibration procedure..
    press ENTER when you are done.
    ~>
    info~[ 102753] Samples collected: 0
    info~[ 102764]
    
    Calibration results KALMAN:
            <calibration type="offset" target="mag">
                    0 0 0
            </calibration>
            <calibration type="matrix" target="mag">
                    1 0 0
                    0 1 0
                    0 0 1   </calibration>
    info~[ 102769] Writting to EEPROM, xor: 0
    info~[ 103141] Calibration successfuly recorded to K-Ceptor EEPROM, exiting.

    I noticed that it says zero samples collected, but it also said that for every other sensor that I calibrated after updating, and they calibrate fine. I also got xor:0 on working calibrations.

      Hi,
      That's strange. Could you check if the sensor outputs valid raw data? If it does, could you share a dump of the raw data here?
      While you capture this raw dump please keep you KC on a flat surface and rotate it 90deg 4 times to make it turn 360deg in total. Hold it still for a few seconds on each move.

      duncan006 I noticed that it says zero samples collected

      Yeah, I just forgot to remove that line, it's reporting the samples collected with the old calibration method so they will always be 0.

      duncan006 I also got xor:0 on working calibrations.

      This XOR value is the translation value of your KCeptor. The one that is set using the jumper on the J5 header.

      Hi,

      Before doing this I tried recalibrating the sensor to verify the problem was still present. I then performed the test as you asked, the osc dump is below. Probably looks a little different because I ran it through my osc handler to get, as blender was giving me issues (gonna try redownloading the addon after I finish this). Hope it's not too long. If I'm correctly reading it as [gx, gy, gz, ax, ay, az, mx, my, mz] then it looks like the sensor is constantly accelerating downwards?

        Hi!
        I'm afraid that dump is showing a hardware malfunction. The X component of the magnetometer is clipped during the complete dump at the minimum signed 16-bit value, so those values cannot be real.

        Drop us an email to see how we can deal with that broken KC.

        duncan006 it looks like the sensor is constantly accelerating downwards?

        That's the gravity force, which is perceived as a downwards acceleration.

        duncan006 Hope it's not too long

        I edited your post. A good way to keep these long dumps from obfuscating the rest of the conversation is to paste them on a pastebin, and by just including the link on your post the forum will show a navigatable iframe with links to the complete text.

        Thanks for editing my previous post, and thanks for the tip - wasn't aware it could be done like that.

        I'll send an email through the contact page, but first I want to check if it's something that I could fix personally with the parts. Though I didn't solder the boards myself, I do have all the leftover parts, and I may have extras of the broken bit if you could tell me what I'm looking for.

        Also, since the issue I had here seems pretty cut and dry, would you recommend appending further calibration issues to this thread or making a new one? I've also noticed some people just have megathreads for their build. I had a few other calibration issues once I started plugging multiple sensors in.

          duncan006

          Great!
          It seems like it's the sensor itself which is broken internally. You know, these MEMS sensors are composed of small parts that can eventually get broken by some kind of shock (mechanical, electrical, temperature). It looks like the internal components are working (the MCU inside, and most of the sensing parts) but the parts in charge of the X axis sensing for the magnetometer are giving completely out of range readings.

          So you should change the LSM9DS1 on U1.

          duncan006 Also, since the issue I had here seems pretty cut and dry, would you recommend appending further calibration issues to this thread or making a new one?

          Thanks for asking! We always appreciate when users help us out with the organization of the forum.
          Since this thread was used to troubleshoot this unique problem we can continue discussing about it here, I will modify the title to make it easier to find.

          But in any case, having dedicated threads where you log all the your process is a great idea. It help us give you better advices and others find solutions to problems they might be facing

          daylanKifky changed the title to Calibration Errors [Broken magnetomer] .