mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
[wpimath] Make SimpleMotorFeedforward only support discrete feedforward (#6647)
Co-authored-by: Tyler Veness <calcmogul@gmail.com>
This commit is contained in:
committed by
GitHub
parent
5f261a88af
commit
30c7632ab8
@@ -159,7 +159,6 @@ void MecanumControllerCommand::Initialize() {
|
||||
|
||||
void MecanumControllerCommand::Execute() {
|
||||
auto curTime = m_timer.Get();
|
||||
auto dt = curTime - m_prevTime;
|
||||
|
||||
auto m_desiredState = m_trajectory.Sample(curTime);
|
||||
|
||||
@@ -175,21 +174,17 @@ void MecanumControllerCommand::Execute() {
|
||||
auto rearRightSpeedSetpoint = targetWheelSpeeds.rearRight;
|
||||
|
||||
if (m_usePID) {
|
||||
auto frontLeftFeedforward = m_feedforward.Calculate(
|
||||
frontLeftSpeedSetpoint,
|
||||
(frontLeftSpeedSetpoint - m_prevSpeeds.frontLeft) / dt);
|
||||
auto frontLeftFeedforward =
|
||||
m_feedforward.Calculate(m_prevSpeeds.frontLeft, frontLeftSpeedSetpoint);
|
||||
|
||||
auto rearLeftFeedforward = m_feedforward.Calculate(
|
||||
rearLeftSpeedSetpoint,
|
||||
(rearLeftSpeedSetpoint - m_prevSpeeds.rearLeft) / dt);
|
||||
auto rearLeftFeedforward =
|
||||
m_feedforward.Calculate(m_prevSpeeds.rearLeft, rearLeftSpeedSetpoint);
|
||||
|
||||
auto frontRightFeedforward = m_feedforward.Calculate(
|
||||
frontRightSpeedSetpoint,
|
||||
(frontRightSpeedSetpoint - m_prevSpeeds.frontRight) / dt);
|
||||
m_prevSpeeds.frontRight, frontRightSpeedSetpoint);
|
||||
|
||||
auto rearRightFeedforward = m_feedforward.Calculate(
|
||||
rearRightSpeedSetpoint,
|
||||
(rearRightSpeedSetpoint - m_prevSpeeds.rearRight) / dt);
|
||||
auto rearRightFeedforward =
|
||||
m_feedforward.Calculate(m_prevSpeeds.rearRight, rearRightSpeedSetpoint);
|
||||
|
||||
auto frontLeftOutput = units::volt_t{m_frontLeftController->Calculate(
|
||||
m_currentWheelSpeeds().frontLeft.value(),
|
||||
|
||||
@@ -68,7 +68,6 @@ void RamseteCommand::Initialize() {
|
||||
|
||||
void RamseteCommand::Execute() {
|
||||
auto curTime = m_timer.Get();
|
||||
auto dt = curTime - m_prevTime;
|
||||
|
||||
if (m_prevTime < 0_s) {
|
||||
if (m_usePID) {
|
||||
@@ -85,13 +84,11 @@ void RamseteCommand::Execute() {
|
||||
m_controller.Calculate(m_pose(), m_trajectory.Sample(curTime)));
|
||||
|
||||
if (m_usePID) {
|
||||
auto leftFeedforward = m_feedforward.Calculate(
|
||||
targetWheelSpeeds.left,
|
||||
(targetWheelSpeeds.left - m_prevSpeeds.left) / dt);
|
||||
auto leftFeedforward =
|
||||
m_feedforward.Calculate(m_prevSpeeds.left, targetWheelSpeeds.left);
|
||||
|
||||
auto rightFeedforward = m_feedforward.Calculate(
|
||||
targetWheelSpeeds.right,
|
||||
(targetWheelSpeeds.right - m_prevSpeeds.right) / dt);
|
||||
auto rightFeedforward =
|
||||
m_feedforward.Calculate(m_prevSpeeds.right, targetWheelSpeeds.right);
|
||||
|
||||
auto leftOutput =
|
||||
units::volt_t{m_leftController->Calculate(
|
||||
|
||||
Reference in New Issue
Block a user