package frc.robot.commands.gpm;
-import static edu.wpi.first.units.Units.Rotation;
-
import org.littletonrobotics.junction.Logger;
import edu.wpi.first.math.MathUtil;
import frc.robot.subsystems.turret.Turret;
import frc.robot.subsystems.turret.TurretConstants;
import frc.robot.util.PhaseManager;
-import frc.robot.util.PhaseManager.CurrentState;
import frc.robot.util.ShooterPhysics;
-import frc.robot.util.ShooterPhysics.Constraints;
import frc.robot.util.ShooterPhysics.TurretState;
public class Superstructure extends Command {
private Shooter shooter;
private Spindexer spindexer;
- //TODO: find maximum interpolation
- private Constraints shooterConstraints = new Constraints(Units.inchesToMeters(80.0), 67676767, HoodConstants.MIN_ANGLE, HoodConstants.MAX_ANGLE);
-
private double turretSetpoint;
private double hoodSetpoint;
package frc.robot.constants;
import edu.wpi.first.math.interpolation.InterpolatingDoubleTreeMap;
-import edu.wpi.first.math.util.Units;
-import frc.robot.subsystems.hood.HoodConstants;
public class ShotInterpolation {
public static final InterpolatingDoubleTreeMap timeOfFlightMap = new InterpolatingDoubleTreeMap();
exitVelocityMap.put(10.0, 19.2);
exitVelocityMap.put(11.0, 26.0);
exitVelocityMap.put(25.0, 25.0* 3.2);
- //exitVelocityMap.put(null, null);
shooterVelocityMap.put(1.49, 11.5);
shooterVelocityMap.put(2.09, 12.5);
import edu.wpi.first.wpilibj2.command.StartEndCommand;
import edu.wpi.first.wpilibj2.command.WaitCommand;
import frc.robot.Robot;
-import frc.robot.commands.gpm.AutoShootCommand;
import frc.robot.commands.gpm.ClimbDriveCommand;
import frc.robot.commands.gpm.IntakeMovementCommand;
import frc.robot.commands.gpm.ReverseMotors;
import frc.robot.subsystems.Intake.Intake;
import frc.robot.subsystems.drivetrain.Drivetrain;
import frc.robot.subsystems.hood.Hood;
-import frc.robot.subsystems.hood.HoodConstants;
import frc.robot.subsystems.shooter.Shooter;
import frc.robot.subsystems.spindexer.Spindexer;
import frc.robot.subsystems.turret.Turret;