DifferentialDrive methods (tankDrive and arcadeDrive) not moving the robot when in Auto

Hello,

For some reason our drivetrain doesn’t move during Auto when trying to use one of the DifferentialDrive methods (e.g., tankDrive). Here’s a link to an auto routine that we’re playing around with:

It’s a SequentialCommandGroup. We’re trying to spin the various subsystem motors for a specified amount of time.

To help debug we exposed a method in the DriveSubsystem that sets the speed directly on the motor controller groups. That command is called SetDriveSpeedCommand. It works. It’s when we try to move the robot using our GrandTheftDriveCommand (which the gtaDrive method of our DriveSubsystem) that it doesn’t move. gtaDrive calls tankDrive.

GrandTheftDriveCommand works in Teleop and it’s our default DriveSubsystem command. Any ideas?

Thanks in advance for your time.

I don’t have an answer, but we had a similar sounding issue trying to drive for an amount of time in auto for a section instead of all ramsete commands. Commands to our intake (very similar) worked just fine, but the drivetrain would either just twitch a little, or jerk multiple times through the WaitCommand, and often with loop overrun errors/warnings.

If I’m reading things correctly, starting at 0.25, squaring in tank drive, and subtracting the deadband, you’re only sending about 4% power to the drive motors. You may want to try increasing that. Better still, you shouldn’t have squares and deadbands (intended for joystick input) on the auto.

4 Likes

Great catch. That’s probably our problem. We’ll remove squaring and report back. Thanks for the quick reply.

That did the trick. Thanks for catching that!