[wpilib] Clamp input voltage in sim classes (#2955)

This commit is contained in:
Matt
2020-12-28 13:03:31 -08:00
committed by GitHub
parent dd494d4ab7
commit 9005cd59e5
5 changed files with 66 additions and 4 deletions

View File

@@ -6,6 +6,7 @@
#include <frc/system/plant/LinearSystemId.h>
#include "frc/RobotController.h"
#include "frc/system/RungeKutta.h"
using namespace frc;
@@ -36,9 +37,16 @@ DifferentialDrivetrainSim::DifferentialDrivetrainSim(
driveMotor, mass, wheelRadius, trackWidth / 2.0, J, gearing),
trackWidth, driveMotor, gearing, wheelRadius, measurementStdDevs) {}
Eigen::Matrix<double, 2, 1> DifferentialDrivetrainSim::ClampInput(
Eigen::Matrix<double, 2, 1> u) {
return frc::NormalizeInputVector<2>(u,
frc::RobotController::GetInputVoltage());
}
void DifferentialDrivetrainSim::SetInputs(units::volt_t leftVoltage,
units::volt_t rightVoltage) {
m_u << leftVoltage.to<double>(), rightVoltage.to<double>();
m_u = ClampInput(m_u);
}
void DifferentialDrivetrainSim::SetGearing(double newGearing) {