[wpilibc] Add LinearSystemLoop C++ ctor to match Java (#2755)

Co-authored-by: Prateek Machiraju <prateek.machiraju@gmail.com>
This commit is contained in:
Matt
2020-10-02 17:37:26 -07:00
committed by GitHub
parent 330b90e046
commit 21d949daa8
7 changed files with 74 additions and 54 deletions

View File

@@ -79,14 +79,10 @@ class Robot : public frc::TimedRobot {
// using notifiers.
20_ms};
// Plant-inversion feedforward calculates the voltages necessary to reach our
// reference.
frc::LinearPlantInversionFeedforward<2, 1> m_feedforward{m_armPlant, 20_ms};
// The state-space loop combines a controller, observer, feedforward and plant
// for easy control.
frc::LinearSystemLoop<2, 1, 1> m_loop{m_armPlant, m_controller, m_feedforward,
m_observer, 12_V};
frc::LinearSystemLoop<2, 1, 1> m_loop{m_armPlant, m_controller, m_observer,
12_V, 20_ms};
// An encoder set up to measure arm position in radians per second.
frc::Encoder m_encoder{kEncoderAChannel, kEncoderBChannel};

View File

@@ -76,15 +76,10 @@ class Robot : public frc::TimedRobot {
// using notifiers.
20_ms};
// Plant-inversion feedforward calculates the voltages necessary to reach our
// reference.
frc::LinearPlantInversionFeedforward<2, 1> m_feedforward{m_elevatorPlant,
20_ms};
// The state-space loop combines a controller, observer, feedforward and plant
// for easy control.
frc::LinearSystemLoop<2, 1, 1> m_loop{m_elevatorPlant, m_controller,
m_feedforward, m_observer, 12_V};
m_observer, 12_V, 20_ms};
// An encoder set up to measure elevator height in meters.
frc::Encoder m_encoder{kEncoderAChannel, kEncoderBChannel};

View File

@@ -72,15 +72,10 @@ class Robot : public frc::TimedRobot {
// using notifiers.
20_ms};
// Plant-inversion feedforward calculates the voltages necessary to reach our
// reference.
frc::LinearPlantInversionFeedforward<1, 1> m_feedforward{m_flywheelPlant,
20_ms};
// The state-space loop combines a controller, observer, feedforward and plant
// for easy control.
frc::LinearSystemLoop<1, 1, 1> m_loop{m_flywheelPlant, m_controller,
m_feedforward, m_observer, 12_V};
m_observer, 12_V, 20_ms};
// An encoder set up to measure flywheel velocity in radians per second.
frc::Encoder m_encoder{kEncoderAChannel, kEncoderBChannel};

View File

@@ -72,15 +72,10 @@ class Robot : public frc::TimedRobot {
// using notifiers.
20_ms};
// Plant-inversion feedforward calculates the voltages necessary to reach our
// reference.
frc::LinearPlantInversionFeedforward<1, 1> m_feedforward{m_flywheelPlant,
20_ms};
// The state-space loop combines a controller, observer, feedforward and plant
// for easy control.
frc::LinearSystemLoop<1, 1, 1> m_loop{m_flywheelPlant, m_controller,
m_feedforward, m_observer, 12_V};
m_observer, 12_V, 20_ms};
// An encoder set up to measure flywheel velocity in radians per second.
frc::Encoder m_encoder{kEncoderAChannel, kEncoderBChannel};