A miniature overhaul of the Signal, Derivative, Integral, Filter, and CircularBuffer classes that I previously introduced. Mainly to have more of them handle a variable time step.
Clean up of some of the unit tests folder
Various bug fixes needed for UFE
Added comments to parts of the code that were missing documentation
UFE Bug Fixes and New Features:
Firmware version checks for LCB and/or UFE features are now done centrally by the RobotClient
The DisturbanceObserver intialization now works properly not just in the DisturbanceObserverTest program but also when running a game (no null pointer exceptions!)
The direction of the UFE forces displayed in a game are correct: Guidance/Resistance/Locking forces were not showing up in the right direction
The UFE includes forces from interacting with the safety walls and other safety systems (like cartesian velocity damping)
What to focus on
Run the SignalProcessingTest and use the plotSignalProcessingData.m octave script to analyze the data.
Use the MovementAnalysisTest to retest tool odometry, work, and user effort.
Use the DisturbanceObserverTest to retest disturbance force estimate. Look at the effect of toggling user gravity compensation.