Adds friction force reporting to ContactSensor (#3563)
# Description This PR extends the `ContactSensor` class to expose aggregated friction forces for each filtered body. It uses the same vectorized approach used for [`contact_points`](https://github.com/isaac-sim/IsaacLab/pull/2842). Concretely, this change introduces: - `ContactSensorCfg.track_friction_forces` toggle to turn on friction tracking - `ContactSensorData.friction_forces_w` where the sum of friction forces for each filtered body are stored Fixes https://github.com/isaac-sim/IsaacLab/issues/2074, #2064 ## Performance Results of `check_contact_sensor.py` with `track_friction_data = False`: ``` avg dt real-time 0.017448579105403043 avg dt real-time 0.017589360827958443 avg dt real-time 0.016146250123070787 ``` Results of `check_contact_sensor.py` with `track_friction_data = True`: ``` avg dt real-time 0.01818224351439858 avg dt real-time 0.017720674386015163 avg dt real-time 0.01777262271923246 ``` ## Type of change - New feature (non-breaking change which adds functionality) ## Checklist - [x] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Signed-off-by:Kelly Guo <kellyg@nvidia.com> Co-authored-by:
Kelly Guo <kellyg@nvidia.com>
Showing
This diff is collapsed.
Please register or sign in to comment