You have been so much help with SysID!!! We have our flywheels up and running and performing well with your help/feedback.
We are getting ready to run SysID on an Arm that has limited range. I was wondering if there were any best practices we should consider??
One question that comes to mind is how much data does SysID need to be able to accurately calculate values? For example, how many seconds do I need to make sure it runs before stopping?
I can see I can set a ramp rate in SysIDRoutine Config so I can play with this to get the amount of data for the Quasistatic tests.
Also I see the step voltage parameter in the Config. I can change that to run the dynamic tests longer by using smaller voltage.
Do any of those changes SysIds ability to do its job well?
There’s no simple way to answer this other than “try it and see.” It depends on your specific system.
Make sure your test routines have motion limits so you don’t run the arm into a hard stop during the identification.
This won’t run the dynamic tests longer in a meaningful sense; the settling time of the velocity system is independent of the applied voltage.
It might take longer for the test routine to “complete” in the sense of running out of space, but the acceleration (where the signal is) takes the same amount of time.
How do you add limits? do you do it somewhere in the voltage consumer that is supposed to tell the motor what voltage to run out? If you do that how does sysid know that there is actually no voltage being applied and not that its applying voltage but failing to move.