Simscape multibody input motion not being applied

11 views (last 30 days)
(unable to upload files for privacy concerns)
Hi all, I have imported some geometry from solidworks which functions as a linear guide with an arm attached to the carriage. I tried inputting a defined motion as a sine wave to the lead screw to oscillate +/- 10 rotations as a basic test. I noticed that this works with no load on the carriage, but does not work with a load (the arm flops around and moves the carriage minimally). From my understanding, when actuation is set to torque automatically computed and motion provided by input, this should be a forward kinematics approach which is what I intend. How can I make the carriage move according to the input despite the load conditions?
Here is a torque plot of the revolute joint controlling the lead screw

Accepted Answer

Steve Miller
Steve Miller on 6 Apr 2022
Hi Mitchell!
The plot you attached doesn't clearly indicate the issue you describe. If the motion input is a sine wave, configured as you describe that leadscrew will rotate back and forth and the cart will move back and forth. However, if the arm attached to that cart is able to oscillate freely like a pendulum, the amount of torque required to produce that motion will vary somewhat chaotically. If the pendulum swings in a direction that would push the cart with the prescribed motion, it would take less torque. If it is swinging in a direction that hinders that motion, it will take more torque.
Things you should try:
  1. Plot the translational motion of the cart. Is it sinusoidal? If so, your prescribed motion is working fine.
  2. Check the units of your prescribed motion and the cart motion. Perhaps the motion is just very small due to the leadscrew ratio OR maybe your prescribed motion is in degrees when you meant radians or revolutions.
--Steve
  3 Comments
Steve Miller
Steve Miller on 6 Apr 2022
Hi Mitchell - if you can email me a portion of the model or a screenshot of the block diagram where all critical blocks are shown, I can better interpret what I'm seeing. You can contact me via my author page on MATLAB Central, everything you send will be kept confidential. Thanks!
Steve Miller
Steve Miller on 6 Apr 2022
Since the Lead Screw Joint block doesn't permit you to apply a torque or a prescribed motion to the coupled degrees of freedom, you need to connect another joint to the screw to prescribe its motion.
Attached is model sm_testrig_lead_screw_friction_motion.slx. I modified shipping example sm_testrig_lead_screw_friction.slx to show how you can prescribe the motion of the Lead Screw joint by connecting Cylindrical Joint in parallel. You can see in the Scope that the screw oscillates in a sine wave and the required torque varies because of the load applied to the screw.

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!