Unexpected Behaviour: Simulink Integrator not using input signal (it ignores instantaneous speed increments in the integration of a particle´s motion).

1 次查看(过去 30 天)
I am modelling a 2D impulsive guidance system for a spacecraft. The impulses (finite and instantaneous increments in the Velocity of the spacecraft) are added to the current (2D)state of the spacecraft and fed into the ODE block (where the dx/dt is generated). This signal is then integrated and fed back. This can be seen in the following figure.
The deltaV signal that is seen in the figure is only different than (0,0) in those epochs where the manoeuvre occurs (see figure below for the deltaVx).
This signal should produce differences in the state vector´s velocity components THAT SHOULD BE INTEGRATED, right? Well, it doesn´t. For some reason I dont manage to grasp, the integrator ignores these sudden changes in speed and keeps integrating the past velocity ("past" means non-updated value). This is shown in the two following figures (Vx component, relate them to the architecture shown in Figure 1).
What these plot show is that the deltaV is correctly added by the Matlab function, but these velocity changes are never considered by the integrator. The next step velocity is NEVER calculated as the integrate(updated V0), but as integrate(non-updated V0).
My guess is that I am missing some basic Integrator block behaviour w.r.t. (sudden?) state0 changes between steps. I have tried different integration schemes, and tuning simulation parameters, but this doesn't work either.
I would appreciate any suggestions! Thank you very much.
NOTE: The "Dynamics" block has been verified and validated already, there is no "coding" error in it. NOTE2: The Command plot shows an increasingly high deltaV command because the corrections never occur in the model, so the required command grows gradually while approaching target. NOTE3: I am using Matlab 2016b.

采纳的回答

Jakub
Jakub 2017-8-3
For simulating impulsive maneuvers I would consider using an integrator with reset trigger and input. You may need some additional logic around it, but you will avoid integration of very short impulses.
About the question why the integrator does not integrate the impulse can you post a plot of dxdt signal (possibly zoomed around the impulse).
Can you also paste a diagram with sample-time coloring enabled?
  1 个评论
Pablo Minguijon Pallas
编辑:Pablo Minguijon Pallas 2017-8-7
Hello Jakub, and thanks for the answer.
I will try implementing those suggestions, let´s see if they work. EDIT: Actually this was it, the IC of the integrator need to be reset when the impulsive manoeuvres happen. Thank you!
The following 2 figures show the dxdt signal fit to view and zoomed around the first impulse.
Also, this is the sample-time colored architecture:

请先登录,再进行评论。

更多回答(1 个)

Leidy Yanet Serna Higuita
Hello, Have you got any solution? I have more or less the same problem. The integrator block is unexpected reset.

类别

Help CenterFile Exchange 中查找有关 Composite Interfaces 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by