From 1e9c79c587c06bba28f31d57c9d97d8c0255e0e4 Mon Sep 17 00:00:00 2001 From: Prateek Machiraju Date: Tue, 5 Jan 2021 20:55:44 -0500 Subject: [PATCH] [sim] Use plant output to retrieve simulated position (#3043) Using the plant output means that measurement noise can be incorporated. SingleJointedArmSim (in C++ and Java) and ElevatorSim (in C++) used the state instead of the measurement. Closes #3042 --- wpilibc/src/main/native/cpp/simulation/ElevatorSim.cpp | 2 +- wpilibc/src/main/native/cpp/simulation/SingleJointedArmSim.cpp | 2 +- .../edu/wpi/first/wpilibj/simulation/SingleJointedArmSim.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/wpilibc/src/main/native/cpp/simulation/ElevatorSim.cpp b/wpilibc/src/main/native/cpp/simulation/ElevatorSim.cpp index 85afae8299..dfc12a4460 100644 --- a/wpilibc/src/main/native/cpp/simulation/ElevatorSim.cpp +++ b/wpilibc/src/main/native/cpp/simulation/ElevatorSim.cpp @@ -48,7 +48,7 @@ bool ElevatorSim::HasHitUpperLimit(const Eigen::Matrix& x) const { } units::meter_t ElevatorSim::GetPosition() const { - return units::meter_t{m_x(0)}; + return units::meter_t{m_y(0)}; } units::meters_per_second_t ElevatorSim::GetVelocity() const { diff --git a/wpilibc/src/main/native/cpp/simulation/SingleJointedArmSim.cpp b/wpilibc/src/main/native/cpp/simulation/SingleJointedArmSim.cpp index 20119566d8..de4cca225f 100644 --- a/wpilibc/src/main/native/cpp/simulation/SingleJointedArmSim.cpp +++ b/wpilibc/src/main/native/cpp/simulation/SingleJointedArmSim.cpp @@ -50,7 +50,7 @@ bool SingleJointedArmSim::HasHitUpperLimit( } units::radian_t SingleJointedArmSim::GetAngle() const { - return units::radian_t{m_x(0)}; + return units::radian_t{m_y(0)}; } units::radians_per_second_t SingleJointedArmSim::GetVelocity() const { diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/SingleJointedArmSim.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/SingleJointedArmSim.java index e31692831d..41de9ee704 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/SingleJointedArmSim.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/simulation/SingleJointedArmSim.java @@ -199,7 +199,7 @@ public class SingleJointedArmSim extends LinearSystemSim { * @return The current arm angle. */ public double getAngleRads() { - return m_x.get(0, 0); + return m_y.get(0, 0); } /**