How can I apply logics to Spatial Contact Force signals

조회 수: 3 (최근 30일)
Fabio Mamone
Fabio Mamone 2021년 6월 15일
댓글: 道勇 朱 2022년 4월 5일
Hi,
Thanks for your support. I am trying to simulate contact between bodies of a complex shape. Since the convex hull does not approximate well the shape, I divided each body into one solid that has the shape of the core (which will never get in contact) and one solid for each 'protrusion' that I welded in place. The convex hull approximates the shape of each protrusion very well and the contact modeling is working perfectly.
From the problem itself I know for sure that there could be only two simultaneous contacts at a time, and since it is possible to easily compute the position of each protrusion at each timestep, I can define a logic to choose only 2 of them for each body and apply the contact only for those 2, for each timestep. Otherwise I would need to define n x m connections, where n and m are the number of protrusions of each couple of bodies.
To do so, I would need to apply this logic to the signal that connects Convex Hulls to Spatial Contact Force blocks, but I failed to find a block that works with that signal. Is there any way to accomplish this?
Also a bus for that kind of signals would be really helpful, especially if there is no solution to the question above, in order to tidy those signals up.
Huge thanks for your time and your support.
Best regards,
Fabio Mamone
  댓글 수: 1
道勇 朱
道勇 朱 2022년 4월 5일
Hello, has your problem been solved? I also encountered the problem of gear contact force. Can you give me some knowledge or suggestions? I would appreciate it

댓글을 달려면 로그인하십시오.

답변 (1개)

Steve Miller
Steve Miller 2021년 6월 16일
Hi Fabio,
It isn't clear to me why you would want to turn the Spatial Contact Forces for the protusions off. Are you hoping to increase simulation speed?
I think what you are doing might be more efficently done using the Point Cloud block in Simscape Multibody:
Simscape Multibody can more efficiently determine which points are relevant for the current situation in the model, and you will only have one block and one connection to deal with.
--Steve
  댓글 수: 2
Fabio Mamone
Fabio Mamone 2021년 6월 16일
Hi Steve,
Huge thanks for your answer, you gave me a great hint.
Yes, basically I am trying to make the model 'smarter'. I'll try to better explain this: by using only two Spatial Contact Force blocks for each pair of bodies, it is possible to:
  • reduce the number of connections, which really helps in terms of tidiness of the block diagram
  • optimize the simulation to run the contact modeling only where it is effectively needed
By the way, I will run some tests with Point Cloud block and see if it can work for this.
I am truly thankful for your help.
-Fabio
Fabio Mamone
Fabio Mamone 2021년 6월 16일
편집: Fabio Mamone 2021년 6월 17일
Hi again Steve,
Unfortunately the Point Cloud solution didn't work, probably I'm the one messing it up and the geometry is not properly approximated.
I'll try to give more details:
  • I'm trying to simulate gear teeth contact based on true geometry (with clearance and compliance), so the loss of Sensing due to the use of Point Cloud blocks is a problem
  • to me the ideal solution would be to have a switch for the signal going into the Base of the Spatial Contact Force, as I said I could set up the contact only for 2 (or maybe 3) teeth and use a logic based on position to choose which one to connect
  • Right now I made a 'dummy' scheme in which I manually routed two identical 18-teeth gears (18 rows of Spatial Contact Force blocks, each row containing 18 blocks). Simulation is working very (very) good and I'm using this as benchmark for any test that I'm running to simplify the architecture, since the real problem has more than two gears with more than 18 teeth.
Thanks againg for your support.
-Fabio

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Applications에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by