UFE Updates
Description
This merge request contains:
- 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.
Edited by Craig McDonald