I found the derivation. I have used numerical differential of quaternion as reference to compare the two formula. The one with constraint did give better accuracy when pitch and roll are not close to 0.
Posts made by Dong xiaoguang
Hello,
I think you are right. Just a reminder that the measured velocity in the body frame is no longer [frontVelMean, 0, 0] now. You may also rename Update_PseudoMeasurement() to something else because you are using actual measurements instead of pseudo ones.
Position and velocity are not required by the AHRS app. By saying AHRS app, we usually mean only attitude is calculated and the heading angle is stabilized by the magnetic heading.
First, please make the X axis of the IMU point to the direction of travel. Otherwise, heading accuracy may be degraded.
After doing that, you get the following diagram. L is the lever arm vector and has a positive component along the X axis of the IMU.
- point of interest is a point whose position you want to measure. The algorithm will use this config to convert the position of IMU to the position of this point.
- As mag is not used, its configurations don't matter. When soft iron ratio is set 1 and soft iron angle to 0, it means there is no soft iron interference.
Hi,
First, the lever arm is defined as the position of the GPS antenna relative to the IMU.
Second, the relative position vector is represented in the IMU body frame. And leverArmBx, leverArmBy and leverArmBz are three components of this vector in the IMU body frame.
Could you share with us some data file or plots where this issue occurs? Thank you.
I haven't seen anybody has done some thing like this with OpenIMU.
Oh, I just had the similar problem a few days ago. I found the soft reset command "55555352007E4F" in hex.
@Jose said in IMU placement into a car:
Can you assure us that this that we have tried to describe does not happen with your module?
If you mean magnetic interferences, we will have the same problem.
If you mean pitch/roll error increase duration acceleration or braking, we have this into consideration in our algorithm. However, there will still be error increase. You need to test it to see if it meets your requirements.
What is the optimal location for the module?What are the possible ones?Where have they tried it?
For magnetic sensor, you need to put it aways from changing interferences.
You should also put it at a location with less vibration.
On the other hand, is there a possibility to connect with Arduino?
We have SPI and UART in OpenIMU300ZI. You need to prepare the driver for Arduino.