From 38fa5083eb7aa5a52d2b1e15e6d4f706f2c9b8c2 Mon Sep 17 00:00:00 2001 From: Baruch Tabanpour Date: Mon, 15 Apr 2024 14:41:40 -0700 Subject: [PATCH] Fix support for deep penetration in plane-convex. PiperOrigin-RevId: 625088511 Change-Id: I30bd4d475f4bfde98b5ae6254dd67bbe0fc09c08 --- mjx/mujoco/mjx/_src/collision_convex.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mjx/mujoco/mjx/_src/collision_convex.py b/mjx/mujoco/mjx/_src/collision_convex.py index 1e501097..726ecade 100644 --- a/mjx/mujoco/mjx/_src/collision_convex.py +++ b/mjx/mujoco/mjx/_src/collision_convex.py @@ -186,7 +186,7 @@ def plane_convex(plane: GeomInfo, convex: GeomInfo) -> Contact: plane_pos = convex.mat.T @ (plane.pos - convex.pos) n = convex.mat.T @ plane.mat[:, 2] support = (plane_pos - vert) @ n - idx = _manifold_points(vert, support > 0, n) + idx = _manifold_points(vert, support > jp.maximum(0, support.max() - 1e-4), n) pos = vert[idx] # convert to world frame