Why isn't there any integration drift in simulation of Inertial Navigation System(INS)?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
In INS, we obtain measurements from accelerometer and gyroscope; by integrating these the position and orientation of an UAV can be determined. I have simulated the dynamical equations for a point mass model of UAV. To simulate the noise, I added noise to the dynamical equations of velocity and angle rates. Since I want the UAV to track a particular trajectory, there are control laws in loop. When I integrate these equations, I only see noise on top of all the states, but not divergence in any of them. Why isnt the integrated error diverging?
I tried to add Kalman filter to this implementation, by assuming we can measure velocity, heading angle and the altitude of the UAV. Even this formulation is giving similar results with only extra noise in the integrated states.
My doubt is, since there are controllers in loop, at every time step, they are trying to ensure that the desired path is tracked and hence they are ensuring the UAV does not drift from the original path. This argument supports my simulation results. However, I am not sure about this logic. Can someone please explain?
2 comentarios
Brian Fanous
el 24 de Mayo de 2021
Editada: Brian Fanous
el 24 de Mayo de 2021
Shubham
Can you clarify what feature you are using and in which toolbox? Are you talking about the INS block?
Respuestas (1)
Jianxin Sun
el 23 de Nov. de 2021
Movida: Remo Pillat
el 29 de En. de 2024
Hi Shubham,
A typical control loop setup would look like:
Plant should be your ODE equations with no addtitive noise.
Then you can add noise to the ground truth output from the plant in the sensor model and use filter to create estimated states. To see the drift you expected, you need to implement the IMU model in the Sensor block. You can use the imuSensor object from Navigation toolbox to achieve this. imuSensor takes in ground truth acceleration and angular velocity and add noise to them.
Then in the filter block, you will compute the estimated x-y-z position based on the measured acceleration coming from imuSensor and this is where you should see drift between your estimated x-y-z position and true x-y-z position.
These estimated states then will be used to generate your control signal T_c, alpha_c and mu_c.
Thanks,
Jianxin
0 comentarios
Ver también
Categorías
Más información sobre UAV en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!