Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems in Magnetometer Calibration #6

Open
jtragtenberg opened this issue Jul 19, 2015 · 4 comments
Open

Problems in Magnetometer Calibration #6

jtragtenberg opened this issue Jul 19, 2015 · 4 comments

Comments

@jtragtenberg
Copy link
Collaborator

Hello,
I have just bought the servo and cut the wood to calibrate my IMUs.
My calibration went fine with the accelerometer and gyroscope (I hope so), at least I could visualize the colored lines and dots move as I moved my IMU. The problem was when I started calibrating the magnetometer. I had it all set up with the servo but when I ran the processing sketch the green dot didn't leave the center of the sphere. And I tried to upload this only-dotted-calibration-data to my motioner IMU and it failed with this message:

It seems like a bug in the sketch.
Can someone help me?

java.lang.RuntimeException: java.lang.RuntimeException: Eigenvalue Decomposition failed
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:541)
at processing.opengl.PJOGL.requestDraw(PJOGL.java:688)
at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1651)
at processing.core.PApplet.run(PApplet.java:2256)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Eigenvalue Decomposition failed
at org.ejml.simple.SimpleEVD.(Unknown Source)
at org.ejml.simple.SimpleBase.eig(Unknown Source)
at MagnCalibration.outputMagnCalibration(MagnCalibration.java:430)
at MagnCalibration.keyPressed(MagnCalibration.java:300)
at processing.core.PApplet.keyPressed(PApplet.java:3510)
at processing.core.PApplet.handleKeyEvent(PApplet.java:3328)
at processing.core.PApplet.dequeueEvents(PApplet.java:2728)
at processing.core.PApplet.handleDraw(PApplet.java:2397)
at processing.opengl.PJOGL$PGLListener.display(PJOGL.java:862)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:665)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:649)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1289)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1119)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:994)
at javax.media.opengl.awt.GLCanvas$11.run(GLCanvas.java:1300)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:302)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

@jtragtenberg
Copy link
Collaborator Author

captura de tela 2015-07-19 as 11 11 22

here is what I saw in the MagnCalibration sketch

@jtragtenberg
Copy link
Collaborator Author

And just to check, are these images ok for the accelerometer and gyroscope calibration?

It is said on the wiki that there would be some examples of good calibration I believe you forgot to upload it.

captura de tela 2015-07-19 as 11 33 24
captura de tela 2015-07-19 as 11 30 43

@jtragtenberg
Copy link
Collaborator Author

It seems it was a problem with the hardware itself...
I have just calibrated the magnetometer of another board and it seems perfect:
captura de tela 2015-07-19 as 11 49 57

@jtragtenberg
Copy link
Collaborator Author

I tried swapping the magnetometer in the board, desoldered the last one and soldered a new one. But the RAW data kept coming with null values for magnetometer readings. from the 9 numbers that come one after the other the 3 accelerometer and 3 gyroscope values are fine. Just the magnetometer values keep coming with zeros...

does anyone know what might me going on?

captura de tela 2015-07-19 as 15 42 35

it is like that even though the serial startup message from IMUDebug.ino is:

-- extended RazorAHRS debug --
init I2C
success
init MPU6050
success
init HMC5883L
success
Loading calibration data...
calibration loaded from EEPROM

...?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant