Fix segfaults in spline UI
I suspect that this actually started happening when Python upgrades
happened, since the previous logic was checking for zero-length
trajectories, but it looks like numpy may now manage zero-length arrays
differently than it did previousl.
Change-Id: Id4212d0c7ea6efcf47295841c92de3aad79072a5
diff --git a/frc971/control_loops/drivetrain/trajectory.cc b/frc971/control_loops/drivetrain/trajectory.cc
index ff60b4c..9c32483 100644
--- a/frc971/control_loops/drivetrain/trajectory.cc
+++ b/frc971/control_loops/drivetrain/trajectory.cc
@@ -735,6 +735,10 @@
// linearization for the infal point).
void Trajectory::CalculatePathGains() {
const std::vector<Eigen::Matrix<double, 3, 1>> xva_plan = PlanXVA(config_.dt);
+ if (xva_plan.empty()) {
+ LOG(ERROR) << "Plan is empty--unable to plan trajectory.";
+ return;
+ }
plan_gains_.resize(xva_plan.size());
// Set up reasonable gain matrices. Current choices of gains are arbitrary