How do I have a time based function be the input for revolute joint position in Simulink

8 views (last 30 days)
I am trying to model a motion in which I take data from the real world, regress it into a function and then use this function to drive a simulink model revolute joint for position. I then intend to use the model to do an inverse dynamics calculation of the joint torques that would be needed to create the specified motion.
What block do I use to just specify an input function to the joint as a function of time? I would like to be able to enter a polynomial equation with the regression coefficients.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 1 Dec 2022
The Clock block provides the time line that the simulation runs on. You can use that for your function.
  3 Comments
Fangjun Jiang
Fangjun Jiang on 1 Dec 2022
The error comes from a "C Caller" block, not a "MATLAB Function" block. For your need, I would think a "MATLAB Function" block is sufficient. Why use a "C Caller" block?
Dieter
Dieter on 1 Dec 2022
Thanks. I did not know there was a difference. The blocks look identical when I search for Matlab function. Must have had the wrong one. Now its on to a different error about input derivatives, but at least I am past that sticking point.

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Environment Customization in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!