Skip to content

Wrist Instability Detection/Mitigation

Craig McDonald requested to merge feature/sdft into devel

Description

Added robust method for detecting and mitigating instability in the BurtWrist, encapsulated in the class called InstabilityDetector. Detects instability based on the BurtWrist velocity going above a certain threshold (either positive or negative), and then going above that threshold with the opposite sign within a certain time window.

This feature is tested out in BurtSharp.Sandbox.WristTest. First I added data logging and the matlab script plotWristTestData to record wrist angular velocity while it was unstable. The parameters for the InstabilityDetector, such as the velocity threshold, were then all approximated by looking at a plot of wrist velocity.

I added the unit test script TestInstabilityDetection with fake matlab-generated data so that we could play with the parameters.

Side note: I also added the SlidingDft class as a first attempt to do this, but it did not work very well. I would like to keep it for other uses in the future, though.

What to focus on

  • Can the InstabilityDetector detect and stop the BurtWrist from going unstable for the PID control gains we would like to use in Burt activities.
Edited by Craig McDonald

Merge request reports

Loading