Skip to content

Add low pass filter for force torque sensor#265

Open
JohnTGZ wants to merge 8 commits intomainfrom
jt/fts-low-pass-filter
Open

Add low pass filter for force torque sensor#265
JohnTGZ wants to merge 8 commits intomainfrom
jt/fts-low-pass-filter

Conversation

@JohnTGZ
Copy link
Copy Markdown
Contributor

@JohnTGZ JohnTGZ commented Feb 11, 2026

Overview

This PR waits on #346 to be merged.

This PR adds the low pass filter to the force torque sensor broadcaster fts_broadcaster.
The low_pass_filter is implemented in control_toolbox.

We provide users with 2 different F/T sensor topics they can use as input to their control policies:

  • They could read raw values from fts_broadcaster/wrench topic
  • They could read values filtered with the low pass filter from the fts_broadcaster/wrench_filtered topic.

The following parameters were chosen for the low-pass filter:

          sampling_frequency: 50.0 # [Hz]
          damping_frequency: 10.0 # Cut-off frequency [Hz]
          damping_intensity: 0.707

Testing

Before testing, make sure to:

  • install dependencies using rosdep install --from-paths src --ignore-src --rosdistro kilted -yr --skip-keys "gz-cmake3 DART libogre-dev libogre-next-2.3-dev rosetta"
  • Clean the workspace and then re-build from source.

Results

The top plot shows the z-axis linear force values before filtering and the bottom plot are the values after allowing the low pass filter. You can observe that the readings are smoothed and that the magnitude of the spikes are attenuated.

Screenshot from 2026-02-19 16-57-17

@JohnTGZ JohnTGZ force-pushed the jt/fts-low-pass-filter branch from 7f162f3 to 7099850 Compare February 19, 2026 09:15
@JohnTGZ JohnTGZ marked this pull request as ready for review February 19, 2026 09:23
Copy link
Copy Markdown
Collaborator

@Yadunund Yadunund left a comment

Choose a reason for hiding this comment

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

Thanks for working on filtering the senor reading.

  1. Do we expect users to subscribe to the filtered topic for their policy training and action? if so we'll need to update the aic_adapter subscription to subscribe to this topic.
  • we should also update aic_interfaces.md to inform users of the availability of this topic Also clarify when to subscribe to /axia80_m20/wrench

@JohnTGZ JohnTGZ force-pushed the jt/fts-low-pass-filter branch from 7099850 to 7d7ae0a Compare February 23, 2026 08:45
@JohnTGZ
Copy link
Copy Markdown
Contributor Author

JohnTGZ commented Feb 23, 2026

@Yadunund This is still part of an ongoing discussion as to whether we need to filter these values for accurate scoring. Will update when we reach a conclusion.

@JohnTGZ JohnTGZ changed the base branch from main to jt/standardize-fts-topics February 24, 2026 14:02
@JohnTGZ JohnTGZ force-pushed the jt/standardize-fts-topics branch from d0eced8 to 96bb6d3 Compare February 24, 2026 14:11
@Yadunund Yadunund added the enhancement New feature or request label Feb 24, 2026
Base automatically changed from jt/standardize-fts-topics to main February 25, 2026 06:08
@JohnTGZ JohnTGZ force-pushed the jt/fts-low-pass-filter branch from e98b6c3 to ccd7a2d Compare February 25, 2026 06:17
@JohnTGZ JohnTGZ force-pushed the jt/fts-low-pass-filter branch from ccd7a2d to 480017c Compare February 25, 2026 06:21
@JohnTGZ
Copy link
Copy Markdown
Contributor Author

JohnTGZ commented Feb 25, 2026

Hi @luca-della-vedova Could I also have your help in reviewing this? This PR mainly adds a low-pass filter so that the already existing fts_broadcaster/wrench_filtered topic has a low-pass filter applied to it. It does not completely attentuate the spikes in magnitude but smooths the noise. Parameters could be tuned further with some knowledge of what we should look out for

Comment on lines +65 to +73
offset_wrench: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
offset_wrench: [0.0, 0.0, 0.7848, 0.0, 0.0, 0.0]
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is this change relevant to this PR or was it left by accident?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

oops, unintended. Removed it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants