Could the value of Spring Stiffness in the Revolute joint block (Simscape) be variable?

6 次查看(过去 30 天)
I'm trying to build an inverse dynamic model, where the * spring stiffness* is a variable value, or more specifically, a function of the input, the motion trajectory. How should I implement for this? Could someone give me any related examples or information? Thanks a lot!


Nicolas Schmit
Nicolas Schmit 2018-5-21
The stiffness parameter of the revolute joint is a constant. You cannot change it in real time.
Here is how you can implement a variable stiffness:
  1. In the actuation tab, set the torque to "Provided by Input" and the motion to "Automatically Computed".
  2. In the sensing tab, activate the Position sensing.
  3. Create a feedback loop from the position sensing output to the torque input.
  4. In your feedback loop, place a function which calculates a torque as a function of the position. The derivative of your function with respect to the position will be the stiffness at a given time.
  4 个评论
Catalina 2023-10-10
I am facing the problem of variable stiffness and following the comment thread I would like to try a model using the block called "Torque_stiffness", however, it is not found or I do not relate it to the blocks in the libraries available in matlab R2022b. Can you provide me with the library or the method you used to create the block?


更多回答(0 个)


Help CenterFile Exchange 中查找有关 Assembly 的更多信息


Community Treasure Hunt

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

Start Hunting!

Translated by