High threshold with TalonSRX

We are using a DifferentialDrive with two WPI_TalonSRX’s. When using arcadeDrive( speed, rotation ), we are encountering very high thresholds for both the speed value and the rotation. That is, we do not get any movement until the speed or rotation gets to around .5 (from a range of 0.0 to 1.0 for forward or clockwise turning). That minimum threshold is playing havoc with our attempts at using a PID controller to turn to an angle since the PID output is usually less than .5. We have tried mapping the output to the range of .5 to 1.0, but our estimate on what the minimum threshold is is not accurate enough.

I expected the threshold to be much less (closer to 0.0). Is it a mechanical issue with our gearing / wheels or is there something in the TalonSRX that can be set to a lower threshold?

If you command a 0.25 speed, does the Talon SRX change colors (blink green or red)? If so, sounds like a mechanical (high friction resistance) or electrical (high electrical resistance) problem. If not then it may be a software problem, for example the talons are not actually receiving the speed command you think they are.

Try hard-coding the value. If using Java put the following in teleopPeriodic:


talon.set(ControlMode.PercentOutput, 0.25)

Replace “talon” with whatever is the name of your talon. Or don’t change anything and just hold your joystick partway, at a point where the motors still don’t move.

Note that the arcadeDrive method squares the inputs by default. If you are feeding PID output into it I would disable that by passing false as the third parameter.

http://first.wpi.edu/FRC/roborio/release/docs/java/edu/wpi/first/wpilibj/drive/DifferentialDrive.html#arcadeDrive-double-double-

By default, arcadeDrive squares the inputs, so your input of 0.5 because 0.25. You can disable that by using this method: http://first.wpi.edu/FRC/roborio/release/docs/java/edu/wpi/first/wpilibj/drive/DifferentialDrive.html#arcadeDrive-double-double-boolean-

The talons also have methods to set minimum outputs. If you aren’t setting those in your code currently, but may have set them in the past, you should reset your talons to factory defaults.