How to properly implement self-collision detection for soft robots - model preparation, collision groups and debugging #5690
Replies: 3 comments
-
|
Hello ! First of all, thank you for using SOFA. I hope I will be able to help you. Before going through your question, know that even if it i quite old now, SOFA is still moving a lot between releases. Stability issues are getting solved, new features added and so on. So i can only suggest to upgrade your version that is now 4 releases old. Now let's dive into your questions:
Hope that helps ! |
Beta Was this translation helpful? Give feedback.
-
|
|
Beta Was this translation helpful? Give feedback.
-
|
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Question about Self-Collision Implementation
I'm implementing a soft robot (TDCR) with cable actuation and need guidance on properly setting up self-collision detection. I've followed the trunk tutorial example but have questions about model preparation and best practices.
Current Implementation
I've implemented collision detection similar to the trunk example by splitting my model into parts:
And collision pipeline in the scene:
Questions
Model Preparation & Construction:
How to properly create collision meshes: What's the recommended workflow for creating
trunk_colli1.stlandtrunk_colli2.stlfrom the original model? Should they:Model Splitting Strategy: How should I decide where to split the model? Should the split be:
Mesh Quality Requirements: Are there specific requirements for collision meshes:
Implementation & Configuration:
4. Model Splitting Necessity: Is it mandatory to split the collision model into multiple parts for self-collision to work? Can self-collision work with a single collision mesh?
Collision Groups: What's the correct way to assign collision groups for self-collision? Should different parts have different group numbers (as I'm doing with
group=i) or is there a better approach?BarycentricMapping: How does the mapping work when collision meshes are different from the FEM mesh? Any special considerations for accuracy?
Debugging & Feedback:
7. Collision Detection Feedback: How can I get output or debug information when self-collision occurs? Is there a way to:
Context
.vtkmeshAny guidance on the complete workflow from model preparation to collision implementation would be greatly appreciated!
Beta Was this translation helpful? Give feedback.
All reactions