RMA Request for MMR with Magnetometer which returns invalid data
Dear Sir/Madam,
Sorry if this is not the proper route for this communication. Your CHAT representative, Paul, insisted that I make my requests for assistance here. I recently purchased an MMR. My categorization of the Magnetometer output indicates to me that it does not work properly. I am trying to request a Warranty Replacement using Cross Shipping.
1) Yes, I performed all applicable steps listed on our troubleshooting page.
2) I am unable to access the MMR Diagnostics Results file because I must save it to the Android phone in order to find it and transfer it to another PC. Saving it to the phone does not appear to be an option.
3) Attempting to use your RMA Request web page multiple times only returned "There was an error trying to send your RMA request. Please try again later."
4) Yesterday, I emailed all information required on the RMA Request form to hello@mbientlab.com. Not hearing back, I asked your CHAT representative, Paul, to assist and verify that my email had reached the RMA department. Paul says he is unable to access the email because it goes to "Sales", or otherwise ensure that it reach the RMA department and I must go thru this Forum route.
If you provide me with an email, I will gladly resend my RMA Request with detailed Problem Description and Testing Procedure and Results plot to you.
If it would be useful to you, please also see my CHAT conversation with Paul with this TimeStamp.
Conversation started on : Friday, March 22, 2019, at 20:07 (GMT+0)
Thank you in advance!
Comments
Post raw magnetometer values that illustrate what you believe is wrong with the sensor.
Eric,
The data you requested is attached. Please also see the attached plot. This plot permits you to visualize the procedure used to collect the data.
Thank you in advance!
The magnetometer data looks fine. It is raw so if you want a smooth curve, apply a filter.
Laura,
No, I do not want a smooth curve. Had I filtered the data I would not be providing you with the raw data Eric requested.
It would be very helpful to me if you would send me raw Magnetometer data from one of your MMR units? I would like to compare it with my data. The test procedure is simple. Constrain all linear accelerations to be 0. Constrain rotations about the x- and y- axes to be 0. Do not be near any sources of magnetic interference. Record magnetometer data at 25Hz for one complete continuous CCW rotation about the z-axis completed in about 1 minute.
1) Please clarify for me what metrics and thresholds you used to make the "looks fine" determination for the data I provided. I would like to repeat your calculations on my data and the data you send to me.
2) Please explain why, in the plot i provided, the slope of the data is not a relatively straight line between 180 and -180. In particular, please explain the discontinuities I circled in red.
NOTE: The z-axis rotation was done on a flat surface far from any other magnetic interference. Roll and Pitch were constrained to be near zero because the MMR was on a level turntable. The rotation rate was near constant for the continuous rotation testing. The test was repeated four times, twice in the CCW direction and twice in the CW direction.
3) Please also explain, when directing your attention to the discrete step rotation testing portion of the data, the area circled in red. Why does this MMR rotational position differ from the preceding stationary rotational positions of the MMR.
NOTE: For this testing, the MMR was on the same test fixture as described under 2) above. For this testing, the MMR was rotated to a position and left motionless for about 5 seconds. This was repeated, it was rotated about 45 degrees with a 5 second motionless period, until an entire 360 degree rotation of the MMR had been completed. Notice that in the region circled in red, a point in the testing where the sensor is motionless, the output of the sensor is significantly less constant/stable than for any of the other stationary positions.
ADDITIONAL NOTE: If, for the step rotation position focused on above, the rotation step had been say 50 or 55 degrees instead of 45 degrees, the data would have shown even greater instabilities even though the MMR was motionless. (i.e., the magnetometer output became more unstable when actually motionless, as it approached the large discontinuity.)
It would be greatly appreciated if you would provide me with an RMA Number so that I can exchange this particular MMR for one which functions properly.
Thank you in advance!
https://www.engineersgarage.com/articles/magnetometer
Laura,
Although I am an Electrical Engineer, it appears that I am not able to understand how the link you provided is responsive to my previously posted questions. Could you please expand on your response?
I would truly find it helpful if you would send me Magnetometer data collected using one of your own MMR units under the simple testing conditions I described above.
I would also find it extremely helpful if you would define for me the criteria you used which permitted you to say that the experimental data I provided to you "looks fine".
Thank you in advance!
You are rotating the board CCW, so it is expected that the raw magnetometer data is periodic, which it is.
The jumps in your atan2 graph coincide with sign changes in your raw data, for example, lines 303-305. Of course there will be big jumps in your graph as atan2 switches quadrants.
Eric,
Thank you for your response. I have tried to direct your attention to the evidence proving that the Magnetometer of the MMR unit I purchased from Mbientlabs is Faulty. I will try again.
The attachments show raw MMR Magnetometer data converted to Yaw angle. The raw data is the same as before. I have included additional plots and the spreadsheet used to generate them, to focus your attention. In particular see "Yaw Focused on Index 850-1400.PNG" The original data is in Blue. I drew by hand the Black line. The Black line shows how the plotted data should have looked for that rotation. No FIR or IIR filter will "FIX" the original data so it matches the Black line. See also, "Yaw Focused on Index 2550-3100.png" where each "Actual" z-axis step rotation change is the same ~45degrees with no motion for ~5 seconds at each step. The Magnetometer output is Faulty.
To your most recent response above:
Yes, I intentionally collected data from multiple rotations to emphasize that the issue is repeatable.
No, Jumps (seen in the plots) at sign change you used as an example in the raw data are NOT Ok.
Yes, Discontinuities at or around +-180 degrees are expected for Atan2(). See "Yaw Focused on Index 1850-2050.png" They did not and do not concern me and I did not circle them in RED in my original Post.
ISSUE:
The data output by the MMR unit I purchased from Mbientlabs confirms that the Magnetometer of this particular MMR unit is Faulty.
TEST PROCEDURE:
1) Collect, process, and display MMR Magnetometer Data
a) Eliminate any objections to validity of processed and plotted data. Use Microsoft Excel spreadsheet, a proven computational, analysis and display tool. Do not use custom code of any kind.
2) Design a test to eliminate as many variables as possible.
a) Test in a location without Magnetic Interference.
b) Use a level turntable fixture to eliminate confounding conditions.
i) Set all linear accelerations to 0.
ii)Set Roll = 0, Pitch = 0, Roll Rate = 0, Pitch Rate = 0
c) Examine Yaw(Pitch=0, Roll=0) = Atan2(-y-axis(T), x-axis(T)) where x-,y-axis(T) are streamed from MMR Magnetometer. Use Mbientlabs MetaBase App to eliminate any objections to validity of streamed data:
i) Continuous rotation about the z-axis with Yaw Rate = Constant.
ii) Discrete Step with identical change in rotation angle about the z-axis with Yaw Rate = 0 after/on each Step.
3) Output of the tests should be:
a) Continuous Sawtooth waveform (When multiple revolutions are done)
b) Stair Step Waveform (When Discrete Steps of fixed angle in one rotation are done.)
c) Discontinuity(ies) are expected each rotation at or around x-axis(T) = 0 (i.e., +-180 degrees or +-PI radians.)
d) Since Yaw Rate is constant for the continuous rotation testing, yaw angle should be a linear ramp between +-180degrees.
e) Since Yaw Step increment is fixed (~45degrees per step) and pause at each step is roughly constant, Stair Steps should appear uniformly distributed between +-180 degrees.
FAILURE OBSERVED:
The MMR Unit's Magnetometer Data did not match the required form of either 3) d, or 3) e. It is Faulty.
Please issue me an RMA Number so that I can arrange, using Cross Shipment, a new properly working MMR unit.
Thank you in advance!
You circled areas in the atan2 graph that coincide with sign changes in the raw data, which in turn means atan2 will jump quadrants.
Speaking of which, have you even looked at the raw data? Plotting the raw values show 2 mirrored sinusoidal waves, then a step wave, which represent the described motions.
Also, calculating yaw accurately is not as simple as computing atan2(-y/x). If it were, there would be no reason for companies / universities to spend countless man hours researching sensor fusion.
Eric,
Precisely! Before I, or my team, spend any time developing algorithms, we characterize sensor inputs. The saying goes, "Garbage In, Barbage Out"
To your question, Yes. I have looked very closely at the MMR raw data. I have a budget for sensors and a responsibility to my projects' investors. I don't intend to waste it on sensors which do not work. I like the concept of the MMR.but if it is not ready for prime time, then I am not ready to depend on it for the success of my projects. Please note that in my prior response to Laura, I asked for raw data from one of your own MMR units. My assumption is/was that you would only provide me with the best data. Once I receive that data, I could, with pretty good certainty, know the expected outcome and cost of any algorithm development effort we would have to expend to obtain a chosen result.
The idea of "Fusion" algorithms has been around for a very long time in many fields. It comes in many variations (e.g., AI, Fuzzy Logic, Kalman Filtering etc.) Interestingly, I have noticed a pattern of it being brought up in desperation as a savior, with great predictability, when it becomes apparent that the dollars spent on a (signal, image, data processing) project will not be yielding anything close to the promised result. As you said yourself, countless man hours are still being spent.
MMRUser,
If you look at the raw x-y data from your sensor in motion, it is producing perfect sine waves 90 degrees out of phase. This is the expected result. The basic yaw calculation is incorrect because there is both an x and y zero offset. This is a typical result of hard iron distortion. If you want to calculate yaw in this manner accurately, you will need to correct the offsets first.