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

Add low-pass filter to make robot actions smooth. Integrated into ACT and DP. #760

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

vaishanth-rmrj
Copy link

What this does

Adds low-pass filter (Butterworth filtering) to actions from the policy. Prevents jerky motion of the robot during eval. Tried out different techniques but the method provided noticeable improvement. I have tuned the filter parameters to be subtle and not too aggressive.

(⚡️ Performance)

How it was tested

Tested on rollouts of both ACT and Diffusion policy trained on my custom dataset. Used SO-100 Arm for my setup. Noticeable difference in the robot motion smoothness especially for Diffusion Policy.

How to checkout & try? (for the reviewer)

Try evaluating ACT and DP on your robot. This PR integrates the smoothen_actions func in ACT and DP policy implementation so there is nothing extra to be done.

@Cadene
Copy link
Collaborator

Cadene commented Feb 22, 2025

Nice work! By any chance do you have videos? Before vs After ?

@vaishanth-rmrj
Copy link
Author

@Cadene The before vs after demo for action smoothing. Its more prominent for DP than ACT.

before_action_smoothing.mp4
after_action_smoothing.mp4

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