My team is going to start experimenting with swerve this off-season and we plan on using neos, but I heard somewhere that there is a 100 ms delay or something with the neos. I know most teams use falcons but our budget is tight and I don’t know that we will be able to afford 8 falcons+extras. I haven’t been able to find anywhere much mention of that delay or it impacting swerve drive. Could someone explain what exactly that delay is and if swerve is managable with that delay?
Swerve is completely manageable with that delay in our (brief) experience.
[edit - fixed link]
I believe the delay you are referring to is with the velocity measurements on the encoder. Many teams have done swerve very successfully with neos and the delay will only slightly impact any closed loop velocity control you do with the swerve (path following etc).
This is the post that talks about the delay in NEOs when measuring Velocity using the integrated encoder. This does not affect Position readings or other operations of the NEO to my knowledge.
Correct, position measurements are unaffected by the filtering.
So to clarify, it’s only the velocity that is delayed. Does this mean that there is delay if you’re driving in real-time or only in programs that use velocity measurements?
The delay is in the measured velocity used by the on-motor-controller PID loops and returned by the motor controller API.