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.lineToY(y)
+
++ ++
+
+ -
+
+
-
+
- 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 +
++ ++
+
+
+ -
+
+