Force emitted from one solid only effecting a certain area of another object (Simscape Multibody)
Show older comments
I am trying to create a Simscape Multibody model where Object A emits a force onto Object B. The force act downwards onto B, pushing it horizontally along a linear guide.
Object A is smaller than Object B, so the force from A only effects a certain portion of B. As B moves along the guide, the portion of B that is effected by the force changes (as shown in the diagrams).
How would I go about achieving this?


Answers (1)
Steve Miller
on 9 Jun 2021
0 votes
Hi Sam,
It depends what assumptions you are making:
- Can part B only move along an axis? 2 axes? Can it rotate?
- Is part B rigid?
- Is the force from part A only along an axis?
If we assume part B is rigid and can only move along one axis, then I would
- Use a Transform Sensor to measure the distance between the CG of part A and part B along the axis of movement
- If that distance is less than (length of A - length of B)/2, force is maximum
- If that distance is more than (length of A + length of B)/2, force is zero
- Else, ramp the force from (0 - maximum) based on the separation.
The force can be applied to the joint connecting B to ground, or with an External Force and Torque block.
--Steve
Categories
Find more on Electromagnetic Models 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!