Anyone have some background knowledge on the new PID controllers and if they are in a usable state right now?
We were using the swerve drive kinematic classes and example code which utilizes the newly written PID controllers. We copy pasted the necessary classes, and everything compiles fine, but things seem “funky” with respect to the PID controllers. Diving into the controllers they seem to use “the HAL” (which is a bit of a black box for now). I was under the understanding that this part of the 2020 classes were being rewritten.
My fear is that we are using the new PID controllers with old “HAL” code.
Correct - unless you’re a beta team, I don’t think there’s a reasonable way this can happen. Best bet for now is to study the documentation and code to understand the changes - testing will have to occur post-kickoff.
There is nothing in the new PIDController class that interfaces with any hardware. The HAL imports are most likely just usage reporting, which shouldn’t affect any performance.
Perhaps you can elaborate on what “funky” behavior you’re referring to, so we can help debug the issue.
Ah… thanks for the offer of help. We’ll tinker some more and report back on our findings.
We were experimenting with some SDS modules. Specifically we were tuning our steering motors. When we tuned one of the modules, we were successful in hitting our rotation setpoints. However, when we uncommented the other modules, there was a jitter in all but the first module.
Thanks for the background info on the usage reporting!