Odometry Testing
-Procedure:
--
-
-
-
For each Odometry Wheel tested, they will go through the following configurations:
--
-
- 2-Dead Wheels + Internal BHI260AP IMU -
- 2-Dead Wheels + External BNO055 IMU -
- 3-Dead Wheels -
- -
-
Each configuration will go through a total of three tests (see programming section below for more details)
-
- -
-
Use RoadRunner V1.0 Quickstart to tune each configuration
--
-
- Each step in the tuning procedure will be tuned 3 times, and values will be averaged to get a final constant (e.g,
kV
,kA
, etc.)
-
- - Each step in the tuning procedure will be tuned 3 times, and values will be averaged to get a final constant (e.g,
Environment:
--
-
- Latest FIRST Tech Challenge Field Soft Tiles
-
-
-
- Lightly used (1 season) -
- Vacuumed before each new odometry system used -
- - No game elements (trusses, stage door, backdrop, etc.) -
- Wood floor and tarp underneath field -
--Environment does not change or get moved between tests!
-
-
Hardware:
--
-
-
-
Strafer® Chassis Kit V5 - goBILDA® - all parts lightly used for 1 season or less with no effects to performance
--
-
- Only modification of 435 RPM goBILDA® motors -
- Same goBILDA® MOD 1.25 30 tooth gears as what come in the kit -
- Added weights at the center of the robot until robot weighs 25 lbs -
- All screws have red loctite applied to them to keep robot rigid between tests -
- -
-
IMUs for 2 Wheel Odometry:
--
-
- Both IMUs available and tested individually for 2 wheel testing -
- Internal BHI260AP IMU (Newer Control Hubs) -
- External BNO055 IMU -
- -
-
All tests done when battery is between 12-13v (measured via REV Driver Hub)
--
-
- All batteries are less than a year old -
-
--Only hardware changes between tests are changing the odometry module or IMU!
-
-
-
- CAD models for all odometry set-ups can be found here -
-
Software:
--
-
-
-
Robot Library: RoadRunner V1.0 Quickstart (for both 3 Dead Wheels & 2 Dead Wheels)
--
-
-
-
Tuning steps: (each step should be ran 3 times, and the three values should be averaged to get the final constant)
-
- -
-
-ForwardPushTest
&LateralPushTest
: TheoreticalinPerTick
\( =\frac{\frac{96}{24.5}}{384.5} = 0.010190812 \)
- -
-
-ForwardRampLogger
: 5 Tiles (120 inches)
- -
-
-LateralRampLogger
: ~5.5 seconds of runtime
- -
-
-AngularRampLogger
: ~7 seconds of runtime
- -
-
-ManualFeedforwardTuner
&ManualFeedbackTuner
: 4.5 Tiles (108 inches)
-
- -
-
-
-
Testing Specifications:
--
-
-
-
-
-
-
- Moving in every 30° direction from 0° to 330° back and forth a distance of 2 Tiles (48 inches) in a straight line -
- At the end, the change in position for each odometry wheel is returned -
- There is no turning -
- This will all be executed with
.strafeTo(new Vector2d(x, y))
, not.lineToX(x)
or.lineTo(x)
-
-- --
-
- -
-
-
-
-
- A large variety of splines, turns, and turning while strafing in complex paths -
- At the end, the change in position for each odometry wheel is returned -
-- --
-
- -
-
-
-
-
- A combination of Spline Test and Straight Test -
- At the end, the change in position for each odometry wheel is returned -
-- --
-
-
- -
-
-