mirror of
https://github.com/Team4388/RiseOfRidgebotics2020.git
synced 2026-06-09 08:48:01 -06:00
Modify Turning PID
- Uses a modified Velocity PID to keep robot still while rotating - Could also use a Position PID to keep robot still but should be looked into further
This commit is contained in:
@@ -53,6 +53,7 @@ public final class Constants {
|
|||||||
public static final double TICKS_PER_MOTOR_REV = 2048;
|
public static final double TICKS_PER_MOTOR_REV = 2048;
|
||||||
public static final double MOTOR_TO_WHEEL_GEAR_RATIO = 12.5;
|
public static final double MOTOR_TO_WHEEL_GEAR_RATIO = 12.5;
|
||||||
public static final double WHEEL_DIAMETER_INCHES = 6;
|
public static final double WHEEL_DIAMETER_INCHES = 6;
|
||||||
|
public static final double TICKS_PER_GYRO_REV = 8192;
|
||||||
|
|
||||||
/* Ratio Calculation */
|
/* Ratio Calculation */
|
||||||
public static final double TICK_TIME_TO_SECONDS = 0.1;
|
public static final double TICK_TIME_TO_SECONDS = 0.1;
|
||||||
|
|||||||
@@ -329,12 +329,13 @@ public class Drive extends SubsystemBase {
|
|||||||
talon.set(TalonFXControlMode.MotionMagic, targetPos);
|
talon.set(TalonFXControlMode.MotionMagic, targetPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Runs a Turning PID to rotate a to a target angle
|
||||||
|
* @param targetAngle target angle in degrees
|
||||||
|
*/
|
||||||
public void runTurningPID(double targetAngle){
|
public void runTurningPID(double targetAngle){
|
||||||
//m_rightFrontMotor.selectProfileSlot(DriveConstants.SLOT_VELOCITY, DriveConstants.PID_PRIMARY);
|
double targetGyro = (targetAngle/360)*DriveConstants.TICKS_PER_GYRO_REV;
|
||||||
m_rightFrontMotor.selectProfileSlot(DriveConstants.SLOT_TURNING, DriveConstants.PID_TURN);
|
runVelocityPID(0, targetGyro);
|
||||||
m_rightFrontMotor.set(TalonFXControlMode.Velocity, 0, DemandType.AuxPID, targetAngle);
|
|
||||||
//m_leftFrontMotor.follow(m_rightFrontMotor, FollowerType.AuxOutput1);
|
|
||||||
//m_rightFrontMotor.set(DemandType.AuxPID, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getGyroYaw() {
|
public double getGyroYaw() {
|
||||||
|
|||||||
Reference in New Issue
Block a user