So, this year WPILib released SysId, which runs analysis routines on robot mechanisms to determine their equations of motion. Unlike previous versions of the tool, SysId runs the test routine from a precompiled C++ binary that is optimized to run at 200Hz with minimal scheduling jitter. This has greatly improved the quality of the recorded data.
In fact, it turns out that the increase from 50Hz to 200Hz sampling has allowed a large amount of system noise to become visible in the recorded data. Teams often find this surprising, because it’s not always obvious from watching the robots move just how much they are actually vibrating as they do so.
I’ve been refining the fit parameters SysId reports over the course of the season. If you’ve been running an up-to-date version (i.e. the one that came with the most recent WPILib installer), there will be an “acceleration r^2” measurement below the plotting window:
This gives a rough idea of how much noise there was in the measured acceleration during the test routine. Higher values mean better fit, which means less noise (the RMSE value goes the other way around, and the newest version of SysId report an RMSE for the acceleration noise as well).
I’ve seen a lot of data sets so far this year. Most of them look something like the one above. Until today:
Data are courtesy of @DeltaDizzy, who apparently got this from their robot’s shooter.
These data are remarkably clean. It’s almost like a joke - theory and practice, living together!
I figure: why not make this a contest. So, I give you - The Clean Mechanism SysId Challenge:
The rules are as follows:
- Entries must be measured from a competition robot mechanism.
- The mechanism must perform some legitimate game function (don’t build something contrived for this purpose alone).
- You are allowed to clean/lubricate the mechanism prior to characterization.
- Entries must be accompanied by a picture and mechanical description of the mechanism.
- Entries must be accompanied by their corresponding SysId data JSON.
In the interest of fairness and competitive structure, there will be four separate divisions:
- Direct-drive mechanisms (e.g. shooter wheels)
- Single-stage-reduction mechanisms (e.g. turrets, some swerve azimuth motors)
- Multiple-reduction mechanisms (e.g. some arms, some elevators)
- Drivetrains (must be tested under load)
The winner in each category will be the submission with the highest acceleration r-squared as reported by the latest version of SysId at the time entries close.
Entries open now, and will close after the final week of district events. Prizes TBD.