Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
<build_depend>jrl_cmakemodules</build_depend>
<depend condition="$ROS_PYTHON_VERSION == 3">python3</depend>
<depend condition="$ROS_PYTHON_VERSION == 3">python3-numpy</depend>
<depend>coal</depend>
<!-- The default setting has BUILD_TESTING=ON, as thus we need to explicitly depend on Pinocchio -->
<build_depend>pinocchio</build_depend>
<exec_depend>pinocchio</exec_depend>
Expand Down
16 changes: 8 additions & 8 deletions python/example_robot_data/panda.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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

Expand All @@ -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,
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion python/example_robot_data/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This add a pinocchio >= 4 constraint, but I think this is fine

# Add all collision pairs
self.robot.collision_model.addAllCollisionPairs()

Expand Down