Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rev a alliance auton #113

Merged
merged 10 commits into from
Apr 2, 2024
58 changes: 58 additions & 0 deletions src/main/deploy/pathplanner/paths/3 Piece 1 Stop 1.path
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
"version": 1.0,
"waypoints": [
{
"anchor": {
"x": 0.7483342975945213,
"y": 6.675397934129203
},
"prevControl": null,
"nextControl": {
"x": 1.406194437388875,
"y": 7.089841508386721
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 2.1015855040969345,
"y": 6.522126854438895
},
"prevControl": {
"x": 1.7969436448132157,
"y": 6.6332944101073394
},
"nextControl": null,
"isLocked": false,
"linkedName": "3 Piece 1 Stop 1"
}
],
"rotationTargets": [
{
"waypointRelativePos": 0.2,
"rotationDegrees": 37.38608672087997,
"rotateFast": false
}
],
"constraintZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 3.0,
"maxAcceleration": 3.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0
},
"goalEndState": {
"velocity": 0,
"rotation": 35.26397392088418,
"rotateFast": true
},
"reversed": false,
"folder": "RevA",
"previewStartingState": {
"rotation": 59.08161572041965,
"velocity": 0
},
"useDefaultConstraints": false
}
52 changes: 52 additions & 0 deletions src/main/deploy/pathplanner/paths/3 Piece 1 Stop 2.path
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"version": 1.0,
"waypoints": [
{
"anchor": {
"x": 2.1015855040969345,
"y": 6.522126854438895
},
"prevControl": null,
"nextControl": {
"x": 2.328968287566205,
"y": 6.561759988334791
},
"isLocked": false,
"linkedName": "3 Piece 1 Stop 1"
},
{
"anchor": {
"x": 2.809031599544681,
"y": 6.921961871701522
},
"prevControl": {
"x": 2.6349878644201734,
"y": 6.817492873874638
},
"nextControl": null,
"isLocked": false,
"linkedName": "3 Piece 1"
}
],
"rotationTargets": [],
"constraintZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 3.0,
"maxAcceleration": 3.0,
"maxAngularVelocity": 540.0,
"maxAngularAcceleration": 720.0
},
"goalEndState": {
"velocity": 0,
"rotation": 36.0,
"rotateFast": false
},
"reversed": false,
"folder": "RevA",
"previewStartingState": {
"rotation": 35.26,
"velocity": 0
},
"useDefaultConstraints": false
}
14 changes: 7 additions & 7 deletions src/main/deploy/pathplanner/paths/3 Piece 1.path
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@
},
"prevControl": null,
"nextControl": {
"x": 1.406194437388875,
"y": 7.089841508386721
"x": 2.3770102493908696,
"y": 6.456447732339909
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 2.8139011185429776,
"y": 7.04708475620655
"x": 2.809031599544681,
"y": 6.921961871701522
},
"prevControl": {
"x": 1.778950178270727,
"y": 7.121671535009737
"x": 2.2404261799264344,
"y": 6.638104544727609
},
"nextControl": null,
"isLocked": false,
Expand All @@ -45,7 +45,7 @@
},
"goalEndState": {
"velocity": 0,
"rotation": -8.825474574526524,
"rotation": 36.0,
"rotateFast": true
},
"reversed": false,
Expand Down
8 changes: 4 additions & 4 deletions src/main/deploy/pathplanner/paths/3 Piece 2.path
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
"waypoints": [
{
"anchor": {
"x": 2.8139011185429776,
"y": 7.04708475620655
"x": 2.809031599544681,
"y": 6.921961871701522
},
"prevControl": null,
"nextControl": {
"x": 2.7965014957807695,
"y": 6.4770541115156295
"x": 2.791631976782473,
"y": 6.351931227010602
},
"isLocked": false,
"linkedName": "3 Piece 1"
Expand Down
4 changes: 2 additions & 2 deletions src/main/deploy/pathplanner/paths/4 Piece 3.path
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
"waypoints": [
{
"anchor": {
"x": 2.623633571341217,
"x": 2.6682193623646513,
"y": 5.646385431659753
},
"prevControl": null,
"nextControl": {
"x": 1.6761661106788028,
"x": 1.7207519017022372,
"y": 5.204122117306238
},
"isLocked": false,
Expand Down
24 changes: 12 additions & 12 deletions src/main/deploy/pathplanner/paths/Alternate 3 Piece 2.path
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,40 @@
"waypoints": [
{
"anchor": {
"x": 2.8139011185429776,
"y": 7.04708475620655
"x": 2.809031599544681,
"y": 6.921961871701522
},
"prevControl": null,
"nextControl": {
"x": 2.196897430831899,
"y": 7.214845624135694
"x": 2.1920279118336023,
"y": 7.089722739630666
},
"isLocked": false,
"linkedName": "3 Piece 1"
},
{
"anchor": {
"x": 2.8438902294471258,
"y": 5.646385431659753
"x": 2.9128948767156797,
"y": 5.502794005588011
},
"prevControl": {
"x": 2.5489874081600017,
"y": 5.752742852707928
"x": 2.6179920554285556,
"y": 5.609151426636186
},
"nextControl": {
"x": 2.8457928338581193,
"y": 5.645699252743102
"x": 2.9147974811266733,
"y": 5.5021078266713594
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 2.623633571341217,
"x": 2.6682193623646513,
"y": 5.646385431659753
},
"prevControl": {
"x": 2.636163675105128,
"x": 2.6807494661285625,
"y": 5.638427925003999
},
"nextControl": null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.team766.robot.common.constants.ConfigConstants;
import com.team766.robot.common.constants.PathPlannerConstants;
import com.team766.robot.common.mechanisms.Drive;
import com.team766.robot.reva.Robot;
import com.team766.robot.reva.VisionUtil.VisionSpeakerHelper;
import com.team766.robot.reva.procedures.MoveClimbersToBottom;
import edu.wpi.first.math.geometry.Pose2d;
Expand Down Expand Up @@ -108,7 +109,7 @@ public final void run(Context context) {
drive.setCurrentPosition(
shouldFlipAuton ? GeometryUtil.flipFieldPose(initialPosition) : initialPosition);
// }
context.takeOwnership(drive);
// context.takeOwnership(drive);
drive.resetGyro(
(shouldFlipAuton
? GeometryUtil.flipFieldRotation(initialPosition.getRotation())
Expand All @@ -118,5 +119,16 @@ public final void run(Context context) {
pathItem.run(context);
context.yield();
}

context.takeOwnership(Robot.shooter);
Robot.shooter.stop();
context.releaseOwnership(Robot.shooter);

// TODO: For some reason, the gyro is consistenty 180 degrees from expected in teleop
// TODO: We should figure out why after EBR but for now we can just reset the gyro to 180 of
// current angle
context.takeOwnership(drive);
drive.resetGyro(180 + drive.getHeading());
context.releaseOwnership(drive);
}
}
25 changes: 22 additions & 3 deletions src/main/java/com/team766/robot/reva/DriverOI.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.team766.robot.reva.mechanisms.Shooter;
import com.team766.robot.reva.mechanisms.Shoulder;
import com.team766.robot.reva.procedures.DriverShootNow;
import com.team766.robot.reva.procedures.DriverShootVelocityAndIntake;

public class DriverOI extends OIFragment {

Expand Down Expand Up @@ -59,8 +60,8 @@ public DriverOI(
> 0);
}

public void handleOI(Context context) {

@Override
protected void handlePre() {
// Negative because forward is negative in driver station
leftJoystickX =
-createJoystickDeadzone(leftJoystick.getAxis(InputConstants.AXIS_FORWARD_BACKWARD))
Expand All @@ -73,6 +74,10 @@ public void handleOI(Context context) {
rightJoystickY =
-createJoystickDeadzone(rightJoystick.getAxis(InputConstants.AXIS_LEFT_RIGHT))
* ControlConstants.MAX_ROTATIONAL_VELOCITY; // For steer
}

@Override
protected void handleOI(Context context) {

if (leftJoystick.getButtonPressed(InputConstants.BUTTON_RESET_GYRO)) {
drive.resetGyro();
Expand Down Expand Up @@ -103,13 +108,27 @@ public void handleOI(Context context) {
context.takeOwnership(drive);
context.takeOwnership(intake);

Robot.intake.stop();
intake.stop();
drive.stopDrive();

context.releaseOwnership(drive);
context.releaseOwnership(intake);
}

if (rightJoystick.getButtonPressed(InputConstants.BUTTON_START_SHOOTING_PROCEDURE)) {

visionContext = context.startAsync(new DriverShootVelocityAndIntake());

} else if (rightJoystick.getButtonReleased(
InputConstants.BUTTON_START_SHOOTING_PROCEDURE)) {

visionContext.stop();
qntmcube marked this conversation as resolved.
Show resolved Hide resolved

context.takeOwnership(intake);
intake.stop();
context.releaseOwnership(intake);
}

// Moves the robot if there are joystick inputs
if (movingJoysticks.isTriggering()) {
double drivingCoefficient = 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ public abstract class VisionPIDProcedure extends Procedure {
new AnywhereScoringPosition(1.7201, 5600, 22.205946);
private static AnywhereScoringPosition a3 = new AnywhereScoringPosition(1.9506, 5600, 23.516);
private static AnywhereScoringPosition a4 = new AnywhereScoringPosition(2.072, 5600, 27.32);
private static AnywhereScoringPosition a5 = new AnywhereScoringPosition(2.29161, 5600, 30.109);
private static AnywhereScoringPosition a6 = new AnywhereScoringPosition(2.4616, 5600, 30.8987);
private static AnywhereScoringPosition a5 = new AnywhereScoringPosition(2.29161, 5600, 31.109);
private static AnywhereScoringPosition a6 = new AnywhereScoringPosition(2.4616, 5600, 31.8987);
private static AnywhereScoringPosition a7 = new AnywhereScoringPosition(2.6942, 5600, 32.699);
private static AnywhereScoringPosition a8 =
new AnywhereScoringPosition(2.8657, 5600, 34.103733);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.team766.framework.Mechanism;
import com.team766.logging.LoggerExceptionUtils;
import com.team766.robot.reva.Robot;
import com.team766.robot.reva.constants.VisionConstants;
import edu.wpi.first.math.geometry.Transform3d;
import edu.wpi.first.wpilibj.DriverStation;
import edu.wpi.first.wpilibj.DriverStation.Alliance;
Expand Down Expand Up @@ -37,31 +38,16 @@ public GrayScaleCamera getCamera() {
}

public void run() {
if (tagId == -1) {
Optional<Alliance> alliance = DriverStation.getAlliance();

if (alliance.isPresent()) {
if (alliance.get().equals(Alliance.Blue)) {
tagId = 7;
} else {
tagId = 4;
}
Robot.lights.signalCameraConnected();
} else {
LoggerExceptionUtils.logException(
new AprilTagGeneralCheckedException("Couldn't find alliance correctly"));
}
}

try {
if (tagId == -1) {
Optional<Alliance> alliance = DriverStation.getAlliance();

if (alliance.isPresent()) {
if (alliance.get().equals(Alliance.Blue)) {
tagId = 7;
tagId = VisionConstants.MAIN_BLUE_SPEAKER_TAG;
} else {
tagId = 4;
tagId = VisionConstants.MAIN_RED_SPEAKER_TAG;
}
Robot.lights.signalCameraConnected();
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public void rotate(double angle) {
}

public boolean isFinished() {
return Math.abs(getAngle() - targetAngle) < 1;
return Math.abs(getAngle() - targetAngle) < 2.5;
qntmcube marked this conversation as resolved.
Show resolved Hide resolved
}

@Override
Expand Down
Loading
Loading