Detect object overlapping in Simscape Multibody

6 views (last 30 days)
Hello community,
I'm currently working on a project where I'm trying to support my development with Simscape Multibody. The project involves a system consisting of multiple cylinders that are attached to rigid rods (modelled as solids). To ensure flawless motion of the system, I want to build a Simscape model to detect potential collisions in the multibody system.
Ideally, I want to actuate all the cylinders automated to reach all possible positions and automatically detect where objects overlap (and export this information to verify it in my CAD-software).
Normally in SimScape, when objects are overlapping (e.g. a cylinder piston "crashing" into its housing), nothing happens as these end stops have to be specified in the joint properties. Is there a way to detect overlapping objects without letting them collide (and bring the motion to a stop) as it would be the case when you use the "spatial contact force" block?
Thanks in advance.

Accepted Answer

Alex
Alex on 10 Nov 2023
Hi Lukas
You can use the Spacial Contact Force block despite it. You just have to set the friction force to None and the Normal Force to Provided by Input and then input nothing. You can recognize the contact with the sensing function, especially the contact frame could be interesting for you.
I hope it will work for you.
  1 Comment
Lukas Wirth
Lukas Wirth on 10 Nov 2023
Hi Alex,
thank you for your answer. I was not aware, that in the later versions of Matlab, you can set the Normal Force to Provided by Input. This was not possible in the 2021 version. After updating to 2023, this worked just as I planned.
Thank you again.

Sign in to comment.

More Answers (0)

Categories

Find more on Simscape Multibody 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!