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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/166503/image.png)
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).
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/166504/image.png)
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).
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/166505/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/166506/image.png)
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.
0 个评论
采纳的回答
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 个)
Leidy Yanet Serna Higuita
2019-2-22
Hello, Have you got any solution? I have more or less the same problem. The integrator block is unexpected reset.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Composite Interfaces 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!