MATLAB Answers

Dynamics Simulation Inconsistencies in Simscape Mechanics Model

3 views (last 30 days)
Vicente Rubio Juan
Vicente Rubio Juan on 2 May 2021
Edited: Vicente Rubio Juan on 7 Jun 2021
I have been trying to model a TVC (Thrust Vectoring Control) system for a rocket (here is the link to the model:, and doing so i have found two main issues that may contradict the laws of phisics:
  • If I apply a constant force to the inner gimbal parallel to its main axis, and impose a constant deviation of the inner gimbal angle respective to the actual rocket (via a revolute joint), the simulation shows the rocket rotating almost in a sinusoidal way, thus changing the diretion of rotation periodically instead of rotating all the time in the same direction.
  • The second issue I find is that, if instead of applying the force paralel to the inner gimbal, I impose no joints between the differents gimbal parts (therefore making a solid), and apply the force in an angle, the simulation shows the rocket rotating all the time in the same direction but there are no oscilations in the altitude (Y) and X position graphs, as if the thrust is not pushing the rocket when it is upside down or rotated 90 degrees etc.
Thanks in advanced

Answers (1)

Steve Miller
Steve Miller on 4 Jun 2021
Hi Vicente,
I downloaded your model and ran it. I didn't quite follow your explanation, but there are some improvements you can make to the model.
These two issues are tied together - you have motion actuation on the Cartesian Joint which has no inertia associated with it.
  1. Eliminate the algebraic loops
  2. Do not motion actuate a joint that has no inertia associated with it
I think you are trying to place a camera that will follow the rocket using the Cartesian Joint.
As for the other points you raised, I see the rocket spinning as you expected it to, and not oscillating. If you can add some plots and an animation to explain what is different than what you expected, we can help further.
  1 Comment
Vicente Rubio Juan
Vicente Rubio Juan on 7 Jun 2021
Hello Steve,
First of all, I would like to thank you for the answer, it is much appreciated.
Regarding the first topic you explained, I have deleted the Cartesian Joint since, as you pointed, it is only used for a camera, but doing so my problem still persists. However, I have solved the issue by changing to the aerospace blockset instead of using the multibody tool.
Nevertheless, I will explain the issues I found in case anyone finds them somewhat usefull:
Whenever I apply a gimbal angle like in Fig 1, (which is at 20 degrees in the image), and impose an angle of 0 degrees on the two revolute joints (Fig 2), the rocket oscillates correctly, but the gimbal from the 3D model stays parallel to the main body of the rocket (Fig 3)
Fig 1
Fig 2
Fig 3
This behavior seems correct to me since the angular velocity increases until the motor shut down, therefore maintaining a constant spin rate Fig 4. (It has a small oscillation due to the effect of the weight)
Fig 4
The problem comes when I look at the altitude graph (Fig 5)
Fig 5
As can be observed, the curve is really smooth, as if the tilt of the rocket did not have any effect on the climbing velocity. The same happens with the other axis
The other issue is that, if instead of applying the 20 degrees on the Gimbal Angle from Fig 1 I use the following configuration Fig 6 and Fig 7
Fig 6
Fig 7
The angular velocity graph of the rocket behaves like shown in Fig 8
Fig 8
As can be seen, the rocket's angular velocity oscillates.
I hope my explanation is understandable enough, if not I will be glad to try and give a better explanation.
Sincerely Vicente

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!