Gyroscope

This commit is contained in:
Olivier Dubois 2023-02-13 19:07:40 -05:00
parent ba6bcf1aac
commit 9d15b3410b
6 changed files with 56 additions and 2 deletions

Binary file not shown.

View File

@ -0,0 +1,49 @@
// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
package frc.robot.commands;
import edu.wpi.first.wpilibj2.command.CommandBase;
import frc.robot.subsystems.BasePilotable;
public class Gyro extends CommandBase {
private BasePilotable basePilotable;
/** Creates a new Gyro. */
public Gyro(BasePilotable basePilotable) {
this.basePilotable = basePilotable;
// Use addRequirements() here to declare subsystem dependencies.
addRequirements(basePilotable);
}
// Called when the command is initially scheduled.
@Override
public void initialize() {}
// Called every time the scheduler runs while the command is scheduled.
@Override
public void execute() {
if(basePilotable.getpitch()<15)
{
basePilotable.drive(0.2, 0, 0);
}
else if(basePilotable.getpitch()>-15)
{
basePilotable.drive(-0.2, 0, 0);
}
else
{
basvjePilotable.drive(0, 0, 0);
}
}
// Called once the command ends or is interrupted.
@Override
public void end(boolean interrupted) {}
// Returns true when the command should end.
@Override
public boolean isFinished() {
return false;
}
}

View File

@ -23,7 +23,6 @@ public class PivoteBrasBas extends CommandBase {
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@Override @Override
public void end(boolean interrupted) {} public void end(boolean interrupted) {}
// Returns true when the command should end. // Returns true when the command should end.
@Override @Override
public boolean isFinished() { public boolean isFinished() {

View File

@ -4,6 +4,7 @@
package frc.robot.subsystems; package frc.robot.subsystems;
import com.kauailabs.navx.frc.AHRS;
import com.revrobotics.CANSparkMax; import com.revrobotics.CANSparkMax;
import com.revrobotics.CANSparkMaxLowLevel.MotorType; import com.revrobotics.CANSparkMaxLowLevel.MotorType;
@ -25,8 +26,13 @@ public class BasePilotable extends SubsystemBase {
final MotorControllerGroup gauche = new MotorControllerGroup(avantgauche, arrieregauche); final MotorControllerGroup gauche = new MotorControllerGroup(avantgauche, arrieregauche);
final DifferentialDrive drive = new DifferentialDrive(gauche, droit); final DifferentialDrive drive = new DifferentialDrive(gauche, droit);
private AHRS gyroscope = new AHRS();public double getangle() {return gyroscope.getAngle();}
public void drive(double xSpeed, double zRotation){ public double getpitch() {
return gyroscope.getPitch();
}
public void drive(double xSpeed, double zRotation, int i){
drive.arcadeDrive(xSpeed, zRotation); drive.arcadeDrive(xSpeed, zRotation);
} }
public double distance(){ public double distance(){