Skip to content

Commit

Permalink
Arm changes from drive practice
Browse files Browse the repository at this point in the history
  • Loading branch information
2199robolions committed Apr 2, 2023
1 parent 6d6e2fe commit a7be704
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/main/java/frc/robot/Arm.java
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@ public boolean limitSwitchPressed() {
switchCount++;
}

if ((switchCount > 25) && (switchVal == true)) {
if ((switchCount > 75) && (switchVal == true)) {
switchCount = 0;
return true;
}
Expand Down
63 changes: 63 additions & 0 deletions src/main/java/frc/robot/Auto.java
Original file line number Diff line number Diff line change
Expand Up @@ -803,6 +803,69 @@ public int armToTopCone() {
return Robot.CONT;
}

/**
*
* @return
*/
public int armToTopConeTeleop() {
double[] armAngles = Arm.TOP_CONE_ANGLES;

if (armFirstTime == true) {
armFirstTime = false;
armStep = 1;
}

switch(armStep) {
case 1:
// Middle out, base slightly
AngleStates middleStatus = arm.jointToAngle(2, Math.PI/6, 2.5);
arm.jointToAngle(1, 1.4, 3);
arm.jointToAngle(3, -2.4);

// If base and middle are close to or at target position, go to next step
if ((middleStatus == AngleStates.DONE || middleStatus == AngleStates.CLOSE)) {
armStep++;
}
break;
case 2:
// Base and middle out
AngleStates baseStatus2 = arm.jointToAngle(1, armAngles[0], 1.5);
AngleStates middleStatus2 = arm.jointToAngle(2, armAngles[1], 2);
arm.hold(3);

// If base and middle are close to or at target position, go to next step
if ((baseStatus2 == AngleStates.DONE || baseStatus2 == AngleStates.CLOSE) &&
(middleStatus2 == AngleStates.DONE || middleStatus2 == AngleStates.CLOSE)) {
armStep++;
}
break;
case 3:
// Wrist out
AngleStates baseStatusEnd = arm.jointToAngle(1, armAngles[0], 0.7);
AngleStates middleStatusEnd = arm.jointToAngle(2, armAngles[1]);
AngleStates endStatusEnd = arm.jointToAngle(3, -0.1, 0.7);
if (baseStatusEnd == AngleStates.DONE &&
middleStatusEnd == AngleStates.DONE &&
endStatusEnd == AngleStates.DONE) {
armStep++;
}
break;
case 4:
// Finished routine
arm.hold(1);
arm.hold(2);
arm.hold(3);
//arm.jointToAngle(1, armAngles[0]);
//arm.jointToAngle(2, armAngles[1]);
//arm.jointToAngle(3, armAngles[2]);
armFirstTime = true;
armStep = 1;
return Robot.DONE;
}

return Robot.CONT;
}

/**
*
* @return
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/frc/robot/Robot.java
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ else if (acceptedArmState == ArmStates.MID_CUBE) {
fromTop = false;
}
else if (acceptedArmState == ArmStates.TOP_CONE) {
armStatus = auto.armToTopCone();
armStatus = auto.armToTopConeTeleop();
fromTop = true;
}
else if (acceptedArmState == ArmStates.TOP_CUBE) {
Expand Down

0 comments on commit a7be704

Please sign in to comment.