LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to find pitch-yaw-roll angle without too much unstable displacement with 6Dof IMU

Hi   

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..

0 Kudos
Message 11 of 23
(1,872 Views)

What is the make/model of the IMU and how do you have it wired up?

 

-AK2DM

~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 12 of 23
(1,868 Views)

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

 

0 Kudos
Message 13 of 23
(1,855 Views)

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.

0 Kudos
Message 14 of 23
(1,834 Views)

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.

0 Kudos
Message 15 of 23
(1,806 Views)

@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").

0 Kudos
Message 16 of 23
(1,793 Views)

hello first 

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

 

Download All
0 Kudos
Message 17 of 23
(1,779 Views)

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?

 

 

0 Kudos
Message 18 of 23
(1,748 Views)

@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

0 Kudos
Message 19 of 23
(1,737 Views)

Hi  

 

 

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.

0 Kudos
Message 20 of 23
(1,727 Views)