Simulink simulation output differs when run on Speedgoat Target machine and on user's machine

1 view (last 30 days)
The difference is quite significant, as you can see in the attached screenshot showing the closed loop response of the same system on the Speedgoat Target machine and on a windows computer (user to load the simulation on the Speedgoat Target machine). Note: in both cases we are running the same identical script, that includes a controller and a simulation of some discrete-time plant/system dynamics.
What are possible causes of this difference?

Answers (1)

Dimitri MANKOV
Dimitri MANKOV on 13 Mar 2023
Hi Andrea,
If the simulation outputs are different, there's a high chance that the input signals are different too. Could you compare the inputs to your control algorithm in both screnarios?
I am assuming you are doing rapid control prototyping, i.e., that your Speedgoat target machine acts as a controller in your setup, is that correct? Differences with an offline simulation are often explained by the fact that the plant model used in the offline design of your controller is an approximate / ideal / mathematical representation of the real plant, which will not react exactly the same way to actuator inputs in reality as it does in simulation.
I hope this is helpful!
Dimitri
  2 Comments
Andrea Tagliabue
Andrea Tagliabue on 13 Mar 2023
Dimitri, thank you for your reply.
Both the user's computer and the Speedgoat Target machine run the same simulation of the plant/dynamics (and the same controller; everything is the same), so I would expect to see the same outputs.
Dimitri MANKOV
Dimitri MANKOV on 15 Mar 2023
Edited: Dimitri MANKOV on 15 Mar 2023
Hi Andrea,
Are you using Simulink Desktop Real-Time on the user computer, or just Simulink? Do your models contain any I/O interface blocks?
The main difference between Simulink Desktop Real-Time and Simulink Real-Time with Speedgoat hardware is that Simulink Desktop Real-Time works in soft real-time, while your Speedgoat target machine works in hard real-time.
If your models contain I/O interface blocks, it adds a further difference, as different I/O modules have different communication latencies/delays, which may have an impact on the dynamics of your simulation.
I hope this is helpful!
Dimitri

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!