Anyone willing to share their PIDF Gains for steering for the Falcon 500 on SDS MK4i 6.12:1 gear ratio

Running SDS MK4i, 6.12 gear ratio for drive.

Writing our own custom code in LabVIEW. Wondering if anyone is interested in sharing their PIDF gains for the Falcon 500 FX.

We are running in Motion Magic mode and here are our games:

P: 0.2
I: 0.00006
D: 0
F: 0.045
I Zone: 50

Settling time is under .250sec, fairly little overshoot. Only issue we are seeing is a bit of chatter when holding angle.


1 Like

I know SDS releases code with some pre tuned values. I think people have said that the values work pretty well. SDS Official Code

I’m programming in LabVIEW and I’m having a hard time reviewing their code. I reached out to SDS already. Figured I would reach out to the CD community as well.

1 Like

I would change your strategy here,

Use position mode, motion magic is bad at continually changing setpoints such as a swerve module, you will always see some jitter when tracking.

I would set a reasonable peak closed loop output, maybe something like 6-9 volts, this helps keep current draw down.

Slowly increase p until you get some slight overshot, put the robot on the carpet and re test. The carpet should artificially add some D into the mix and you should be good to go.

We’ve been running a Position loop with only P for the duration of our SDS experience.


@rwood359 @Howard_C

1 Like

Ah I read LabView and then immediately forgot it. Their code is using
P = 0.2
I = 0.0
D = 0.1
With position control over motion magic like someone recommended above.

1 Like

What about the drive PIDF gains?

Is that in Velocity mode?

The drive isn’t use PID unless you are talking about autonomous, which then you would need to get the PID values from SysID.

1 Like

Why not use velocity mode? Vs. an open loop percent vbus. What is the downside?

Just switched to position mode on the steering and the robot drifts all over the place.

Well position is supposed to use PID to set your swerve modules to rotate to a certain position, velocity is supposed to spin your modules at a certain velocity. I’m not sure why position would mess up your swerve and why velocity would work, unless its something different with LabView, since I’m not familiar with it.

No…I meant the drive command was set to velocity mode instead just an open loop percent vbus.

I’m not exactly sure what open loop vbus is. I think it’s a LabView thing so your probably gonna need someone with more LabView experience than me.

Open loop vbus is nothing more than %output. I. E. 1 to - 1

We’re not using the SDS module. We have designed two swerve modules. One using REV and the other using Falcons. We use the same control for the steering motor as 4414. Position mode with P only. We are also using LabView.

Retested motor control mode more thoroughly. P only gain of 1.5 in position pidf mode for swerve steer seems to most snappy with no overshoot.

Thanks for the advice everyone.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.