With the new upgrades in 2020 to the wpi PID control loops, have any teams had a chance to do testing with which route is faster/more effective at controlling velocity/position?
We’ve not done any back-to-back testing, but I don’t believe there’s a need to.
Implementing the PID control on the motor controller itself will generally allow the controller to respond better to rapidly changing conditions in the controlled system. This is for a number of reasons:
- Most motor controllers run a 1ms loop rate by default, rather than the 20ms default rate on the roboRIO (though, this is adjustable on both sides)
- In general, transferring information between fewer devices will reduce overall system latency. However, CAN motor controllers vs. PWM motor controllers will have different latency characteristics, and it’s not exactly apples to apples.
I don’t believe the 2020 re-write fundamentally changes the on-RIO response capabilities. The synchronous is a bit easier to integrate into an existing loop, which could make it easier to work with. But I don’t believe the change will inherently impact the maximum achievable bandwidth of the controller.
My general recommendation: If you have the ability to offload a processing function from the RIO, without significant development burden or functionality reduction, do it. It gives you more flexibility to expand.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.