I’d like to preface this post by saying I understand that closed loop velocity control, along with some form of motion profiling and path planning, is the ideal method of autonomous movement. But would it be feasible to/has anyone ever ran a simple positional PID loop on the drive motors of their robot for autonomous movement?
There would be a lot more to it than just 1 PID loop, you would probably have to have at least 2 (if you’re running a tank drive), along with another to handle your field relative angle. I’d imagine that you’d run into problems related to wheel slippage and inconsistency, but I think if you tuned the PID loop properly, it would be a viable option for autonomous movement.
The reason I ask is that I’ve heard people are having many problems tuning velocity PID loops with the Spark Maxes and the Neos due to the low resolution of their internal encoders. We have also experienced such issues.
“Why not just switch to CIMs and Talons?”
Our team uses Neos for the drive motors on our swerve drive, and due to their low weight and amazing output torque, we don’t consider switching back to CIMs an option. So we’re searching for a more robust method with which to localize during autonomous using the Neos.
Thoughts, comments, and counterarguments are all appreciated.
Edit: And before someone suggests using Jaci’s Pathfinder, I have tried implementing that in LabView (the language we use), and although it may be possible to use Pathfinder in LabView, I would rather spend hours ripping my hair out over another method.