You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Based on the example demo_MBS_collision_trimesh, one might think that Chrono/bullet is able to do collision checking of concave meshes. Also, visually inspecting the simulation suggests that this is perfectly feasible (adding 30 objects instead of 15 and removed the spheres):
The objects are lying nicely stacked on each other and the simulation seems reasonable.
But using a different mesh, namely just the simplest possible cube instead but through a ChTriangleMeshConnected-object like this:
// const auto mesh = ChTriangleMeshConnected::CreateFromWavefrontFile(GetChronoDataFile("models/bulldozer/shoe_view.obj"), false, true);
const auto mesh = ChTriangleMeshConnected::CreateFromSTLFile("PathToBasicCube.stl", false);
, the simulation looks like this, where lots of the objects are lying inside each other:
Instead of assuming that the code is able to do this kind of collision checking, I would suggest that that example is modified to copy the triangles from mesh into a std::shared_ptr<ChTriangleMeshSoup> and then set that on the ChCollisionShapeTriangleMesh. This would result in ChCollisionModelBullet::injectTriangleMesh(...) creating convex decompositions of the meshes and therefore a much more stable simulation. Also, that approach would be usable as a starting approach for others wanting to implement something that requires simulations using concave meshes.
The text was updated successfully, but these errors were encountered:
Hmm, using the convex decomposition might be slightly less trivial than what I initially thought because doing the above (creating a ChTriangleMeshSoup for the collision chape) in debug mode leads to an assert failure in "chrono_thirdparty\HACDv2\dgGoogol.cpp" line 280:
Based on the example demo_MBS_collision_trimesh, one might think that Chrono/bullet is able to do collision checking of concave meshes. Also, visually inspecting the simulation suggests that this is perfectly feasible (adding 30 objects instead of 15 and removed the spheres):
The objects are lying nicely stacked on each other and the simulation seems reasonable.
But using a different mesh, namely just the simplest possible cube instead but through a
ChTriangleMeshConnected
-object like this:, the simulation looks like this, where lots of the objects are lying inside each other:
Instead of assuming that the code is able to do this kind of collision checking, I would suggest that that example is modified to copy the triangles from mesh into a
std::shared_ptr<ChTriangleMeshSoup>
and then set that on theChCollisionShapeTriangleMesh
. This would result inChCollisionModelBullet::injectTriangleMesh(...)
creating convex decompositions of the meshes and therefore a much more stable simulation. Also, that approach would be usable as a starting approach for others wanting to implement something that requires simulations using concave meshes.The text was updated successfully, but these errors were encountered: