From 1aeb295a4cae4f64621496e533a9f7cc03b88124 Mon Sep 17 00:00:00 2001 From: Joris Vaillant Date: Fri, 5 Jun 2026 11:21:33 +0200 Subject: [PATCH 1/3] python: Use coal instead of hppfcl --- python/example_robot_data/panda.py | 16 ++++++++-------- python/example_robot_data/utils.py | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/python/example_robot_data/panda.py b/python/example_robot_data/panda.py index 97c0b06e..aac317fd 100644 --- a/python/example_robot_data/panda.py +++ b/python/example_robot_data/panda.py @@ -4,9 +4,9 @@ import pinocchio as pin try: - import hppfcl as fcl + import coal except ImportError: - fcl = None + coal = None from .utils import RobotLoader, getModelPath @@ -30,10 +30,10 @@ def __init__(self, verbose=False): root = getModelPath(self.path) self.robot.urdf = join(root, self.path, self.urdf_subpath, self.urdf_filename) - # If hppfcl is not available, gracefully skip collision edits - if fcl is None or not getattr(pin, "WITH_HPP_FCL", True): + # If coal is not available, gracefully skip collision edits + if coal is None or not getattr(pin, "WITH_COLLISION", True): print( - "[PandaLoaderCollision] hppfcl not available - skipping collision geometry processing." + "[PandaLoaderCollision] coal not available - skipping collision geometry processing." ) return @@ -46,14 +46,14 @@ def __init__(self, verbose=False): base_name = "_".join(geom_object.name.split("_")[:-1]) # Convert cylinders to capsules - if isinstance(geometry, fcl.Cylinder): + if isinstance(geometry, coal.Cylinder): name = self.generate_capsule_name(base_name, list_names_capsules) list_names_capsules.append(name) capsule = pin.GeometryObject( name=name, parent_frame=int(geom_object.parentFrame), parent_joint=int(geom_object.parentJoint), - collision_geometry=fcl.Capsule( + collision_geometry=coal.Capsule( geometry.radius, geometry.halfLength ), placement=geom_object.placement, @@ -63,7 +63,7 @@ def __init__(self, verbose=False): self.robot.collision_model.removeGeometryObject(geom_object.name) # Remove spheres associated with links - elif isinstance(geometry, fcl.Sphere) and "link" in geom_object.name: + elif isinstance(geometry, coal.Sphere) and "link" in geom_object.name: self.robot.collision_model.removeGeometryObject(geom_object.name) # Recreate collision data since the collision pairs changed diff --git a/python/example_robot_data/utils.py b/python/example_robot_data/utils.py index 4f45b43b..2f4b6163 100644 --- a/python/example_robot_data/utils.py +++ b/python/example_robot_data/utils.py @@ -130,7 +130,7 @@ def __init__(self, verbose=False): self.ref_posture, ) - if pin.WITH_HPP_FCL and pin.WITH_HPP_FCL_BINDINGS: + if pin.WITH_COLLISION: # Add all collision pairs self.robot.collision_model.addAllCollisionPairs() From 5e6bf8fe25a0607d2f49e151d47dadd3bf1fcc22 Mon Sep 17 00:00:00 2001 From: Joris Vaillant Date: Fri, 5 Jun 2026 11:23:24 +0200 Subject: [PATCH 2/3] changelog: Add entry and fix keep a changelog format --- CHANGELOG.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23b871ea..2391353f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,11 +6,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] -- Unit testing inertia validity and projected rotation inertial to the fully-physical consistent set in https://github.com/Gepetto/example-robot-data/pull/370 -- Installing example-robot-data without hppfcl in https://github.com/Gepetto/example-robot-data/pull/338 +### Added + +- Unit testing inertia validity and projected rotation inertial to the fully-physical consistent set ([#370](https://github.com/Gepetto/example-robot-data/pull/370)) +- Installing example-robot-data without hppfcl ([#338](https://github.com/Gepetto/example-robot-data/pull/338)) - ROS: jrl_cmakemodules dependency ([#330](https://github.com/Gepetto/example-robot-data/pull/330)) - Added Centauro ([#346](https://github.com/Gepetto/example-robot-data/pull/346)) +### Changed +- Use coal instead of hppfcl ([#374](https://github.com/Gepetto/example-robot-data/pull/374)) + ## [4.4.0] - 2025-09-29 - The default git branch is now devel From 4a352f183455b60ddeee52e73959bb77b4b92a27 Mon Sep 17 00:00:00 2001 From: Joris Vaillant Date: Fri, 5 Jun 2026 12:39:17 +0200 Subject: [PATCH 3/3] ros: Add coal dependency --- package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/package.xml b/package.xml index 0b125ac3..a355d5b0 100644 --- a/package.xml +++ b/package.xml @@ -22,6 +22,7 @@ jrl_cmakemodules python3 python3-numpy + coal pinocchio pinocchio