How to keep a solid stationary even when a force is acting upon it?
Show older comments
Hello,
I am trying to have a solid cube (10 10 10 cm) remain stationary when a force acts upon it.
The cube is connected to a prismatic joint and the force comes from a Generic Linear Actuator using a translation 3D-to-1D interface (Simscape Mulibody Multiphysics Library). The joint is also connected to another solid, a rotary arm, I want the rotary arm to move as normal.
I have tried connecting the solid to the world frame, however, this causes an error to occur (model not assembled error). I have also applied the appropriate setting to allow for forces to act on rigid bodies and not produce an error message.
I have inserted the Simulink/Simscape file in question, the area of concern is subsystem 2.
5 Comments
SYED IMTIAZ ALI SHAH
on 14 Aug 2019
I run it, what exacatly you want your model to do? What is the role of red cube? Why connected other bodies to red cube?
Samuel Hayward
on 14 Aug 2019
SYED IMTIAZ ALI SHAH
on 14 Aug 2019
Yes there is, give me some time to make changes in your file
SYED IMTIAZ ALI SHAH
on 14 Aug 2019
Dear Samuel Hayward, You have attached Linear Acutator between Red Block and Solid 5 (Arm). It proudces actuation in Z direction. (Rigid Transform3). The motion that you see (revolute) is due to the reaction force of Red Block on the Arm.
Now
Do you want you Red Block firmly attached to Arm?
Do you also want rotation?
if you want the above why not fix (remove prismatic joint) the Red block to Arm and use DC Motor for revolute joint?
Dont you think a simple DC Motion will make life easy?
Samuel Hayward
on 14 Aug 2019
Answers (1)
Steve Miller
on 25 Oct 2021
0 votes
Hi Samuel,
I adjusted your model so that the red brick is rigidly attached to ground using a Rigid Transform, and the motor is applying its force directly to the red brick. The red brick does not move.
When you attach an item to ground between two different paths (via the arm and via the Rigid Transform to hold it in place), you have to make sure those paths are consistent. I used a Transform Sensor to measure the distance to the World Frame and used those values to set the offset in the Rigid Transform block.
--Steve
Categories
Find more on Assembly in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!