Open altineller opened 3 weeks ago
Hi, Thanks for the good description.
If I understand you correctly, you get a good result when running with your data in the notebook. But when running on your hw, it does not work. So what can be different?
The algorithm itself is a pure function, so the same input data should always yield the same output.
Regarding the Y90, I cannot recall what that is and will need to look it up. It should represent labels for the data x90, but I would expect it to be defined somewhere.
Hello,
First, I ported the arduino code to plain c++ to run on my client side (pc) connected to the magnetometer / gyro / acceletometer device. This device is also connected to ROS, where on a screen I can visualize the orientation and magnetic field vector.
I also have calculated the hard and soft iron calibration values by processing recorded data, and the device generates two mag streams, one of them classically corrected, and the other by this library. However, I could not reach good results.
Then I started playing with jupyter notebooks, and transformed my recorded data for magnetometer into format required for the notebooks. I was able to calculate biases for my data, and it did produce correct results for that set of data, that I previously calculated.
So It should work at least with pre-trained biases obtained from jupyter notebook.
Here is my question: Neural Network for Magnetometer auto-calibration notebook, there is a Y90 in line:
model.fit(X90, Y90, epochs=1, validation_split=0.1, verbose=False)
The data structure Y90 does not exist in the code. Is this a typo?
Below is data recorded from bmm350 magnetometer. mag.txt