You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our team FRC3005 was looking at your implementation for the brake() function and pulled in something similar. We ran into an issue only on one of the modules, and I figured I would pass along our learning.
Just to make sure I understand the intent. The idea is to keep the modules in the same orientation when you let go of the joystick, to avoid excess module movement.
The issue we were seeing is one of the modules would slowly spin whenever we had the joystick in a neutral location, and confirmed that it was in fact calling the neutral case.
The call to getState() gets the current module position. I think what we were seeing is this had a slight delay, or maybe some effect from the backlash in the system (didn't spend too much time on the root cause). So my guess is it would set the position of the module to some point slightly ahead of where it actually was, causing it to rotate.
To work around this, we changed getState() to getDesiredState() which we added to the SwerveModule class. This resolved the issue.
I figure since we had referenced your implementation we'd pass this along, if y'all haven't seen anything like this feel free to ignore. Great reveal video and good luck this season!
The text was updated successfully, but these errors were encountered:
Hello Triple Helix!
Our team FRC3005 was looking at your implementation for the
brake()
function and pulled in something similar. We ran into an issue only on one of the modules, and I figured I would pass along our learning.Just to make sure I understand the intent. The idea is to keep the modules in the same orientation when you let go of the joystick, to avoid excess module movement.
RapidReact/src/main/java/frc/robot/drive/Drivetrain.java
Line 262 in 9f3deac
The issue we were seeing is one of the modules would slowly spin whenever we had the joystick in a neutral location, and confirmed that it was in fact calling the neutral case.
The call to
getState()
gets the current module position. I think what we were seeing is this had a slight delay, or maybe some effect from the backlash in the system (didn't spend too much time on the root cause). So my guess is it would set the position of the module to some point slightly ahead of where it actually was, causing it to rotate.To work around this, we changed
getState()
togetDesiredState()
which we added to the SwerveModule class. This resolved the issue.I figure since we had referenced your implementation we'd pass this along, if y'all haven't seen anything like this feel free to ignore. Great reveal video and good luck this season!
The text was updated successfully, but these errors were encountered: