My team is using Pathplanner 2023.2.0 to path our swerve drive bot. We tried to make the robot rotate throughout the path, but it doesn’t rotate at all. Is this a bug in the beta, or are we doing something wrong? I can provide code and path files when we meet later today.
You probably need to provide code. My team and several others do not seem to have holonomic rotation issues.
I need to see your code to give you a definite answer, but have you tuned your theta PID controller? If it is too low or not tuned in properly, your robot won’t rotate at all. My team had this problem last year, but once we fixed it, there were no other issues with holonomic rotation.
I don’t think I have tuned that. I’ll try that during our meeting.
@izzymaria3175 Thanks for the lead. We have no teleop rotation issues - the issues are in auto only. Is that consistent with what you saw before/after your theta PID tuning?
Yes, these issues were seen in auto only- our ProfiledPIDController that is tuned for auto theta is not used in teleop at all. When you’re tuning, you should only need a P constant. We just adjusted it until the robot rotation was consistent with the intended rotation when following a path. Make sure to try several different paths with different rotation values as well, not just one.
In 2023 this is no longer the case, as there is a holonomic angular velocity that is used as a feedforward now. So, it should still rotate even with 0 PID values. The theta PID controller now just minimizes error similarly to the translation controllers.
Definitely need to see code to know what is going on. Have you checked the preview for your path? If it rotates in the preview then it should be an issue with how you handle the output from the the path following commands unless you found some really obscure bug somehow.
That was exactly it, we were using the wpilib SwerveControllerCommand
not the PathPlannerLib PPSwerveControllerCommand
. Oops.
Having a similar issue. Everything works in teleop. Simple translations work even diagonal. If I go forward. 1 meter and rotate 90. The drives goes forward and the modules rotate 90 not the drive.