Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance EPA #549

Merged
merged 24 commits into from
Mar 15, 2024
Merged

Enhance EPA #549

merged 24 commits into from
Mar 15, 2024

Conversation

lmontaut
Copy link
Contributor

@lmontaut lmontaut commented Mar 6, 2024

This PR fixes/enhances EPA:

  • Ignore useless faces of EPA's polytope
  • Warm-started support computation for Convex
  • Fix witness points computation in EPA for certain edge cases

To work on the PR, I had to serialize objects to visualize scenarios from python, hence the commits related to python serialization. The serialization code is borrowed from Pinocchio.

@lmontaut lmontaut requested review from jcarpent and jorisv March 6, 2024 19:49
@lmontaut lmontaut force-pushed the louis/topic/enhance-epa branch 19 times, most recently from 27da0ca to c4799c4 Compare March 13, 2024 23:44
@jcarpent jcarpent merged commit d676755 into coal-library:devel Mar 15, 2024
29 of 35 checks passed
@lmontaut lmontaut deleted the louis/topic/enhance-epa branch March 18, 2024 13:43
nim65s added a commit to nim65s/robotpkg that referenced this pull request Nov 21, 2024
    ## [3.0.0] - 2024-11-20

    ### Added
    - Renaming the library from `hpp-fcl` to `coal`. Created a `COAL_BACKWARD_COMPATIBILITY_WITH_HPP_FCL` CMake option for retro compatibility. This allows to still do `find_package(hpp-fcl)` and `#include <hpp/fcl/...>` in C++ and it allows to still do `import hppfcl` in python (coal-library/coal#596).
    - Added `Transform3f::Random` and `Transform3f::setRandom` (coal-library/coal#584)
    - New feature: computation of contact surfaces for any pair of primitive shapes (triangle, sphere, ellipsoid, plane, halfspace, cone, capsule, cylinder, convex) (coal-library/coal#574).
    - Enhance Broadphase DynamicAABBTree to better handle planes and halfspace (coal-library/coal#570)
    - (coal-library/coal#558):
      - [internal] Removed dead code in `narrowphase/details.h` (coal-library/coal#558)
      - [internal] Removed specializations of methods of `GJKSolver`. Now the specializations are all handled by `ShapeShapeDistance` in `shape_shape_func.h`.
      - [new feature] Added support for Swept-Sphere primitives (sphere, box, capsule, cone, ellipsoid, triangle, halfspace, plane, convex mesh).
    - [API change] Renamed default convergence criterion from `VDB` to `Default` (coal-library/coal#556)
    - Fixed EPA returning nans on cases where it could return an estimate of the normal and penetration depth. (coal-library/coal#556)
    - Fixed too low tolerance in GJK/EPA asserts (coal-library/coal#554)
    - Fixed `normal_and_nearest_points` test (no need to have Eigen 3.4) (coal-library/coal#553)
    - (coal-library/coal#549)
    - Optimize EPA: ignore useless faces in EPA's polytope; warm-start support computation for `Convex`; fix edge-cases witness points computation.
    - Add `Serializable` trait to transform, collision data, collision geometries, bounding volumes, bvh models, hfields. Collision problems can now be serialized from C++ and sent to python and vice versa.
    - CMake: allow use of installed jrl-cmakemodules (coal-library/coal#564)
    - CMake: Add compatibility with jrl-cmakemodules workspace (coal-library/coal#610)
    - Python: add id() support for geometries (coal-library/coal#618).

Packaging changes:
- renamed package
- removed patch 522, merged upstream
- updated patch aa
- replaced common Makefile from HPP to JRL
- turned on backward compatibility with hpp-fcl
- updated required version to 3.0.0 (coal < 3.0.0 does not exist)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants