SimScape Multibody - variable velocity in spur gear simulation

2 views (last 30 days)
Robert Kugler
Robert Kugler on 1 Feb 2021
Answered: Steve Miller on 7 Jun 2021
Hi community,
I am simulating a simple pair of spur gears in SimScape Multibody. To make the gears move, I am using a velocity state target of 0.1 rev/s in the driving gear's joint (instead of using a function as an actuation input, for instance). Now, when I use the velocity sensing function of the joint, I am getting a measured velocity that looks reasonably close to 0.1 rev/s. Yet, it looks quite fluctuating and not exactly converging to a fully stable/constant value. You can see this in the scope output in the lower right of the screenshot:
Can anyone explain to me why this happens? I would have expected that the measured velocity is stable / constant...
I did give the two gears a density that is typical for steel (in order to have simscape take inertia into account) and I left the joints without friction. I suspect it may have something to do with that but I am not sure. Maybe the state target function of the joint acts like a controller? But in that case, I don't understand why the velocity does not stabilize...
Thanks for your help in advance!
  1 Comment
Amanpreetsingh Arora
Amanpreetsingh Arora on 4 Feb 2021
The "velocity state target" parameter is only used to solve for the initial condition of the joints and looking at the scope output, it is working as expected. Some other part of the model might be causing these fluctuations. Can you share the model so that I can reproduce the issue on my end?

Sign in to comment.

Answers (1)

Steve Miller
Steve Miller on 7 Jun 2021
Hi Robert,
The oscillations you are seeing are very, very small in magnitude.
Here are some possibilities:
  1. The center of mass of the gears may not be exactly where your joint axes are located. This could cause these tiny oscillations.
  2. Your solver settings may be contributing to numerical errors
If you can share the model, we could offer further suggestions.
--Steve

Community Treasure Hunt

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

Start Hunting!