Simulink 3d Animation LinePickSensor detects collision wrong

7 vues (au cours des 30 derniers jours)
DrSchmachti
DrSchmachti le 21 Sep 2019
Réponse apportée : Nishan Nekoo le 1 Oct 2025 à 15:43
Hey Guys,
I'm currently working on an university project and facing some issues with Simulink 3d Animation.
When working with Sensor Collisions (LinePickSensor) the ray detects a collision even though there is sight (see below).
Apparently there is a invisible rectangular box arround the mannequin (from feet to head - from hand to hand) which is detected.
When the ball is moved to the left (as far as the ball wouldn't hit the mannequins hand if moved upwards) there is sight.
I don't face those issues when working with objects that don't elements that stick out (e.g. sphere or cube).
Does anyone have a idea what the problem might be?
Thank you!
Collisions.PNG
  2 commentaires
Muhammet Dabak
Muhammet Dabak le 11 Nov 2020
I have the exact same problem. I guess it is not possible to solve.
MATLAB says
LinePickSensor Uses ray fans or other sets of lines that detect the distance to the colliding geometries.
In your case, that line hits the boundingbox of that object so there is no way out I guess, unfortunately.
Don Brutzman
Don Brutzman le 22 Avr 2021
Interesting question. Related low-level information regarding X3D functionality is found at X3D Tooltips: LinePickSensor describes functionality and provides reference links.
If it is X3D "under the hood" then some adjustment of model structure might be useful. I suspect that an overall simplified bounding box (represented in Group or Shape fields for bboxCenter bboxSize) are being used for picking geometry. This is common practice to reduce computational complexity of collision detection.
This is a good topic for our x3d-public mailing list, will pose it there.

Connectez-vous pour commenter.

Réponses (1)

Nishan Nekoo
Nishan Nekoo le 1 Oct 2025 à 15:43
As suggested in the post, this is likely due to the collision bounding box of the mannequin.
As the VRML-based viewer has now been deprecated, I would recommend using the Unreal Engine based visualization. For certain actors, you can enable the 'PreciseContacts' property allowing the Unreal Engine to use a collision box that follows the actor mesh precisely.
Nishan

Catégories

En savoir plus sur Simulation dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by