Hi @Elie-NTUMBA, as I know there is no magnetic sensor in MTLT305D. I am a bit curious how you apply magnetic alignment?
Group Details Private
FAQ
application engineer
Member List
Hi @Abdelrahman,
- Please use AHRS application in low distortion magnetic environment, as mag sensor is very sensitive to magnetic interference.
- Please apply magnetic alignment (as below screenshot) in no magnetic distortion environment at first and check if initial heading is correct.
- If it takes long time to convergent correct heading in static condition, as AHRS is an open-source app, customers could try to adjust “gKalmanFilter.R[STATE_YAW]” (as below screenshot) to lower values, like 1.0e-3, 1.0e-4, 1.0e-5 … in their customized applications.
- Could you help to collect some field test data? This might require using a custom FW to collect all the information required for the algorithm to do post analysis. Test data should include accel, raw gyro, raw mag, corrected mag data, roll, pitch and heading data at 100Hz message rate from power on, as well as hard and soft iron parameters shown in above screenshot.
Hi Amin,
Roll and pitch are zero before algrithm initlization is done. Normally, algrithm initlization can be done within 1 second. Initial roll and pitch are calculated by averaged 3D acceleration. If you want to modify duration of algrithm initlization for your application, you can adjust 'INITIALIZE_ATTITUDE_DURATION' in source code. Thank you.
Hi, it is claims that the angular rate range is +- 400 dps in datasheet. I think the range was 400 dps in default IMU App before you updated to VG_AHRS App, right?
Assuming you check data in 'a1' or 'a2' packet via RS232, could you please switch 'z1' or 's1' packet to see the rate range?
Hi, from your screenshot, we can see "0X55 0X55 0X61 0X31 ... " at the beginning of data, where 0X5555 is the Preamble of packet, 0X6131 is the packet type 'a1'.
Besides, here is a description of 'a1' packet, hope it is helpful for you.
https://openimu.readthedocs.io/en/latest/apps/ahrs.html?highlight=a1#the-definitions-of-the-output-packets-of-the-vg-ahrs-app
Hi, I used 200Hz before and OpenIMU300ZI worked properly at that time.
Please note that if the length of packet is a bit long, you also need to adjust baud rate to 230400 or higher.
Pin 7 of IMU300ZI is SPI/UART Interface selector, could you please check you have selected UART by pin 7 already on your customer board?
Reference: https://openimu.readthedocs.io/en/latest/300ZI/pinout.html
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.
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.