Detect object overlapping in Simscape Multibody

3 次查看(过去 30 天)
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.

采纳的回答

Alex
Alex 2023-11-10
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 个评论
Lukas Wirth
Lukas Wirth 2023-11-10
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Simscape Multibody 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by