[wpilib] Add physics simulation support with state-space (#2615)

This includes physics simulation support for arms/elevator models, as well as differential drivetrains.

Swerve might be added at a later date.

Co-authored-by: Claudius Tewari <cttewari@gmail.com>
Co-authored-by: Prateek Machiraju <prateek.machiraju@gmail.com>
Co-authored-by: Tyler Veness <calcmogul@gmail.com>
This commit is contained in:
Matt
2020-09-20 09:39:52 -07:00
committed by GitHub
parent 0503225928
commit b61f08d3fa
43 changed files with 3787 additions and 31 deletions

View File

@@ -37,15 +37,12 @@ class ControlAffinePlantInversionFeedforwardTest {
@SuppressWarnings("LocalVariableName")
@Test
void testCalculateState() {
Matrix<N2, N1> B = VecBuilder.fill(0, 1);
ControlAffinePlantInversionFeedforward<N2, N1> feedforward =
new ControlAffinePlantInversionFeedforward<N2, N1>(
Nat.N2(),
Nat.N1(),
this::getStateDynamics,
B,
0.02);
new ControlAffinePlantInversionFeedforward<N2, N1>(
Nat.N2(),
Nat.N1(),
this::getDynamics,
0.02);
assertEquals(48.0, feedforward.calculate(
VecBuilder.fill(2, 2),