Can I use SysId on XRP robot?

Does the The WPILib System Identification Tool (SysId) require a real-life robot with a RoboRio to work? My team is trying to use it to get parameters to use with a RamseteCommand by following this Trajectory Tutorial but said they are having issues using it. I was thinking of using my lil XRP robot to test my understanding of this tool and this tutorial but I think that because XRP technically runs in a simulation that the SysId tool won’t work with the XRP robot.

SysId operates by reading data log files, and you can data log in simulation just fine, so it should work.

2 Likes

That was a lot more setup than I thought but it worked!..Well it kinda worked.

After setting up my XRP code, I ran it using my new SysId functionality I added and found a log file in my projects “logs” directory. I followed the instructions from WPILib here (Loading Data — FIRST Robotics Competition documentation) and loaded my log file into SysId but ended up with this error:

Acceleration filtering has removed all data… Please verify that your units and data is reasonable and then adjust your velocity threshold, test duration, and/or window size to try to fix this issue.

Unfortunately, since this is my first time playing with SysId, I have no idea if my units and data are reasonable. Further reading in the documentation says…

…if your robot or mechanism has low mass compared to the motor power, this may “eat” what little meaningful acceleration data you have. In these cases kA will tend towards zero and can be ignored for feedforward purposes. However, if kA cannot be accurately measured, the calculated feedback gains are likely to be inaccurate, and manual tuning may be required.

So here’s my conclusions (Lemme know if I’m wrong on any of this):

  • I successfully added SysId functionality to my robot code and successfully ran it to get logs and interpret them with the SysId tool. I did it!!
  • Since the XRP robot has “low mass compared to the motor power”, running this on an XRP isn’t all too helpful. I guess I’d need to do “manual tuning” to use RamseteCommand with my XRP but I’d have to figure out how to do that first.

Our 2024 rookie team is just about to start investigating path following and I was hoping to use the several XRPs we bought as learning tools through this process. If you have any update on how you got on, I would love any hints and tips you can provide. We have two Rio-based drivetrains too so I could use those if XRP won’t work but the XRP is a lot less likely to damage things when the software isn’t quite right so I’m keen to use it first if at all possible :slight_smile: