06-09-2021 11:19 AM
Hi billko
The noise that occurs is not a noise of 1-2 degrees, but sounds that occur randomly between 20-50 degrees. I do not think that the reason for such a large noise is only caused by the table. Also, when I put it on a balanced floor, it still continues. I added the resulting noise to the excel file as raw data. There The added information is in radians, not degrees. Looking at that excel file, the noise generated can be better understood.
excel file Message 6
Thanks again for your interest..
06-09-2021 11:24 AM
What is the make/model of the IMU and how do you have it wired up?
-AK2DM
06-09-2021 02:10 PM
Thank you for answering my questions and also for providing some data.
Something is seriously "wrong" with what you are doing. I haven't read the documentation on your IMU device (can you attach this?), but it is either wired up completely incorrectly, is totally broken, or "something else is totally out of whack".
I just plotted the data. Looking at a triaxial Accelerometer (which I've done, actually), you can always tell the Z (vertical) axis as that's the one that has a value near +1 (or -1) when lying flat on a table, while X and Y are near 0. Ignoring the noise (which should be several orders of magnitude smaller than you show), this is the axis you label "X".
Now let's consider rotations, and assume the gyro is very sensitive. I could imagine micro-tremors causing rotations about the two horzontal Axes, but the vertical axis should be rock-solid. In your data, this would (again) be the X axis, which leads me to think that "X is the vertical axis".
As for the complications that come with rotations and the difficulty of handling Roll, Pitch, and Yaw, I looked up "Helmholtz Gimbal", and was taken to a paper by Schreiber and Schor (possibly a distant cousin) that talked about Eye Movements, and the importance of "knowing your conventions". As the paper shows, you need to specify the Gimbal (Helmholtz or Fick are the more common two) in order to know the 3D orientation of an object after rotations about the X, Y, and Z Axes (because a Yaw rotation moves the Pitch Axis in Fick. while a Pitch rotation moves the Yaw Axis in Helmholtz).
Bob (I'm getting dizzy!) Schor
06-10-2021 07:38 AM - edited 06-10-2021 07:39 AM
First of all, I thank you.
Yaptığınız şeyde ciddi anlamda "yanlış" bir şeyler var. IMU cihazınızdaki belgeleri okumadım (bunu ekleyebilir misiniz?), ancak ya tamamen yanlış bağlanmış, tamamen bozuk ya da "başka bir şey tamamen bozuk". -I know something is wrong i am still trying to fix the problem. I added the IMU features to the attached excel file.
I just plotted the data. Looking at a triaxial Accelerometer (which I've done, actually), you can always tell the Z (vertical) axis as that's the one that has a value near +1 (or -1) when lying flat on a table, while X and Y are near 0. Ignoring the noise (which should be several orders of magnitude smaller than you show), this is the axis you label "X".
-I think I understand the axis positions here.
Now let's consider rotations, and assume the gyro is very sensitive. I could imagine micro-tremors causing rotations about the two horzontal Axes, but the vertical axis should be rock-solid. In your data, this would (again) be the X axis, which leads me to think that "X is the vertical axis".
-Here the Gyroscope X-axis is fixed. This is nice. I don't think there is much of a problem with the gyroscope.
Rotasyonların getirdiği komplikasyonlara ve Roll, Pitch ve Yaw'ı kullanmanın zorluğuna gelince, "Helmholtz Gimbal" ı aradım ve Schreiber ve Schor (muhtemelen uzak bir kuzen) tarafından Göz Hareketlerinden bahseden bir makaleye götürüldüm, ve "uzlaşımlarınızı bilmenin" önemi. Makalede gösterildiği gibi, bir nesnenin X, Y ve Z Eksenleri etrafında döndürüldükten sonra 3B yönelimini bilmek için Gimbal'i (Helmholtz veya Fick daha yaygın olan ikisidir) belirtmeniz gerekir (çünkü bir Yaw dönüşü Pitch'i hareket ettirir Fick'te Eksen. Helmholtz'da bir Pitch rotasyonu Yaw Eksenini hareket ettirirken).
-Generally speaking, as long as a stationary IMU outputs itself as if it is moving and there is noise, I think roll,pitch is difficult to calculate.
I'm still researching how I can solve this. My confusion is that if I rotate the IMU, it responds to it.But it doesn't show a fixed value, it detects the angle I turn, but it doesn't stay fixed, it moves constantly with an angle of 40 degrees.
06-12-2021 03:15 AM
I want to add an additional information. The baud rate I use is 230400.
I'm using the FT232RL Module, is there a situation that will cause noise here?
I continue to search for a solution.
06-12-2021 02:39 PM
@constructionworker wrote:
I want to add an additional information. The baud rate I use is 230400.
I'm using the FT232RL Module, is there a situation that will cause noise here?I continue to search for a solution.
Great (but who cares?). Again, what is the make and model of the IMU? Or better yet, can you attach a data sheet (or User Manual) that completely describes this IMU? Among other things, it should clarify the names and orientations for the axes and describe how the data are encoded and presented to the User. An IMU that is relatively stationary should have readings that vary "hardly at all" (unless the device is designed for "micro-tremors"). Certainly if it has a response range of several g's (9.8 m/sec²), you should see the equivalent of "1 g ± 0.01 g" on one axis and "0 g ± 0.01 g" on the other. Taking the square root of the sum of the squares of the X, Y, and Z readings will give you the magnitude of the Acceleration vector, which should also be "1 g ± 0.01 g").
06-13-2021 03:31 AM - edited 06-13-2021 03:33 AM
hello first Bob_Schor
As seen in the code block, there is 18 bytes of output data. These are all shared information about this product. I have added the method of data output as an excel file. No other information has been shared.
By the way, it is not a product produced for micro-tremors.
Taking the square root of the sum of the squares of the X, Y, and Z readings will give you the magnitude of the Acceleration vector, which should also be "1 g ± 0.01 g").
-In such a measurement, when stationary, the output gives values between 0.91444 and 1.41902.
I think the problem can be solved by adding "Complementary Filter". I am researching how to do this.
Thank you for your interest
06-15-2021 06:35 AM
I'm still looking for an answer. I'm trying to create a filter. I've looked at all filtering articles and examples but still can't find a solution. The acc information in the image below has raw axis data of a fixed IMU. After examining this axis information, I noticed that the axis information has noise around one major Degree. How can I filter out this noise? Anyone have an idea about this?
06-15-2021 08:06 AM
@constructionworker wrote:
Taking the square root of the sum of the squares of the X, Y, and Z readings will give you the magnitude of the Acceleration vector, which should also be "1 g ± 0.01 g").
-In such a measurement, when stationary, the output gives values between 0.91444 and 1.41902.
If the device is stationary, there is no way that it can be undergoing accelerations that range over 0.5 g (1.4 - 0.9 = 0.5). Either your device is very faulty, or you are not using it correctly. As you have so far not provided any information about the device, itself, it is difficult to make suggestions on how you might be getting "faulty data" from a properly-working device (e.g. "a grounding error", or "the wrong Baud rate", or something entirely different).
"Filtering" is not going to help. There is an acronym that Wikipedia says arises in Computer Science (but, trust me, many life scientists use it too): GIGO, which stands for "Garbage In, Garbage Out". Filtering will not help you.
Bob Schor
06-15-2021 03:40 PM
Hi Bob_Schor
If the device is stationary, there is no way that it can be undergoing accelerations that range over 0.5 g (1.4 - 0.9 = 0.5). Either your device is very faulty, or you are not using it correctly. As you have so far not provided any information about the device, itself, it is difficult to make suggestions on how you might be getting "faulty data" from a properly-working device (e.g. "a grounding error", or "the wrong Baud rate", or something entirely different).
I gave all the contact information of the product. I don't think I've connected the RX-TX cable to the TTL cable wrong. Actually, when I move the IMU, it goes to real angles, but it doesn't stay at a constant value, it creates a 20-30 degree deviation around the angle I rotate (It's like a constant shaking of the car fuel gauge needle by averaging a value). I guess if I connect the RX-TX-GND cable wrong, communication should not occur. . If the baud rate is not correct, the product does not logically indicate that the angle has changed.
Please correct me if I'm wrong.