Sysid tool

I am trying to run the sysid robot characterization routine.
I have the rio 2022v2.3 image on my rio

I am running sysid 2022.1.1.-beta4

I configure my drivetrain analysis and deploy to my robot no problem

However once I do that the logger section says NT Disconnected

Even after a couple of reboots. The driver station also says no robot code after the deploy. Am I missing something and not doing this right? or is the sysid tool beta not currently in working order

1 Like

It should work. Were any messages printed in the Driver Station console? The code may be crashing on startup.

We fixed some crashing bugs since releasing beta 4, so you should confirm it still happens with the latest development build:

No robot code is a strong indication to me that something in the sysid deployed code is crashing the robot code.

On the latest wpilib version the navx was still crashing the code but it wasn’t in later development builds. So that should be fixed by kickoff software.

Otherwise you can list more what you are doing and there may be other parts still having issues. You can check to see DS logs. Or at least share the generator config.

I was mostly getting so that Spark Max drivetrain worked, which it did without the gyro in beta4. Can’t recall on ctre controller but it would be good to make sure TalonFX stuff was all in working order.

Not seeing a lot in the logs, from this shot there were a couple of times the rio connection went to bad, that was after i did a rebot rio and did a restart code. from the driver station

My config json is here.
swervy.json.txt (739 Bytes)

All I did was image the rio to a 2022v2.3 image. Bring up sysid, set my team number, choose drivetrain, id the drive falcons, chose built in encoder, set 2048 per revolution and a 6.75:1 gear ratio, saved, then deployed.

After that I can’t connect the logger section to the rio.

Oh okay. I did mean to mention that sometimes in the logger section to hit apply button will get NT connected. But that is true if the DS is connected normally, but it won’t be if the robot code is crashing.

My suggestion would be to try again with gyro set to none, to see if the Pigeon isn’t getting setup normally or if is more likely the Phoenix library. There have been some parts not fully working yet. You may want to open an issue depending on what you find.

I didn’t see anything in the console log that was indicative of how it was crashing, but sometimes it helps figure it.

Did you see the known issue in the beta 4 release notes about using Pigeons connected to Talons?

Something like that seems likely. I am able to deploy the Phoenix library for TalonSRX. Just checked that again.

I did turn off the pigeon and am still having issues, I will try to simplify some more

@Piphi5 Is there issues with Falcon drivetrains? I don’t have issue running TalonSRX, which means it isn’t just a Phoenix issue. And removing the Pigeon from the equation should simplify things so it is just them.

Are you deploying just the phoenix library or sysid running Phoenix?

I am using the deploy from the sysid .

I was asking @ngreen as the SysId binary may be using the wrong Phoenix library. If you’re not using Linux, you can try these binaries, and that may resolve the problem I was trying to isolate:

We aren’t using Falcons, so I can’t really test that further. It doesn’t seem to have any problems with deploying and running SRXes, so the right Phoenix lib is being deployed by sysid it seems. Also on latest RIO firmware and update SRXes to latest available firmware (last I checked).

It is strange. I have tried taking it down to just general mechanism and one motor no gyro and when I deploy I still can’t connect the logger. The odd thing is when I go back to to the 2021 image and deploy my code the logger will connect (of course I can’t run tests that way) . So the code being deployed by the deploy is not running. The driver station says no robot code when I deploy. I have the moved to a more recent non release version of sysid that @jdaming said worked for him image

One odd thing I noticed is that I can no longer find my rio with the imaging tool (either 2022 or 2021) and have to use the usb cable to reimage. I can still locate with driver station though. I am about fed up.

Success. IT seems that sysid does not deploy everything that is needed. I was imaging my rio and deploying from sysid and it would not work. I made a blank 2022 java command based robot project, deployed it to a clean 2022 image then deployed the sysid tool and it would run.


Does the ROMI characterization profile work in SysId? I ask because I was trying it out over the weekend and was unable to get it to connect to my ROMI. I tried a few things like using localhost,, running the RomiReference example code, etc… but never saw the tests or logger become available. I haven’t seen anything in the docs, specifically about using the ROMI, other than a brief reference to connecting to a simulated robot using localhost. Running the Characterization Routine — FIRST Robotics Competition documentation

I connect to ROMI using Access Point mode, but should I reconfigure for Bridge Mode instead?

I’m confused by the 0.0473 meters per rotation. Surely this is a mistake. That indicates a diameter of .015 meters or about 0.6". Those are some small robot wheels.

The SysID hint (?) suggests this should be the circumference of the wheel. Am I missing something?

1 Like

Please see this explanation of that box! This includes things like gearing.


Thanks for the link, this demystifies the parameters pretty well. For example why is the gearing a parameter for the tool if it isn’t used on the Units per Rotation?

I am not a direct SysID dev, but I did write some of that documentation.

They are used in different parts of the code. The gearing is used in the deploy generation code and this value is used in the Logger. I agree that in most cases the values could be able to be used from the generator in the Logger but these steps don’t always have to happen back to back and it would still need to convert from post gearing rotations to the selected units. Naming that box is tricky.

I don’t think we are set in stone on this, but I think it seemed like transferring the gearing presented some corner cases.