Skip to content

Commit c4daf65

Browse files
committed
R: get started feedforward tuning
1 parent 8c28beb commit c4daf65

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drive/RoboticaBot.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,11 @@ public static double getMotorVelocityF(double ticksPerSecond) {
5959
public static double MAX_ANG_ACCEL = Math.toRadians(360);
6060
public static double MAX_ANG_VEL = Math.toRadians(360);
6161
public static double TRACK_WIDTH = 12;
62-
public static double kV = 1.0/30;
62+
63+
public static double rpmToVelocity(double rpm) {
64+
return rpm * GEAR_RATIO * 2 * Math.PI * WHEEL_RADIUS / 60.0;
65+
}
66+
public static double kV = 1.0/rpmToVelocity(30);
6367
public static double kA = 0.0;
6468
public static double kStatic = 0;
6569
public static double X_MULTIPLIER = 1;

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drive/tuning/ManualFeedforwardTuner.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717
import com.acmerobotics.roadrunner.profile.MotionState;
1818
import com.acmerobotics.roadrunner.util.NanoClock;
1919
import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
20-
import com.qualcomm.robotcore.eventloop.opmode.Disabled;
2120
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
2221
import com.qualcomm.robotcore.hardware.VoltageSensor;
2322
import com.qualcomm.robotcore.util.RobotLog;
2423

2524
import org.firstinspires.ftc.robotcore.external.Telemetry;
2625
import org.firstinspires.ftc.teamcode.drive.PsiBot;
2726
import org.firstinspires.ftc.teamcode.drive.Robot;
27+
import org.firstinspires.ftc.teamcode.drive.RoboticaBot;
2828
import org.firstinspires.ftc.teamcode.drive.TrajectoryDrive;
2929

3030
import java.util.Objects;
@@ -118,7 +118,7 @@ public void runOpMode() {
118118
}
119119

120120
MotionState motionState = activeProfile.get(profileTime);
121-
double targetPower = Kinematics.calculateMotorFeedforward(motionState.getV(), motionState.getA(), PsiBot.kV, PsiBot.kA, PsiBot.kStatic);
121+
double targetPower = Kinematics.calculateMotorFeedforward(motionState.getV(), motionState.getA(), RoboticaBot.kV, RoboticaBot.kA, RoboticaBot.kStatic);
122122

123123

124124
final double NOMINAL_VOLTAGE = 12.0;

0 commit comments

Comments
 (0)