Merge "Handle a node not having a start time"
diff --git a/y2020/control_loops/drivetrain/localizer_test.cc b/y2020/control_loops/drivetrain/localizer_test.cc
index 3798c34..d440aaf 100644
--- a/y2020/control_loops/drivetrain/localizer_test.cc
+++ b/y2020/control_loops/drivetrain/localizer_test.cc
@@ -436,7 +436,7 @@
VerifyNearGoal();
// Due to accelerometer drift, the straight-line driving tends to be less
// accurate...
- EXPECT_TRUE(VerifyEstimatorAccurate(0.1));
+ EXPECT_TRUE(VerifyEstimatorAccurate(0.15));
}
// Tests that camera updates with a perfect models results in no errors.
@@ -537,7 +537,7 @@
// If we remove the disturbance, we should now be correct.
drivetrain_plant_.mutable_state()->topRows(3) -= disturbance;
VerifyNearGoal(5e-3);
- EXPECT_TRUE(VerifyEstimatorAccurate(1e-3));
+ EXPECT_TRUE(VerifyEstimatorAccurate(2e-3));
}
// Tests that we don't reject camera measurements when the turret is spinning
diff --git a/y2020/control_loops/python/drivetrain.py b/y2020/control_loops/python/drivetrain.py
index 72be909..84bbb66 100644
--- a/y2020/control_loops/python/drivetrain.py
+++ b/y2020/control_loops/python/drivetrain.py
@@ -14,18 +14,18 @@
kDrivetrain = drivetrain.DrivetrainParams(
J=6.0,
- mass=68.0,
+ mass=58.0,
# TODO(austin): Measure radius a bit better.
robot_radius=0.7 / 2.0,
wheel_radius=6.0 * 0.0254 / 2.0,
motor_type=control_loop.Falcon(),
G=(8.0 / 70.0) * (17.0 / 24.0),
- q_pos=0.14,
- q_vel=1.30,
+ q_pos=0.24,
+ q_vel=2.5,
efficiency=0.80,
has_imu=True,
force=True,
- kf_q_voltage=13.0,
+ kf_q_voltage=1.0,
controller_poles=[0.82, 0.82])