Strange accelerations measurements in Simscape Multibody, using the Transform Sensor block
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Ronny Landsverk
il 28 Gen 2018
Commentato: Ronny Landsverk
il 29 Gen 2018
The acceleration stems from an inverted pendulum actuated with sinusoidal motion, and is in the translational x direction. That frame being measured has its z-axis in the rotational direction and sits on top of the pendulum. The reference frame is the global one, with x-axis directed in the same direction as the measured frame... The pendulum swings back and forth with an amplitude of 15 deg and unity radian frequency. I would expect sinusoidal-looking acceleration...
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/169555/image.jpeg)
The modeling is done using Simscape Multibody and the motion is sensed using a Transform Sensor. The plot shown is from a simulation using the variable-step auto(ode45) solver. Another simulation using the ode23s solver gives a totally different response, although not at all sinusoidal.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/169558/image.jpeg)
BTW, the pendulum represents a non-inertial base which to append an electro-mechanical system.
The model can be found at https://www.dropbox.com/s/7udnhog2i0fvkba/forum.slx?dl=0
Ronny
3 Commenti
Risposta accettata
Birdman
il 29 Gen 2018
It seems that your problem is with the solver. You set it to variable-step, which you allow Simulink to increase the step size until Simulink can, therefore you see unintended deviations from your desired signal. After a few experimental run for the model, fixed-step solver->ode5 will surely do it for you, with a 0.001 step size. Run the attached model.
3 Commenti
Birdman
il 29 Gen 2018
Modificato: Birdman
il 29 Gen 2018
But variable step solvers will increase the step size if they can and the thing is: that might not be what you want even in complex models. Therefore you need to identify your requirements and if a fixed step solver with 0.001 is enough for you, you should use it.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Assembly in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!