From 8ca51b5318e9dfd8e212c41268b0e0c6e98f6075 Mon Sep 17 00:00:00 2001 From: Alessio Quaglino Date: Mon, 20 Nov 2023 06:31:45 -0800 Subject: [PATCH] Backtracking line search for SDF collisions. Increased tolerance above zero in nutbolt.xml since now the two parts lock otherwise. Measured speedup of 2x in this example. This solves the issue of scale-dependent step sizes. Tested on gears with 10cm diameter and 2cm thickness. PiperOrigin-RevId: 584009449 Change-Id: Ied2f62dbbbc592470b91cf910f3553802a57c752 --- doc/changelog.rst | 10 ++++++++++ model/plugin/sdf/nutbolt.xml | 4 ++-- plugin/sdf/bolt.cc | 2 +- plugin/sdf/bowl.cc | 2 +- plugin/sdf/gear.cc | 2 +- plugin/sdf/nut.cc | 2 +- plugin/sdf/sdflib.cc | 2 +- src/engine/engine_collision_sdf.c | 33 +++++++++++++++++++++++++------ 8 files changed, 44 insertions(+), 13 deletions(-) diff --git a/doc/changelog.rst b/doc/changelog.rst index 25d866a4..471e7105 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -2,6 +2,16 @@ Changelog ========= +Upcoming version (not yet released) +----------------------------------- + +General +^^^^^^^ + +- Improved convergence of Signed Distance Function (SDF) collisions by using line search and a new objective function + for the optimization. This allows to decrease the number of initial points needed for finding the contacts and is more + robust for very small or large geom sizes. + Version 3.0.1 (November 15, 2023) --------------------------------- diff --git a/model/plugin/sdf/nutbolt.xml b/model/plugin/sdf/nutbolt.xml index d3d80ff7..51e2b554 100644 --- a/model/plugin/sdf/nutbolt.xml +++ b/model/plugin/sdf/nutbolt.xml @@ -8,7 +8,7 @@ - + @@ -30,7 +30,7 @@ -