Unable to Estimate Mass in Kalman Filter Implementation for VTOL System in Simulink

13 views (last 30 days)
I am working on a project that involves modeling a vertical take-off and landing (VTOL) system in Simulink. My objective is to estimate the system's altitude, mass, acceleration, and velocity using a Kalman filter. However, I am encountering difficulties with accurately estimating the mass of the system. Below are the details of my system and the challenges I am facing.System Details:
State Vector:
x=[y; v; a; m ]
Where:
  • y is the altitude
  • v is the velocity,
  • a is the acceleration,
  • m is the mass
State-Space Equations: x˙=Ax+Bu y=Cx
where the matrices are
A=[0 1 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 0],B=[0; 1/m; 0; 0], C=[1 0 0 0; 0 0 1 0], D=[0]
Although the Kalman filter I implemented can estimate altitude, acceleration and velocity, estimations remains unreliable and highly noisy. I took .
  • Why might the Kalman filter be struggling to estimate the mass in this system, despite other state estimates like acceleration and velocity being reasonably accurate?
  • Are there specific techniques or adjustments that could improve the mass estimation within the Kalman filter framework?
  • Would using an advanced filtering technique such as the Extended Kalman Filter (EKF) or Particle Filter (PF) be more appropriate for estimating mass in this type of system?
  • Could the structure of my state-space model be contributing to the difficulty in estimating mass, and if so, what changes would you recommend?

Accepted Answer

Rahul
Rahul on 29 Oct 2024 at 4:41
Hi simay,
I understand that you are trying to model a vertical take-off and landing (VTOL) system in Simulink, to estimate the system's altitude, mass, acceleration, and velocity using a Kalman filter but aren’t able to accurately estimateing the mass of the system.
Here are a few reasons and adjustments that might help refine your approach:
The Kalman filter likely struggles with mass estimation because the mass does not directly affect any measured output in the current state-space model. Your state vector includes mass, but without a way for the filter to observe how it influences other variables (or system dynamics), the Kalman filter has minimal information for mass estimation. Essentially, the mass is unobservable in this configuration because it doesn’t contribute directly to the measurements, unlike altitude and acceleration.
Enhanced Observability through Dynamics: Adding a model for mass change (e.g., due to fuel consumption in a VTOL system) that links it to other variables, such as acceleration, could enhance observability. For example, defining a relationship where acceleration is a function of both thrust and mass, with mass decreasing over time, would provide the Kalman filter with observable effects of mass on acceleration, improving estimation accuracy.
An advanced filtering technique like the Extended Kalman Filter (EKF) or Particle Filter (PF) could be beneficial:
  1. EKF: If you add nonlinear dynamics (e.g., thrust-to-weight relationship or fuel burn rate), the EKF can better handle these nonlinearities compared to the standard Kalman filter.
  2. Particle Filter (PF): A PF could be particularly useful because it doesn’t assume Gaussian noise and is well-suited for estimating non-linear, non-Gaussian processes like mass. A PF could provide a distribution of possible mass estimates based on observed dynamics, which might yield better performance in scenarios with complex relationships between mass and other variables.
Make Mass Influence Observables: Modify the state-space equations so that mass has a direct or indirect effect on measured variables. For example, if thrust or acceleration depends on mass, this relationship should be included in the model.
Time-Varying or Dynamic Mass Model: Implementing a time-varying model where mass changes over time (such as through fuel consumption) will improve the filter’s ability to observe and estimate mass accurately.
Best!

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!