-
Notifications
You must be signed in to change notification settings - Fork 324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Free integration calculation issue #43
Comments
Changing the corrected code to the following:
(moving c_bn update down) gives a near-perfect result for free_integration:
This is more in line with how it is done in the EDIT: |
This is only a simulation. To recover 100% the positions in free integration with the simulated data, we need to make sure the data is integrated the same way as it is derived from pos/vel/att. Otherwise, numerical integration and numerical accuracy can cause difference. You can verify this by setting a higher sampling rate to see if this helps. |
Ok, great, seems like it is an integration error. There is another issue I updated in my code to change pos update to: |
I stumble upon an issue in free integration as my program calculated the same problem.
I have the following motion file
Basically running North at 100 m/s at init, making a 180 deg turn to go South. After the turn I have a residual 0.314 m/s velocity in the East direction. If I then continue for 10s, my position is off by about 4 m. See the max error in the following output:
The position error will obviously grow over time. I run the code as follows for the above result:
In the free integration file, there was some code commented out that updates the c_bn first, calculates vel_dot_b and then vel_b, then converts the vel_b to vel, and updates the position. If I do the calculation this way around it works out correctly. See the output below:
I change the code to the following for this result:
I made the IMU and GPS noise 0 to remove inconsitancy in the calculation and I am running the sim in
ref_frame=0,
in the demo_free_integraion file.
Is this problem an issue in the simulator generating the data or in the way free integration calculates?
The text was updated successfully, but these errors were encountered: