From c3de787c18d2295b1523f15c9d5b021317dd1704 Mon Sep 17 00:00:00 2001 From: rkanemoto <73001957+rkanemoto@users.noreply.github.com> Date: Sat, 11 Nov 2023 07:09:17 -0800 Subject: [PATCH 1/5] yeet autos (#66) * Creating yeet cone and improve mid 2 balance * Made 3 piece balance * asd * X swerve at 14.8s * Format * Make 3 piece bal adjustments * Change timer to auto x in auto * auto changes * Finalize blue long side 3 balance * adjusted autos * Mid 3 bal changes * comit bump 2 balances for merge --- .pathplanner/settings.json | 6 +- .../deploy/pathplanner/BlueLongSide3.5.path | 413 ++++++++++++++++++ .../deploy/pathplanner/BlueLongSide3.path | 249 +++++------ .../pathplanner/BlueLongSide3Balance.path | 375 ++++++++++++++++ .../pathplanner/BlueShortSide3Yeet.path | 376 ++++++++++++++++ .../deploy/pathplanner/RedLongSide3.5.path | 413 ++++++++++++++++++ src/main/deploy/pathplanner/RedLongSide3.path | 237 +++++----- .../pathplanner/RedLongSide3Balance.path | 375 ++++++++++++++++ .../deploy/pathplanner/RedShortSide3Yeet.path | 376 ++++++++++++++++ src/main/java/frc/robot/Positions.java | 5 +- src/main/java/frc/robot/Robot.java | 15 +- src/main/java/frc/robot/States.java | 8 +- src/main/java/frc/robot/autos/AutoKind.java | 25 +- .../frc/robot/autos/AutoKindWithoutTeam.java | 12 +- src/main/java/frc/robot/autos/Autos.java | 62 ++- .../controller/RumbleControllerSubsystem.java | 1 - .../java/frc/robot/managers/Autobalance.java | 15 +- .../java/frc/robot/swerve/SwerveModule.java | 11 +- 18 files changed, 2665 insertions(+), 309 deletions(-) create mode 100644 src/main/deploy/pathplanner/BlueLongSide3.5.path create mode 100644 src/main/deploy/pathplanner/BlueLongSide3Balance.path create mode 100644 src/main/deploy/pathplanner/BlueShortSide3Yeet.path create mode 100644 src/main/deploy/pathplanner/RedLongSide3.5.path create mode 100644 src/main/deploy/pathplanner/RedLongSide3Balance.path create mode 100644 src/main/deploy/pathplanner/RedShortSide3Yeet.path diff --git a/.pathplanner/settings.json b/.pathplanner/settings.json index 3cbcaf6d..064c2634 100644 --- a/.pathplanner/settings.json +++ b/.pathplanner/settings.json @@ -1,7 +1,7 @@ { - "generateJSON": false, - "holonomicMode": true, "robotWidth": 0.825, "robotLength": 0.82, + "holonomicMode": true, + "generateJSON": false, "generateCSV": false -} +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/BlueLongSide3.5.path b/src/main/deploy/pathplanner/BlueLongSide3.5.path new file mode 100644 index 00000000..a9b207ce --- /dev/null +++ b/src/main/deploy/pathplanner/BlueLongSide3.5.path @@ -0,0 +1,413 @@ +{ + "waypoints": [ + { + "anchorPoint": { + "x": 1.8317892776136429, + "y": 1.4100000000000001 + }, + "prevControl": null, + "nextControl": { + "x": 2.194006746609981, + "y": 0.5259147360399987 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [ + "preloadCone", + "home", + "scoreMid", + "stowFast" + ], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 3.469999999999999, + "y": 0.62 + }, + "prevControl": { + "x": 2.903608829998719, + "y": 0.6035735699388901 + }, + "nextControl": { + "x": 3.7255740064063705, + "y": 0.6274121362832377 + }, + "holonomicAngle": -90, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 5.083951738359405, + "y": 0.76 + }, + "prevControl": { + "x": 4.852479299730634, + "y": 0.7248742157058787 + }, + "nextControl": { + "x": 5.535995398170487, + "y": 0.8285973162943797 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.277862211286731, + "y": 0.88 + }, + "prevControl": { + "x": 5.913597689444622, + "y": 0.8561431759945587 + }, + "nextControl": { + "x": 6.601297907194471, + "y": 0.9011828163646773 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.960609848271368, + "y": 0.91 + }, + "prevControl": { + "x": 6.818455879443999, + "y": 0.91 + }, + "nextControl": { + "x": 6.818455879443999, + "y": 0.91 + }, + "holonomicAngle": 0, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 5.71136387464264, + "y": 0.71 + }, + "prevControl": { + "x": 6.179410138424679, + "y": 0.7097122620158964 + }, + "nextControl": { + "x": 5.46161729612213, + "y": 0.7101535352006862 + }, + "holonomicAngle": -179.99, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 4.267706823194802, + "y": 0.625 + }, + "prevControl": { + "x": 5.284967277168596, + "y": 0.6165242346594101 + }, + "nextControl": { + "x": 5.284967277168596, + "y": 0.6165242346594101 + }, + "holonomicAngle": -179.9, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.289999999999999, + "y": 1.58 + }, + "prevControl": { + "x": 5.668679243680673, + "y": 1.06223270306723 + }, + "nextControl": { + "x": 6.454413726750472, + "y": 1.717011438958727 + }, + "holonomicAngle": -315, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.909999999999998, + "y": 2.17 + }, + "prevControl": { + "x": 6.628979489273188, + "y": 1.9046725902591142 + }, + "nextControl": { + "x": 6.628979489273188, + "y": 1.9046725902591142 + }, + "holonomicAngle": -315, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 4.292072343050462, + "y": 0.8 + }, + "prevControl": { + "x": 6.127967214399053, + "y": 0.8582081226445775 + }, + "nextControl": { + "x": 3.542832607488922, + "y": 0.7762449151646026 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 1.6199999999999992, + "y": 1 + }, + "prevControl": { + "x": 2.2210031553193783, + "y": 0.9685294142624763 + }, + "nextControl": { + "x": 1.4338945774327847, + "y": 1.0097451179836272 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 5.266693137276851, + "y": 0.8162449151646025 + }, + "prevControl": { + "x": 2.7144049323964907, + "y": 0.7005086958502188 + }, + "nextControl": { + "x": 5.809123407085497, + "y": 0.8408419918385028 + }, + "holonomicAngle": -179.45434240658417, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 7.0453760867400135, + "y": 3.368533120044963 + }, + "prevControl": { + "x": 6.229131171575412, + "y": 1.2243673727469027 + }, + "nextControl": { + "x": 7.054311506758342, + "y": 3.3920052681528134 + }, + "holonomicAngle": -289.476575498932, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 5.455525916158216, + "y": 0.7126914557780476 + }, + "prevControl": { + "x": 6.868726067786481, + "y": 3.14315206138011 + }, + "nextControl": null, + "holonomicAngle": -289.48, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + } + ], + "maxVelocity": 4, + "maxAcceleration": 4, + "isReversed": null, + "markers": [ + { + "position": 6.35, + "names": [ + "intakeCube" + ] + }, + { + "position": 4.272727272727248, + "names": [ + "stowFast" + ] + }, + { + "position": 5.65, + "names": [ + "yeetCone" + ] + }, + { + "position": 8.2, + "names": [ + "stowFast" + ] + }, + { + "position": 1.35, + "names": [ + "intakeCone" + ] + }, + { + "position": 9.15, + "names": [ + "superstructureMid" + ] + }, + { + "position": 9.95, + "names": [ + "scoreMidCube", + "stowFast" + ] + }, + { + "position": 11.694545454545448, + "names": [ + "intakeCone" + ] + }, + { + "position": 12.25, + "names": [ + "stowFast" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/BlueLongSide3.path b/src/main/deploy/pathplanner/BlueLongSide3.path index 9f027d62..11962b9b 100644 --- a/src/main/deploy/pathplanner/BlueLongSide3.path +++ b/src/main/deploy/pathplanner/BlueLongSide3.path @@ -2,15 +2,15 @@ "waypoints": [ { "anchorPoint": { - "x": 1.831789277613643, + "x": 1.8317892776136429, "y": 1.4100000000000001 }, "prevControl": null, "nextControl": { - "x": 2.233698996273372, - "y": 0.19183331154696143 + "x": 2.194006746609981, + "y": 0.5259147360399987 }, - "holonomicAngle": 180.0, + "holonomicAngle": -180, "isReversal": false, "velOverride": null, "isLocked": false, @@ -29,18 +29,18 @@ }, { "anchorPoint": { - "x": 3.4702491289481054, - "y": 0.5 + "x": 3.469999999999999, + "y": 0.5850000000000001 }, "prevControl": { - "x": 2.903750792304015, - "y": 0.5121827599278289 + "x": 2.903501663355909, + "y": 0.5971827599278284 }, "nextControl": { - "x": 4.059828911198247, - "y": 0.48732086489784743 + "x": 4.059579782250141, + "y": 0.5723208648978481 }, - "holonomicAngle": -90.0, + "holonomicAngle": -90, "isReversal": false, "velOverride": null, "isLocked": false, @@ -54,16 +54,16 @@ }, { "anchorPoint": { - "x": 5.322028637978248, - "y": 0.4142138375462151 + "x": 5.083951738359405, + "y": 0.6274121362832377 }, "prevControl": { - "x": 4.768864549193931, - "y": 0.40514557379565275 + "x": 4.329192980871886, + "y": 0.5972217859837348 }, "nextControl": { - "x": 5.875192726762566, - "y": 0.42328210129677735 + "x": 5.540805235653023, + "y": 0.6456862761749838 }, "holonomicAngle": 0, "isReversal": false, @@ -79,20 +79,20 @@ }, { "anchorPoint": { - "x": 6.972792608199198, - "y": 0.41 + "x": 6.277862211286731, + "y": 0.75 }, "prevControl": { - "x": 6.76422254193626, - "y": 0.3918634724988754 + "x": 5.913597689444622, + "y": 0.7261431759945587 }, "nextControl": { - "x": 6.76422254193626, - "y": 0.3918634724988754 + "x": 6.601297907194471, + "y": 0.7711828163646773 }, "holonomicAngle": 0, - "isReversal": true, - "velOverride": null, + "isReversal": false, + "velOverride": 1.7, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -104,19 +104,19 @@ }, { "anchorPoint": { - "x": 5.839961855362307, - "y": 0.36 + "x": 6.960609848271368, + "y": 0.75 }, "prevControl": { - "x": 6.07752567395499, - "y": 0.36 + "x": 6.818455879443999, + "y": 0.75 }, "nextControl": { - "x": 5.535331949457081, - "y": 0.36 + "x": 6.818455879443999, + "y": 0.75 }, "holonomicAngle": 0, - "isReversal": false, + "isReversal": true, "velOverride": null, "isLocked": false, "isStopPoint": false, @@ -129,18 +129,18 @@ }, { "anchorPoint": { - "x": 3.8358755664879753, - "y": 0.36 + "x": 5.71136387464264, + "y": 0.44 }, "prevControl": { - "x": 4.552268402782431, - "y": 0.36 + "x": 6.173382954202625, + "y": 0.5148716098131612 }, "nextControl": { - "x": 3.1194827301935306, - "y": 0.36 + "x": 5.373820531786473, + "y": 0.38530006534486455 }, - "holonomicAngle": -179.99, + "holonomicAngle": -180, "isReversal": false, "velOverride": null, "isLocked": false, @@ -154,49 +154,21 @@ }, { "anchorPoint": { - "x": 1.77, - "y": 0.75 + "x": 3.539999999999999, + "y": 0.398959043532123 }, "prevControl": { - "x": 2.4314931322170357, - "y": 0.34685723217600417 + "x": 4.909307826334951, + "y": 0.38082251603099726 }, "nextControl": { - "x": 2.4314931322170357, - "y": 0.34685723217600417 + "x": 4.909307826334951, + "y": 0.38082251603099726 }, - "holonomicAngle": 180.0, + "holonomicAngle": -180.11, "isReversal": true, "velOverride": null, "isLocked": false, - "isStopPoint": true, - "stopEvent": { - "names": [ - "scoreMid", - "stowFast" - ], - "executionBehavior": "sequential", - "waitBehavior": "none", - "waitTime": 0 - } - }, - { - "anchorPoint": { - "x": 3.7633294564834747, - "y": 0.6 - }, - "prevControl": { - "x": 3.001593519117989, - "y": 0.563764393054816 - }, - "nextControl": { - "x": 4.542332002597135, - "y": 0.6370569756337076 - }, - "holonomicAngle": -179.3969088056195, - "isReversal": false, - "velOverride": null, - "isLocked": false, "isStopPoint": false, "stopEvent": { "names": [], @@ -207,20 +179,20 @@ }, { "anchorPoint": { - "x": 5.967714914153232, - "y": 0.9197983745511563 + "x": 6.369999999999999, + "y": 1.42 }, "prevControl": { - "x": 5.2897078893498435, - "y": 0.6909068383136953 + "x": 5.236236237457277, + "y": 0.4142138375462151 }, "nextControl": { - "x": 6.439621148473067, - "y": 1.0791113889920099 + "x": 6.530100006711745, + "y": 1.562028151436321 }, - "holonomicAngle": 53.71, + "holonomicAngle": -315, "isReversal": false, - "velOverride": 1.1, + "velOverride": null, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -232,20 +204,20 @@ }, { "anchorPoint": { - "x": 6.6612243801410695, - "y": 1.2332701588480108 + "x": 6.899999999999999, + "y": 1.91 }, "prevControl": { - "x": 6.526727019028951, - "y": 1.1298106503002279 + "x": 6.618979489273189, + "y": 1.6446725902591142 }, "nextControl": { - "x": 6.78647838064907, - "y": 1.3296193900080107 + "x": 6.618979489273189, + "y": 1.6446725902591142 }, - "holonomicAngle": 53.71, - "isReversal": false, - "velOverride": 0.5, + "holonomicAngle": -315, + "isReversal": true, + "velOverride": null, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -257,19 +229,19 @@ }, { "anchorPoint": { - "x": 7.21, - "y": 1.8 + "x": 4.292072343050462, + "y": 0.8 }, "prevControl": { - "x": 6.844517202165104, - "y": 1.41624306227336 + "x": 6.127967214399053, + "y": 0.8582081226445775 }, "nextControl": { - "x": 6.844517202165104, - "y": 1.41624306227336 + "x": 3.542832607488922, + "y": 0.7762449151646026 }, - "holonomicAngle": 53.70737027152051, - "isReversal": true, + "holonomicAngle": -180, + "isReversal": false, "velOverride": null, "isLocked": false, "isStopPoint": false, @@ -282,47 +254,47 @@ }, { "anchorPoint": { - "x": 4.298676804040538, - "y": 0.9137069945872413 + "x": 1.5999999999999996, + "y": 1 }, "prevControl": { - "x": 5.8234011578787, - "y": 0.9799993577975943 + "x": 1.786150499284556, + "y": 0.9911576445701102 }, "nextControl": { - "x": 4.090106737777598, - "y": 0.9046387308366789 + "x": 1.4138495007154432, + "y": 1.0088423554298898 }, - "holonomicAngle": 180.0, + "holonomicAngle": -180, "isReversal": false, - "velOverride": null, + "velOverride": 1.7, "isLocked": false, "isStopPoint": false, "stopEvent": { "names": [], - "executionBehavior": "parallel", + "executionBehavior": "sequential", "waitBehavior": "none", "waitTime": 0 } }, { "anchorPoint": { - "x": 1.8986730982580502, - "y": 0.9319811344789851 + "x": 4.406663101747254, + "y": 0.9430548685658775 }, "prevControl": { - "x": 3.4824318888759356, - "y": 0.8710673348398363 + "x": 3.3279065068685227, + "y": 0.9889594045181639 }, "nextControl": { - "x": 3.4824318888759356, - "y": 0.8710673348398363 + "x": 5.259079894300138, + "y": 0.9067818135636272 }, - "holonomicAngle": 180.0, - "isReversal": true, + "holonomicAngle": -180, + "isReversal": false, "velOverride": null, "isLocked": false, - "isStopPoint": true, + "isStopPoint": false, "stopEvent": { "names": [], "executionBehavior": "parallel", @@ -332,15 +304,15 @@ }, { "anchorPoint": { - "x": 5.10273895927731, - "y": 0.8588845749120063 + "x": 7.127142226916032, + "y": 2.430250123658143 }, "prevControl": { - "x": 3.951468146097385, - "y": 0.8406104350202601 + "x": 7.054596116911531, + "y": 0.7254165385523761 }, "nextControl": null, - "holonomicAngle": 180.0, + "holonomicAngle": -269.5659493678605, "isReversal": false, "velOverride": null, "isLocked": false, @@ -353,51 +325,56 @@ } } ], - "maxVelocity": 4.0, - "maxAcceleration": 4.0, + "maxVelocity": 4, + "maxAcceleration": 4, "isReversed": null, "markers": [ { - "position": 1.5, + "position": 6.35, "names": [ "intakeCube" ] }, { - "position": 7.727272727272723, + "position": 4.272727272727248, "names": [ - "intakeCone" + "stowFast" ] }, { - "position": 3.2727272727272476, + "position": 6.109090909090871, "names": [ - "stowFast" + "yeetCone" ] }, { - "position": 10.11999999999987, + "position": 8.2, "names": [ "stowFast" ] }, { - "position": 4.85, + "position": 1.35, + "names": [ + "intakeCone" + ] + }, + { + "position": 9.1, "names": [ "superstructureMid" ] }, { - "position": 11.8, + "position": 9.95, "names": [ - "scoreLow", - "stowFast" + "scoreMidCube" ] }, { - "position": 12.1, + "position": 11.672727272727245, "names": [ - "stowFast" + "intakeCone" ] } ] diff --git a/src/main/deploy/pathplanner/BlueLongSide3Balance.path b/src/main/deploy/pathplanner/BlueLongSide3Balance.path new file mode 100644 index 00000000..8984d3f1 --- /dev/null +++ b/src/main/deploy/pathplanner/BlueLongSide3Balance.path @@ -0,0 +1,375 @@ +{ + "waypoints": [ + { + "anchorPoint": { + "x": 1.8317892776136429, + "y": 1.4100000000000001 + }, + "prevControl": null, + "nextControl": { + "x": 2.194006746609981, + "y": 0.5259147360399987 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [ + "preloadCone", + "home", + "scoreMid", + "stowFast" + ], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 3.469999999999999, + "y": 0.62 + }, + "prevControl": { + "x": 2.903608829998719, + "y": 0.6035735699388901 + }, + "nextControl": { + "x": 3.7255740064063705, + "y": 0.6274121362832377 + }, + "holonomicAngle": -90, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 5.083951738359405, + "y": 0.58 + }, + "prevControl": { + "x": 4.849830104980896, + "y": 0.5793906140742447 + }, + "nextControl": { + "x": 5.279388978230844, + "y": 0.5805086958502188 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.277862211286731, + "y": 0.63 + }, + "prevControl": { + "x": 5.742333855488379, + "y": 0.6305086958502188 + }, + "nextControl": { + "x": 6.601990683194678, + "y": 0.6296921118988152 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.960609848271368, + "y": 0.64 + }, + "prevControl": { + "x": 6.818455879443999, + "y": 0.64 + }, + "nextControl": { + "x": 6.818455879443999, + "y": 0.64 + }, + "holonomicAngle": 0, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 5.687511435813145, + "y": 0.64 + }, + "prevControl": { + "x": 6.2174297464959345, + "y": 0.6484114017568698 + }, + "nextControl": { + "x": 5.303754498086502, + "y": 0.633908620036085 + }, + "holonomicAngle": -179.99, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 4.267706823194802, + "y": 0.625 + }, + "prevControl": { + "x": 5.078373439421651, + "y": 0.6700517960306438 + }, + "nextControl": { + "x": 5.078373439421651, + "y": 0.6700517960306438 + }, + "holonomicAngle": -179.9, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.510000000000001, + "y": 1.4436570514478413 + }, + "prevControl": { + "x": 6.065329262634209, + "y": 1.0538087337572861 + }, + "nextControl": { + "x": 6.670928855019964, + "y": 1.5847453626982193 + }, + "holonomicAngle": 41.06, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 7.1499999999999995, + "y": 2.077160567694995 + }, + "prevControl": { + "x": 6.8689794892731895, + "y": 1.8118331579541094 + }, + "nextControl": { + "x": 6.8689794892731895, + "y": 1.8118331579541094 + }, + "holonomicAngle": 41.05650959073592, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 4.292072343050462, + "y": 0.8 + }, + "prevControl": { + "x": 6.1286780045957014, + "y": 0.7721107876439358 + }, + "nextControl": { + "x": 4.024564705664365, + "y": 0.8040621552367714 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 1.67, + "y": 1.21 + }, + "prevControl": { + "x": 2.082226557644604, + "y": 1.1808139133603501 + }, + "nextControl": { + "x": 1.5419393970514064, + "y": 1.2190668293526246 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 2.8200000000000003, + "y": 2.6999999999999997 + }, + "prevControl": { + "x": 1.9221960905506048, + "y": 2.6999999999999997 + }, + "nextControl": { + "x": 2.9776699849592276, + "y": 2.6999999999999997 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": 1.0, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 4.0699999999999985, + "y": 2.6999999999999997 + }, + "prevControl": { + "x": 3.906291968751354, + "y": 2.6999999999999997 + }, + "nextControl": null, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + } + ], + "maxVelocity": 4, + "maxAcceleration": 4, + "isReversed": null, + "markers": [ + { + "position": 6.35, + "names": [ + "intakeCube" + ] + }, + { + "position": 4.272727272727248, + "names": [ + "stowFast" + ] + }, + { + "position": 5.65, + "names": [ + "yeetCone" + ] + }, + { + "position": 8.2, + "names": [ + "stowFast" + ] + }, + { + "position": 1.35, + "names": [ + "intakeCone" + ] + }, + { + "position": 9.15, + "names": [ + "superstructureMid" + ] + }, + { + "position": 10.0, + "names": [ + "scoreMidCube" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/BlueShortSide3Yeet.path b/src/main/deploy/pathplanner/BlueShortSide3Yeet.path new file mode 100644 index 00000000..cfad8661 --- /dev/null +++ b/src/main/deploy/pathplanner/BlueShortSide3Yeet.path @@ -0,0 +1,376 @@ +{ + "waypoints": [ + { + "anchorPoint": { + "x": 1.8317892776136429, + "y": 4.0764 + }, + "prevControl": null, + "nextControl": { + "x": 2.194006746609981, + "y": 4.960485263960001 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [ + "preloadCone", + "home", + "scoreMid", + "stowFast" + ], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 3.469999999999999, + "y": 4.9014 + }, + "prevControl": { + "x": 2.903501663355909, + "y": 4.889217240072171 + }, + "nextControl": { + "x": 4.059579782250141, + "y": 4.914079135102152 + }, + "holonomicAngle": -270, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 5.083951738359405, + "y": 4.858987863716762 + }, + "prevControl": { + "x": 4.329192980871886, + "y": 4.889178214016265 + }, + "nextControl": { + "x": 5.540805235653023, + "y": 4.840713723825016 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.277862211286731, + "y": 4.7364 + }, + "prevControl": { + "x": 5.913597689444622, + "y": 4.760256824005441 + }, + "nextControl": { + "x": 6.601297907194471, + "y": 4.715217183635323 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.960609848271368, + "y": 4.7364 + }, + "prevControl": { + "x": 6.818455879443999, + "y": 4.7364 + }, + "nextControl": { + "x": 6.818455879443999, + "y": 4.7364 + }, + "holonomicAngle": 0, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 5.71136387464264, + "y": 5.0464 + }, + "prevControl": { + "x": 6.173382954202625, + "y": 4.971528390186839 + }, + "nextControl": { + "x": 5.373820531786473, + "y": 5.101099934655135 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 3.539999999999999, + "y": 5.087440956467876 + }, + "prevControl": { + "x": 5.163139677890296, + "y": 5.092393649832892 + }, + "nextControl": { + "x": 5.163139677890296, + "y": 5.092393649832892 + }, + "holonomicAngle": -179.89, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.369999999999999, + "y": 4.0664 + }, + "prevControl": { + "x": 5.236236237457277, + "y": 5.072186162453784 + }, + "nextControl": { + "x": 6.530100006711745, + "y": 3.9243718485636787 + }, + "holonomicAngle": -45, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 6.899999999999999, + "y": 3.5763999999999996 + }, + "prevControl": { + "x": 6.618979489273189, + "y": 3.8417274097408853 + }, + "nextControl": { + "x": 6.618979489273189, + "y": 3.8417274097408853 + }, + "holonomicAngle": -45, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 4.292072343050462, + "y": 4.6864 + }, + "prevControl": { + "x": 6.127967214399053, + "y": 4.628191877355422 + }, + "nextControl": { + "x": 3.542832607488922, + "y": 4.710155084835398 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 1.5999999999999996, + "y": 4.4864 + }, + "prevControl": { + "x": 1.786150499284556, + "y": 4.495242355429889 + }, + "nextControl": { + "x": 1.4138495007154432, + "y": 4.47755764457011 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 4.406663101747254, + "y": 4.543345131434123 + }, + "prevControl": { + "x": 3.3279065068685227, + "y": 4.4974405954818355 + }, + "nextControl": { + "x": 5.485419696625986, + "y": 4.58924966738641 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 7.081924366523504, + "y": 5.634526466621323 + }, + "prevControl": { + "x": 6.283672031574746, + "y": 5.111888067003866 + }, + "nextControl": null, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + } + ], + "maxVelocity": 4, + "maxAcceleration": 4, + "isReversed": null, + "markers": [ + { + "position": 6.545454545454473, + "names": [ + "intakeCube" + ] + }, + { + "position": 4.272727272727248, + "names": [ + "stowFast" + ] + }, + { + "position": 5.65, + "names": [ + "yeetCone" + ] + }, + { + "position": 8.465454545454438, + "names": [ + "stowFast" + ] + }, + { + "position": 1.35, + "names": [ + "intakeCone" + ] + }, + { + "position": 9.1, + "names": [ + "superstructureMid" + ] + }, + { + "position": 9.95, + "names": [ + "scoreMidCube", + "stowFast" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/RedLongSide3.5.path b/src/main/deploy/pathplanner/RedLongSide3.5.path new file mode 100644 index 00000000..1fef0f5a --- /dev/null +++ b/src/main/deploy/pathplanner/RedLongSide3.5.path @@ -0,0 +1,413 @@ +{ + "waypoints": [ + { + "anchorPoint": { + "x": 14.708210722386356, + "y": 1.4100000000000001 + }, + "prevControl": null, + "nextControl": { + "x": 14.345993253390018, + "y": 0.5259147360399987 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [ + "preloadCone", + "home", + "scoreMid", + "stowFast" + ], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 13.07, + "y": 0.62 + }, + "prevControl": { + "x": 13.63639117000128, + "y": 0.6035735699388901 + }, + "nextControl": { + "x": 12.814425993593629, + "y": 0.6274121362832377 + }, + "holonomicAngle": -90, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 11.456048261640595, + "y": 0.76 + }, + "prevControl": { + "x": 11.687520700269365, + "y": 0.7248742157058787 + }, + "nextControl": { + "x": 11.004004601829513, + "y": 0.8285973162943797 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 10.262137788713268, + "y": 0.88 + }, + "prevControl": { + "x": 10.626402310555378, + "y": 0.8561431759945587 + }, + "nextControl": { + "x": 9.938702092805528, + "y": 0.9011828163646773 + }, + "holonomicAngle": 180.0, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 9.579390151728632, + "y": 0.91 + }, + "prevControl": { + "x": 9.721544120556, + "y": 0.91 + }, + "nextControl": { + "x": 9.721544120556, + "y": 0.91 + }, + "holonomicAngle": -180, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 10.82863612535736, + "y": 0.71 + }, + "prevControl": { + "x": 10.020565291747815, + "y": 0.8796534245860795 + }, + "nextControl": { + "x": 11.047925804058297, + "y": 0.6639604160667287 + }, + "holonomicAngle": -0.01, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 12.272293176805197, + "y": 0.625 + }, + "prevControl": { + "x": 11.255032722831404, + "y": 0.6165242346594101 + }, + "nextControl": { + "x": 11.255032722831404, + "y": 0.6165242346594101 + }, + "holonomicAngle": -0.1, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 10.25, + "y": 1.58 + }, + "prevControl": { + "x": 10.871320756319326, + "y": 1.06223270306723 + }, + "nextControl": { + "x": 10.085586273249527, + "y": 1.717011438958727 + }, + "holonomicAngle": 135.0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 9.63, + "y": 2.17 + }, + "prevControl": { + "x": 9.91102051072681, + "y": 1.9046725902591142 + }, + "nextControl": { + "x": 9.91102051072681, + "y": 1.9046725902591142 + }, + "holonomicAngle": 135.0, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 12.247927656949537, + "y": 0.8 + }, + "prevControl": { + "x": 10.412032785600946, + "y": 0.8582081226445775 + }, + "nextControl": { + "x": 12.997167392511077, + "y": 0.7762449151646026 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 14.92, + "y": 1.0 + }, + "prevControl": { + "x": 14.31899684468062, + "y": 0.9685294142624763 + }, + "nextControl": { + "x": 15.106105422567214, + "y": 1.0097451179836272 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 11.273306862723148, + "y": 0.8162449151646025 + }, + "prevControl": { + "x": 13.825595067603508, + "y": 0.7005086958502188 + }, + "nextControl": { + "x": 10.730876592914502, + "y": 0.8408419918385028 + }, + "holonomicAngle": -0.5456575934158314, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 9.494623913259986, + "y": 3.368533120044963 + }, + "prevControl": { + "x": 10.310868828424587, + "y": 1.2243673727469027 + }, + "nextControl": { + "x": 10.310868828424587, + "y": 1.2243673727469027 + }, + "holonomicAngle": 109.476575498932, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 10.706808526079058, + "y": 0.6152293763554088 + }, + "prevControl": { + "x": 10.432696427702888, + "y": 1.157362193143839 + }, + "nextControl": null, + "holonomicAngle": 109.48, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + } + ], + "maxVelocity": 4, + "maxAcceleration": 4, + "isReversed": null, + "markers": [ + { + "position": 6.35, + "names": [ + "intakeCube" + ] + }, + { + "position": 4.272727272727248, + "names": [ + "stowFast" + ] + }, + { + "position": 5.65, + "names": [ + "yeetCone" + ] + }, + { + "position": 8.2, + "names": [ + "stowFast" + ] + }, + { + "position": 1.35, + "names": [ + "intakeCone" + ] + }, + { + "position": 9.15, + "names": [ + "superstructureMid" + ] + }, + { + "position": 9.95, + "names": [ + "scoreMidCube", + "stowFast" + ] + }, + { + "position": 11.694545454545448, + "names": [ + "intakeCone" + ] + }, + { + "position": 12.25, + "names": [ + "stowFast" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/RedLongSide3.path b/src/main/deploy/pathplanner/RedLongSide3.path index 441d7215..cbe97230 100644 --- a/src/main/deploy/pathplanner/RedLongSide3.path +++ b/src/main/deploy/pathplanner/RedLongSide3.path @@ -7,8 +7,8 @@ }, "prevControl": null, "nextControl": { - "x": 14.306301003726627, - "y": 0.19183331154696148 + "x": 14.345993253390018, + "y": 0.5259147360399987 }, "holonomicAngle": 0, "isReversal": false, @@ -29,16 +29,16 @@ }, { "anchorPoint": { - "x": 13.069750871051895, - "y": 0.6363999999999992 + "x": 13.07, + "y": 0.5850000000000001 }, "prevControl": { - "x": 13.636249207695984, - "y": 0.6485827599278275 + "x": 13.63649833664409, + "y": 0.5971827599278284 }, "nextControl": { - "x": 12.480171088801752, - "y": 0.6237208648978472 + "x": 12.480420217749858, + "y": 0.5723208648978481 }, "holonomicAngle": -90, "isReversal": false, @@ -54,16 +54,16 @@ }, { "anchorPoint": { - "x": 11.21797136202175, - "y": 0.5563999999999991 + "x": 11.456048261640595, + "y": 0.6274121362832377 }, "prevControl": { - "x": 11.771135450806067, - "y": 0.5473317362494363 + "x": 12.210807019128113, + "y": 0.5972217859837348 }, "nextControl": { - "x": 10.664807273237432, - "y": 0.565468263750561 + "x": 10.999194764346976, + "y": 0.6456862761749838 }, "holonomicAngle": -180, "isReversal": false, @@ -79,20 +79,20 @@ }, { "anchorPoint": { - "x": 9.579390151728632, - "y": 0.7107581082906842 + "x": 10.262137788713268, + "y": 0.75 }, "prevControl": { - "x": 9.787960217991568, - "y": 0.6926215807895595 + "x": 10.626402310555378, + "y": 0.7261431759945587 }, "nextControl": { - "x": 9.787960217991568, - "y": 0.6926215807895595 + "x": 9.938702092805528, + "y": 0.7711828163646773 }, - "holonomicAngle": -180, - "isReversal": true, - "velOverride": null, + "holonomicAngle": 180.0, + "isReversal": false, + "velOverride": 1.7, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -104,19 +104,19 @@ }, { "anchorPoint": { - "x": 10.706295445052895, - "y": 0.37573221027536263 + "x": 9.579390151728632, + "y": 0.75 }, "prevControl": { - "x": 10.468731626460212, - "y": 0.37573221027536263 + "x": 9.721544120556, + "y": 0.75 }, "nextControl": { - "x": 11.010925350958122, - "y": 0.37573221027536263 + "x": 9.721544120556, + "y": 0.75 }, "holonomicAngle": -180, - "isReversal": false, + "isReversal": true, "velOverride": null, "isLocked": false, "isStopPoint": false, @@ -129,18 +129,18 @@ }, { "anchorPoint": { - "x": 12.631171513650017, - "y": 0.37573221027536263 + "x": 10.82863612535736, + "y": 0.44 }, "prevControl": { - "x": 11.915121057723294, - "y": 0.35358631988587685 + "x": 10.366617045797375, + "y": 0.5148716098131612 }, "nextControl": { - "x": 13.812899226649517, - "y": 0.41228049005885214 + "x": 11.166179468213526, + "y": 0.38530006534486455 }, - "holonomicAngle": -2, + "holonomicAngle": 0.0, "isReversal": false, "velOverride": null, "isLocked": false, @@ -154,49 +154,21 @@ }, { "anchorPoint": { - "x": 14.708332081345013, - "y": 0.9013999999999998 + "x": 13.0, + "y": 0.398959043532123 }, "prevControl": { - "x": 14.239295824123563, - "y": 0.6821103212990627 + "x": 11.630692173665048, + "y": 0.38082251603099726 }, "nextControl": { - "x": 14.239295824123563, - "y": 0.6821103212990627 + "x": 11.630692173665048, + "y": 0.38082251603099726 }, - "holonomicAngle": 0, + "holonomicAngle": 0.11, "isReversal": true, "velOverride": null, "isLocked": false, - "isStopPoint": true, - "stopEvent": { - "names": [ - "scoreMid", - "stowFast" - ], - "executionBehavior": "sequential", - "waitBehavior": "none", - "waitTime": 0 - } - }, - { - "anchorPoint": { - "x": 12.710359453180912, - "y": 0.4610115297701718 - }, - "prevControl": { - "x": 13.995640625566965, - "y": 0.4549201498062567 - }, - "nextControl": { - "x": 11.93048476759094, - "y": 0.4647076183274699 - }, - "holonomicAngle": -0.6030911943805108, - "isReversal": false, - "velOverride": null, - "isLocked": false, "isStopPoint": false, "stopEvent": { "names": [], @@ -207,20 +179,20 @@ }, { "anchorPoint": { - "x": 10.675838545233322, - "y": 0.9665960667751126 + "x": 10.17, + "y": 1.42 }, "prevControl": { - "x": 11.418989030631842, - "y": 0.7351304660389744 + "x": 11.303763762542722, + "y": 0.4142138375462151 }, "nextControl": { - "x": 10.469925478710824, - "y": 1.0307308450986328 + "x": 10.009899993288254, + "y": 1.562028151436321 }, - "holonomicAngle": -240, + "holonomicAngle": 135.0, "isReversal": false, - "velOverride": 1.1, + "velOverride": null, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -232,20 +204,20 @@ }, { "anchorPoint": { - "x": 10.052717316973096, - "y": 1.5319527754440134 + "x": 9.64, + "y": 1.91 }, "prevControl": { - "x": 10.274320548641098, - "y": 1.3103495437760126 + "x": 9.92102051072681, + "y": 1.6446725902591142 }, "nextControl": { - "x": 9.899340288529222, - "y": 1.6853298038878854 + "x": 9.92102051072681, + "y": 1.6446725902591142 }, - "holonomicAngle": -230.565, - "isReversal": false, - "velOverride": 0.5, + "holonomicAngle": 135.0, + "isReversal": true, + "velOverride": null, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -257,19 +229,19 @@ }, { "anchorPoint": { - "x": 9.58, - "y": 2.1 + "x": 12.247927656949537, + "y": 0.8 }, "prevControl": { - "x": 9.811844239073094, - "y": 1.7728258533440158 + "x": 10.412032785600946, + "y": 0.8582081226445775 }, "nextControl": { - "x": 9.811844239073094, - "y": 1.7728258533440158 + "x": 12.997167392511077, + "y": 0.7762449151646026 }, - "holonomicAngle": -233.70737027152052, - "isReversal": true, + "holonomicAngle": 0, + "isReversal": false, "velOverride": null, "isLocked": false, "isStopPoint": false, @@ -282,47 +254,47 @@ }, { "anchorPoint": { - "x": 12.241323195959462, - "y": 0.9137069945872414 + "x": 14.94, + "y": 1.0 }, "prevControl": { - "x": 10.751831465065349, - "y": 1.24626287892141 + "x": 14.753849500715443, + "y": 0.9911576445701102 }, "nextControl": { - "x": 12.795638772675721, - "y": 0.7899460478215792 + "x": 15.126150499284556, + "y": 1.0088423554298898 }, "holonomicAngle": 0, "isReversal": false, - "velOverride": null, + "velOverride": 1.7, "isLocked": false, "isStopPoint": false, "stopEvent": { "names": [], - "executionBehavior": "parallel", + "executionBehavior": "sequential", "waitBehavior": "none", "waitTime": 0 } }, { "anchorPoint": { - "x": 14.690057941453269, - "y": 0.6011132689402157 + "x": 12.133336898252745, + "y": 0.9430548685658775 }, "prevControl": { - "x": 13.118481910763213, - "y": 0.6803012084711098 + "x": 13.212093493131476, + "y": 0.9889594045181639 }, "nextControl": { - "x": 13.118481910763213, - "y": 0.6803012084711098 + "x": 11.280920105699861, + "y": 0.9067818135636272 }, "holonomicAngle": 0, - "isReversal": true, + "isReversal": false, "velOverride": null, "isLocked": false, - "isStopPoint": true, + "isStopPoint": false, "stopEvent": { "names": [], "executionBehavior": "parallel", @@ -332,15 +304,15 @@ }, { "anchorPoint": { - "x": 11.42507828079486, - "y": 0.777763287893749 + "x": 9.412857773083967, + "y": 2.430250123658143 }, "prevControl": { - "x": 12.576349093974784, - "y": 0.759489148002003 + "x": 9.485403883088468, + "y": 0.7254165385523761 }, "nextControl": null, - "holonomicAngle": 0, + "holonomicAngle": 89.56594936786054, "isReversal": false, "velOverride": null, "isLocked": false, @@ -358,46 +330,51 @@ "isReversed": null, "markers": [ { - "position": 1.5, + "position": 6.35, "names": [ "intakeCube" ] }, { - "position": 7.727272727272723, + "position": 4.272727272727248, "names": [ - "intakeCone" + "stowFast" ] }, { - "position": 3.2727272727272476, + "position": 6.109090909090871, "names": [ - "stowFast" + "yeetCone" ] }, { - "position": 10.11999999999987, + "position": 8.2, "names": [ "stowFast" ] }, { - "position": 4.85, + "position": 1.35, + "names": [ + "intakeCone" + ] + }, + { + "position": 9.1, "names": [ "superstructureMid" ] }, { - "position": 11.8, + "position": 9.95, "names": [ - "scoreLow", - "stowFast" + "scoreMidCube" ] }, { - "position": 12.1, + "position": 11.672727272727245, "names": [ - "stowFast" + "intakeCone" ] } ] diff --git a/src/main/deploy/pathplanner/RedLongSide3Balance.path b/src/main/deploy/pathplanner/RedLongSide3Balance.path new file mode 100644 index 00000000..4dda499d --- /dev/null +++ b/src/main/deploy/pathplanner/RedLongSide3Balance.path @@ -0,0 +1,375 @@ +{ + "waypoints": [ + { + "anchorPoint": { + "x": 14.708210722386356, + "y": 1.4100000000000001 + }, + "prevControl": null, + "nextControl": { + "x": 14.345993253390018, + "y": 0.5259147360399987 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [ + "preloadCone", + "home", + "scoreMid", + "stowFast" + ], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 13.07, + "y": 0.62 + }, + "prevControl": { + "x": 13.63639117000128, + "y": 0.6035735699388901 + }, + "nextControl": { + "x": 12.814425993593629, + "y": 0.6274121362832377 + }, + "holonomicAngle": -90, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 11.456048261640595, + "y": 0.76 + }, + "prevControl": { + "x": 11.687520700269365, + "y": 0.7248742157058787 + }, + "nextControl": { + "x": 11.004004601829513, + "y": 0.8285973162943797 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 10.262137788713268, + "y": 0.88 + }, + "prevControl": { + "x": 10.626402310555378, + "y": 0.8561431759945587 + }, + "nextControl": { + "x": 9.938702092805528, + "y": 0.9011828163646773 + }, + "holonomicAngle": 180.0, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 9.579390151728632, + "y": 0.91 + }, + "prevControl": { + "x": 9.721544120556, + "y": 0.91 + }, + "nextControl": { + "x": 9.721544120556, + "y": 0.91 + }, + "holonomicAngle": -180, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 10.82863612535736, + "y": 0.71 + }, + "prevControl": { + "x": 10.365847333683268, + "y": 0.7799565732030375 + }, + "nextControl": { + "x": 11.133205123553106, + "y": 0.6639604160667287 + }, + "holonomicAngle": -0.01, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 12.272293176805197, + "y": 0.625 + }, + "prevControl": { + "x": 11.255032722831404, + "y": 0.6165242346594101 + }, + "nextControl": { + "x": 11.255032722831404, + "y": 0.6165242346594101 + }, + "holonomicAngle": -0.1, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 10.25, + "y": 1.58 + }, + "prevControl": { + "x": 10.871320756319326, + "y": 1.06223270306723 + }, + "nextControl": { + "x": 10.085586273249527, + "y": 1.717011438958727 + }, + "holonomicAngle": 135.0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 9.63, + "y": 2.17 + }, + "prevControl": { + "x": 9.91102051072681, + "y": 1.9046725902591142 + }, + "nextControl": { + "x": 9.91102051072681, + "y": 1.9046725902591142 + }, + "holonomicAngle": 135.0, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 12.247927656949537, + "y": 0.8 + }, + "prevControl": { + "x": 10.412032785600946, + "y": 0.8582081226445775 + }, + "nextControl": { + "x": 12.997167392511077, + "y": 0.7762449151646026 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 14.92, + "y": 1.03 + }, + "prevControl": { + "x": 14.733849500715444, + "y": 1.0211576445701103 + }, + "nextControl": { + "x": 15.048236580242154, + "y": 1.0360913799639149 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 13.720283054601198, + "y": 2.3299999999999996 + }, + "prevControl": { + "x": 14.618086964050594, + "y": 2.3299999999999996 + }, + "nextControl": { + "x": 13.562613069641971, + "y": 2.3299999999999996 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": 0.3, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 12.47, + "y": 2.3299999999999996 + }, + "prevControl": { + "x": 12.633708031248645, + "y": 2.3299999999999996 + }, + "nextControl": null, + "holonomicAngle": 0.0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + } + ], + "maxVelocity": 4, + "maxAcceleration": 4, + "isReversed": null, + "markers": [ + { + "position": 6.35, + "names": [ + "intakeCube" + ] + }, + { + "position": 4.272727272727248, + "names": [ + "stowFast" + ] + }, + { + "position": 5.65, + "names": [ + "yeetCone" + ] + }, + { + "position": 8.2, + "names": [ + "stowFast" + ] + }, + { + "position": 1.35, + "names": [ + "intakeCone" + ] + }, + { + "position": 9.15, + "names": [ + "superstructureMid" + ] + }, + { + "position": 9.95, + "names": [ + "scoreMidCube" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/RedShortSide3Yeet.path b/src/main/deploy/pathplanner/RedShortSide3Yeet.path new file mode 100644 index 00000000..795fa74e --- /dev/null +++ b/src/main/deploy/pathplanner/RedShortSide3Yeet.path @@ -0,0 +1,376 @@ +{ + "waypoints": [ + { + "anchorPoint": { + "x": 14.708210722386356, + "y": 4.0764 + }, + "prevControl": null, + "nextControl": { + "x": 14.345993253390018, + "y": 4.960485263960001 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [ + "preloadCone", + "home", + "scoreMid", + "stowFast" + ], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 13.07, + "y": 4.9014 + }, + "prevControl": { + "x": 13.63649833664409, + "y": 4.889217240072171 + }, + "nextControl": { + "x": 12.480420217749858, + "y": 4.914079135102152 + }, + "holonomicAngle": 90, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 11.456048261640595, + "y": 4.858987863716762 + }, + "prevControl": { + "x": 12.210807019128113, + "y": 4.889178214016265 + }, + "nextControl": { + "x": 10.999194764346976, + "y": 4.840713723825016 + }, + "holonomicAngle": 180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 10.262137788713268, + "y": 4.7364 + }, + "prevControl": { + "x": 10.626402310555378, + "y": 4.760256824005441 + }, + "nextControl": { + "x": 9.938702092805528, + "y": 4.715217183635323 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 9.579390151728632, + "y": 4.7364 + }, + "prevControl": { + "x": 9.721544120556, + "y": 4.7364 + }, + "nextControl": { + "x": 9.721544120556, + "y": 4.7364 + }, + "holonomicAngle": 180, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 10.82863612535736, + "y": 5.0464 + }, + "prevControl": { + "x": 10.366617045797375, + "y": 4.971528390186839 + }, + "nextControl": { + "x": 11.166179468213526, + "y": 5.101099934655135 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 13.0, + "y": 5.087440956467876 + }, + "prevControl": { + "x": 11.376860322109703, + "y": 5.092393649832892 + }, + "nextControl": { + "x": 11.376860322109703, + "y": 5.092393649832892 + }, + "holonomicAngle": -0.11, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 10.17, + "y": 4.0664 + }, + "prevControl": { + "x": 11.303763762542722, + "y": 5.072186162453784 + }, + "nextControl": { + "x": 10.009899993288254, + "y": 3.9243718485636787 + }, + "holonomicAngle": -135, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 9.64, + "y": 3.5763999999999996 + }, + "prevControl": { + "x": 9.92102051072681, + "y": 3.8417274097408853 + }, + "nextControl": { + "x": 9.92102051072681, + "y": 3.8417274097408853 + }, + "holonomicAngle": -135, + "isReversal": true, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 12.247927656949537, + "y": 4.6864 + }, + "prevControl": { + "x": 10.412032785600946, + "y": 4.628191877355422 + }, + "nextControl": { + "x": 12.997167392511077, + "y": 4.710155084835398 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 14.94, + "y": 4.4864 + }, + "prevControl": { + "x": 14.753849500715443, + "y": 4.495242355429889 + }, + "nextControl": { + "x": 15.126150499284556, + "y": 4.47755764457011 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": 1.7, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 12.133336898252745, + "y": 4.543345131434123 + }, + "prevControl": { + "x": 13.212093493131476, + "y": 4.4974405954818355 + }, + "nextControl": { + "x": 11.054580303374014, + "y": 4.58924966738641 + }, + "holonomicAngle": 0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 9.458075633476495, + "y": 5.634526466621323 + }, + "prevControl": { + "x": 10.256327968425254, + "y": 5.111888067003866 + }, + "nextControl": null, + "holonomicAngle": 180.0, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + } + ], + "maxVelocity": 4, + "maxAcceleration": 4, + "isReversed": null, + "markers": [ + { + "position": 6.35, + "names": [ + "intakeCube" + ] + }, + { + "position": 4.272727272727248, + "names": [ + "stowFast" + ] + }, + { + "position": 5.65, + "names": [ + "yeetCone" + ] + }, + { + "position": 8.2, + "names": [ + "stowFast" + ] + }, + { + "position": 1.35, + "names": [ + "intakeCone" + ] + }, + { + "position": 9.1, + "names": [ + "superstructureMid" + ] + }, + { + "position": 9.95, + "names": [ + "scoreMidCube", + "stowFast" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/java/frc/robot/Positions.java b/src/main/java/frc/robot/Positions.java index 9e2da59b..0f559470 100644 --- a/src/main/java/frc/robot/Positions.java +++ b/src/main/java/frc/robot/Positions.java @@ -24,8 +24,9 @@ public class Positions { new SuperstructurePosition(12, Rotation2d.fromDegrees(50)); public static final SuperstructurePosition CUBE_NODE_HIGH = new SuperstructurePosition(23, Rotation2d.fromDegrees(50)); - public static final SuperstructurePosition YEET_CUBE_MID = - new SuperstructurePosition(3, Rotation2d.fromDegrees(20)); + + public static final SuperstructurePosition CONE_SHOOT_MID = + new SuperstructurePosition(12, Rotation2d.fromDegrees(2)); public static final SuperstructurePosition INTAKING_CONE_FLOOR = new SuperstructurePosition(5, Rotation2d.fromDegrees(92), true); diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index ac373fd6..b1c2edf7 100644 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -220,11 +220,11 @@ private void configureButtonBindings() { // X swerve driveController.start().onTrue(swerve.getXSwerveCommand()); - // Manual Auto Balance - // driveController - // .povLeft() - // .onTrue(swerve.run(() -> autobalance.setEnabled(true))) - // .onFalse(swerve.runOnce(() -> autobalance.setEnabled(false))); + //Manual Auto Balance + driveController + .povLeft() + .onTrue(swerve.run(() -> autobalance.setEnabled(true))) + .onFalse(swerve.runOnce(() -> autobalance.setEnabled(false))); // Snaps for all cardinal directions driveController.x().onTrue(autoRotate.getCommand(() -> AutoRotate.getLeftAngle())); @@ -268,6 +268,11 @@ private void configureButtonBindings() { .onTrue(superstructureManager.getManualScoreCommand(NodeHeight.HIGH)) .onFalse(superstructureManager.getCommand(States.STOWED)); + operatorController + .povRight() + .onTrue(superstructureManager.getCommand(States.YEET_CONE)) + .onFalse(superstructureManager.getCommand(States.STOWED)); + // Stow all operatorController.x().onTrue(superstructureManager.getCommand(States.STOWED)); // Home superstructure diff --git a/src/main/java/frc/robot/States.java b/src/main/java/frc/robot/States.java index 5c5e2a3d..0cce9287 100644 --- a/src/main/java/frc/robot/States.java +++ b/src/main/java/frc/robot/States.java @@ -27,8 +27,12 @@ public class States { new SuperstructureState(Positions.CUBE_NODE_MID, IntakeMode.OUTTAKE_CUBE_FAST, false); public static final SuperstructureState CUBE_NODE_HIGH = new SuperstructureState(Positions.CUBE_NODE_HIGH, IntakeMode.OUTTAKE_CUBE_FAST, false); - public static final SuperstructureState YEET_CUBE_MID = - new SuperstructureState(Positions.YEET_CUBE_MID, IntakeMode.YEET_CUBE, false); + + // YEET CONES + public static final SuperstructureState YEET_CONE = + new SuperstructureState(Positions.STOWED, IntakeMode.SHOOT_CONE, false); + public static final SuperstructureState YEET_CONE_MID = + new SuperstructureState(Positions.CONE_SHOOT_MID, IntakeMode.SHOOT_CONE, false); public static final SuperstructureState INTAKING_CONE_FLOOR_IDLE = new SuperstructureState(Positions.INTAKING_CONE_FLOOR, IntakeMode.STOPPED, true); diff --git a/src/main/java/frc/robot/autos/AutoKind.java b/src/main/java/frc/robot/autos/AutoKind.java index 9096d4c5..1bff7f4f 100644 --- a/src/main/java/frc/robot/autos/AutoKind.java +++ b/src/main/java/frc/robot/autos/AutoKind.java @@ -9,26 +9,35 @@ public enum AutoKind { DO_NOTHING("", 0.01, 0.01, false), - BLUE_SHORT_SIDE_3("BlueShortSide3", 4.5, 4, false), - RED_SHORT_SIDE_3("RedShortSide3", 4.5, 4, false), + //Mid 1 + BLUE_MID_1_BALANCE("BlueMid1Balance", 2, 3, true), + RED_MID_1_BALANCE("RedMid1Balance", 2, 3, true), + //Mid 1.5 BLUE_MID_BUMP_1_5_BALANCE("BlueMidBump1.5Balance", 2, 3, true), RED_MID_BUMP_1_5_BALANCE("RedMidBump1.5Balance", 2, 3, true), - BLUE_MID_FLAT_1_5_BALANCE("BlueMidFlat1.5Balance", 2, 3, true), RED_MID_FLAT_1_5_BALANCE("RedMidFlat1.5Balance", 2, 3, true), + //Mid 2 BLUE_MID_FLAT_2_BALANCE("BlueMidFlat2Balance", 3, 3, true), BLUE_MID_BUMP_2_BALANCE("BlueMidBump2Balance", 3, 3, true), + RED_MID_BUMP_2_BALANCE("RedMidBump2Balance", 3, 3, true), + RED_MID_FLAT_2_BALANCE("RedMidFlat2Balance", 3, 3, true), + //3s + BLUE_SHORT_SIDE_3("BlueShortSide3", 4.5, 4, false), + BLUE_SHORT_SIDE_3_YEET("BlueShortSide3Yeet", 4, 4, false), BLUE_LONG_SIDE_3("BlueLongSide3", 4, 4, false), + RED_SHORT_SIDE_3("RedShortSide3", 4.5, 4, false), + RED_SHORT_SIDE_3_YEET("RedShortSide3Yeet", 4, 4, false), RED_LONG_SIDE_3("RedLongSide3", 4, 4, false), - BLUE_MID_1_BALANCE("BlueMid1Balance", 2, 3, true), - RED_MID_1_BALANCE("RedMid1Balance", 2, 3, true), - - RED_MID_BUMP_2_BALANCE("RedMidBump2Balance", 3, 3, true), - RED_MID_FLAT_2_BALANCE("RedMidFlat2Balance", 3, 3, true); + //3 extras + RED_LONG_SIDE_3_BALANCE("RedLongSide3Balance", 4, 4, true), + BLUE_LONG_SIDE_3_BALANCE("BlueLongSide3Balance", 4, 4, true), + RED_LONG_SIDE_3_5("RedLongSide3.5", 4, 4, false), + BLUE_LONG_SIDE_3_5("BlueLongSide3.5", 4, 4, false); public final String pathName; public final PathConstraints constraints; diff --git a/src/main/java/frc/robot/autos/AutoKindWithoutTeam.java b/src/main/java/frc/robot/autos/AutoKindWithoutTeam.java index fc9aad7b..84a0d97e 100644 --- a/src/main/java/frc/robot/autos/AutoKindWithoutTeam.java +++ b/src/main/java/frc/robot/autos/AutoKindWithoutTeam.java @@ -7,15 +7,19 @@ public enum AutoKindWithoutTeam { DO_NOTHING(AutoKind.DO_NOTHING, AutoKind.DO_NOTHING), - FLAT_3(AutoKind.RED_SHORT_SIDE_3, AutoKind.BLUE_SHORT_SIDE_3), - BUMP_3(AutoKind.RED_LONG_SIDE_3, AutoKind.BLUE_LONG_SIDE_3), + MID_1_BALANCE(AutoKind.RED_MID_1_BALANCE, AutoKind.BLUE_MID_1_BALANCE), MID_BUMP_1_5_BALANCE(AutoKind.RED_MID_BUMP_1_5_BALANCE, AutoKind.BLUE_MID_BUMP_1_5_BALANCE), MID_FLAT_1_5_BALANCE(AutoKind.RED_MID_FLAT_1_5_BALANCE, AutoKind.BLUE_MID_FLAT_1_5_BALANCE), - MID_1_BALANCE(AutoKind.RED_MID_1_BALANCE, AutoKind.BLUE_MID_1_BALANCE), MID_BUMP_2_BALANCE(AutoKind.RED_MID_BUMP_2_BALANCE, AutoKind.BLUE_MID_BUMP_2_BALANCE), - MID_FLAT_2_BALANCE(AutoKind.RED_MID_FLAT_2_BALANCE, AutoKind.BLUE_MID_FLAT_2_BALANCE); + MID_FLAT_2_BALANCE(AutoKind.RED_MID_FLAT_2_BALANCE, AutoKind.BLUE_MID_FLAT_2_BALANCE), + + FLAT_3(AutoKind.RED_SHORT_SIDE_3, AutoKind.BLUE_SHORT_SIDE_3), + FLAT_3_YEET(AutoKind.RED_SHORT_SIDE_3_YEET, AutoKind.BLUE_SHORT_SIDE_3_YEET), + BUMP_3(AutoKind.RED_LONG_SIDE_3, AutoKind.BLUE_LONG_SIDE_3), + BUMP_3_BALANCE(AutoKind.RED_LONG_SIDE_3_BALANCE, AutoKind.BLUE_LONG_SIDE_3_BALANCE), + BUMP_3_5(AutoKind.RED_LONG_SIDE_3_5, AutoKind.BLUE_LONG_SIDE_3_5); public final AutoKind redVersion; public final AutoKind blueVersion; diff --git a/src/main/java/frc/robot/autos/Autos.java b/src/main/java/frc/robot/autos/Autos.java index c8292e52..b860fb1c 100644 --- a/src/main/java/frc/robot/autos/Autos.java +++ b/src/main/java/frc/robot/autos/Autos.java @@ -124,25 +124,58 @@ public Autos( superstructure .getScoreCommand(NodeHeight.LOW, 0, true) .withTimeout(1) - .andThen(Commands.runOnce(() -> intake.setGamePiece(HeldGamePiece.NOTHING)))), + .andThen( + Commands.runOnce( + () -> { + intake.setGamePiece(HeldGamePiece.NOTHING); + superstructure.set(States.STOWED); + }))), Map.entry( "scoreMid", superstructure .getScoreCommand(NodeHeight.MID, 0, true) - .withTimeout(3) - .andThen(Commands.runOnce(() -> intake.setGamePiece(HeldGamePiece.NOTHING)))), + .withTimeout(2.5) + .andThen( + Commands.runOnce( + () -> { + intake.setGamePiece(HeldGamePiece.NOTHING); + superstructure.set(States.STOWED); + }))), + Map.entry( + "scoreMidCube", + superstructure + .getScoreCommand(NodeHeight.MID, 0, true) + .withTimeout(10) + .andThen( + Commands.runOnce( + () -> { + intake.setGamePiece(HeldGamePiece.NOTHING); + superstructure.set(States.STOWED); + }))), Map.entry( "scoreHigh", superstructure .getScoreCommand(NodeHeight.HIGH, 0.5, true) .withTimeout(3) - .andThen(Commands.runOnce(() -> intake.setGamePiece(HeldGamePiece.NOTHING)))), + .andThen( + Commands.runOnce( + () -> { + intake.setGamePiece(HeldGamePiece.NOTHING); + superstructure.set(States.STOWED); + }))), Map.entry( - "yeetMid", + "yeetCone", superstructure - .getCommand(States.YEET_CUBE_MID) - .withTimeout(1.5) - .andThen(Commands.runOnce(() -> intake.setGamePiece(HeldGamePiece.NOTHING)))), + .getCommand(States.YEET_CONE) + .withTimeout(0.5) + .andThen(Commands.runOnce(() -> intake.setGamePiece(HeldGamePiece.NOTHING))) + .andThen(Commands.runOnce(() -> superstructure.set(States.STOWED)))), + Map.entry( + "yeetConeMid", + superstructure + .getCommand(States.YEET_CONE_MID) + .withTimeout(0.5) + .andThen(Commands.runOnce(() -> intake.setGamePiece(HeldGamePiece.NOTHING))).andThen(Commands.runOnce(() -> superstructure.set(States.STOWED)))), Map.entry("superstructureLow", superstructure.getManualScoreCommand(NodeHeight.LOW)), Map.entry("superstructureMid", superstructure.getManualScoreCommand(NodeHeight.MID)), Map.entry("superstructureHigh", superstructure.getManualScoreCommand(NodeHeight.HIGH)), @@ -281,10 +314,15 @@ private Command buildAutoCommand(AutoKind auto) { autoCommand.andThen( () -> localization.resetPose(pathGroup.get(0).getInitialHolonomicPose())); - if (auto == AutoKind.RED_MID_1_BALANCE || auto == AutoKind.BLUE_MID_1_BALANCE) { - autoCommand = autoCommand.andThen(getMid1Auto(pathGroup)); - } else { - autoCommand = autoCommand.andThen(autoBuilder.fullAuto(pathGroup)); + if (pathGroup != null) { + + if (auto == AutoKind.RED_MID_1_BALANCE || auto == AutoKind.BLUE_MID_1_BALANCE) { + + autoCommand = autoCommand.andThen(getMid1Auto(pathGroup)); + + } else { + autoCommand = autoCommand.andThen(autoBuilder.fullAuto(pathGroup)); + } } if (auto.autoBalance) { diff --git a/src/main/java/frc/robot/controller/RumbleControllerSubsystem.java b/src/main/java/frc/robot/controller/RumbleControllerSubsystem.java index 2f606c57..ba02f47c 100644 --- a/src/main/java/frc/robot/controller/RumbleControllerSubsystem.java +++ b/src/main/java/frc/robot/controller/RumbleControllerSubsystem.java @@ -50,7 +50,6 @@ private SequentialCommandGroup getVibrateOnceCommand() { } private Command getVibrateCommand() { - return getVibrateOnceCommand() .andThen(getVibrateOnceCommand()) .andThen(getVibrateOnceCommand()); diff --git a/src/main/java/frc/robot/managers/Autobalance.java b/src/main/java/frc/robot/managers/Autobalance.java index 798b5c50..761e8f31 100644 --- a/src/main/java/frc/robot/managers/Autobalance.java +++ b/src/main/java/frc/robot/managers/Autobalance.java @@ -18,10 +18,11 @@ import frc.robot.util.scheduling.SubsystemPriority; public class Autobalance extends LifecycleSubsystem { + private static final double AUTO_END = 14.85; private final SwerveSubsystem swerve; private final ImuSubsystem imu; private boolean enabled = false; - private static final double DRIVE_VELOCITY = -0.475; + private static final double DRIVE_VELOCITY = -0.5; private static final double ANGLE_THRESHOLD = 11; private final LinearFilter autoBalanceFilter = LinearFilter.movingAverage(13); private final Timer autoTimer = new Timer(); @@ -57,7 +58,8 @@ public void enabledPeriodic() { if (enabled) { Rotation2d goalAngle = Rotation2d.fromDegrees(FmsSubsystem.isRedAlliance() ? 0 : 180); - if (driveVelocityDebouncer.calculate(getDriveVelocity() == 0)) { + if (driveVelocityDebouncer.calculate(getDriveVelocity() == 0) + || autoTimer.hasElapsed(AUTO_END)) { swerve.setXSwerve(true); } else { swerve.setXSwerve(false); @@ -86,8 +88,13 @@ private boolean atGoal() { public Command getCommand() { return Commands.run(() -> setEnabled(true), swerve) - .until(() -> atGoal() || autoTimer.hasElapsed(14.8)) - .andThen(runOnce(() -> setEnabled(false))) + .until(() -> atGoal() || autoTimer.hasElapsed(14.9)) + .andThen( + runOnce( + () -> { + setEnabled(false); + swerve.setXSwerve(true); + })) .handleInterrupt(() -> setEnabled(false)); } } diff --git a/src/main/java/frc/robot/swerve/SwerveModule.java b/src/main/java/frc/robot/swerve/SwerveModule.java index b90723e9..6dbf614b 100644 --- a/src/main/java/frc/robot/swerve/SwerveModule.java +++ b/src/main/java/frc/robot/swerve/SwerveModule.java @@ -123,8 +123,15 @@ public void log() { "Swerve/" + constants.corner.toString() + "/DriveMotorStatorCurrent", driveMotorStatorCurrent.refresh().getValue()); - Logger.getInstance().recordOutput("Swerve/"+ constants.corner.toString() +"/SteerMotorCancoderPosition", getRawCancoderPosition().getDegrees()); - Logger.getInstance().recordOutput("Swerve/" + constants.corner.toString() + "/SteerMorotPosition", getSteerMotorPosition().getDegrees()); + Logger.getInstance() + .recordOutput( + "Swerve/" + constants.corner.toString() + "/SteerMotorCancoderPosition", + getCancoderPosition().getDegrees()); + Logger.getInstance() + .recordOutput( + "Swerve/" + constants.corner.toString() + "/SteerMotorPosition", + getSteerMotorPosition().getDegrees()); + } public void setDesiredState( From 3abe2d124058c014b427f1ebd48924865effae4e Mon Sep 17 00:00:00 2001 From: rkanemoto <73001957+rkanemoto@users.noreply.github.com> Date: Sat, 11 Nov 2023 10:40:08 -0800 Subject: [PATCH 2/5] Create velocity based intaking for cube --- .../frc/robot/intake/IntakeSubsystem.java | 57 ++++++++++++------- 1 file changed, 38 insertions(+), 19 deletions(-) diff --git a/src/main/java/frc/robot/intake/IntakeSubsystem.java b/src/main/java/frc/robot/intake/IntakeSubsystem.java index 51456735..dbe0a5f9 100644 --- a/src/main/java/frc/robot/intake/IntakeSubsystem.java +++ b/src/main/java/frc/robot/intake/IntakeSubsystem.java @@ -9,6 +9,8 @@ import com.ctre.phoenix.motorcontrol.can.TalonFX; import edu.wpi.first.math.filter.Debouncer; import edu.wpi.first.math.filter.Debouncer.DebounceType; +import edu.wpi.first.math.filter.LinearFilter; +import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Commands; import frc.robot.config.Config; @@ -27,7 +29,10 @@ public class IntakeSubsystem extends LifecycleSubsystem { private final TalonFX motor; private final Debouncer coneFilterSensor = new Debouncer(10 * 0.02, DebounceType.kBoth); - private final Debouncer cubeFilterSensor = new Debouncer(10 * 0.02, DebounceType.kBoth); + + private final LinearFilter voltageFilter = LinearFilter.movingAverage(7); + private final LinearFilter velocityFilter = LinearFilter.movingAverage(7); + private final Timer intakeTimer = new Timer(); public IntakeSubsystem(TalonFX motor) { super(SubsystemPriority.INTAKE); @@ -38,10 +43,6 @@ public IntakeSubsystem(TalonFX motor) { motor.overrideLimitSwitchesEnable(false); } - private boolean sensorHasCube() { - return motor.isFwdLimitSwitchClosed() == 1; - } - private boolean sensorHasCone() { return motor.isRevLimitSwitchClosed() == 1; } @@ -53,37 +54,49 @@ public void robotPeriodic() { Logger.getInstance().recordOutput("Intake/Current", motor.getStatorCurrent()); Logger.getInstance().recordOutput("Intake/Voltage", motor.getMotorOutputVoltage()); Logger.getInstance().recordOutput("Intake/ConeIntakeSensor", sensorHasCone()); - Logger.getInstance().recordOutput("Intake/CubeIntakeSensor", sensorHasCube()); } @Override public void enabledPeriodic() { boolean coneSensor = coneFilterSensor.calculate(sensorHasCone()); - boolean cubeSensor = cubeFilterSensor.calculate(sensorHasCube()); Logger.getInstance().recordOutput("Intake/FilteredConeIntakeSensor", coneSensor); - Logger.getInstance().recordOutput("Intake/FilteredCubeIntakeSensor", cubeSensor); - if (mode == IntakeMode.INTAKE_CUBE) { - if (cubeSensor) { - gamePiece = HeldGamePiece.CUBE; - } - } else if (mode == IntakeMode.INTAKE_CONE) { + if (mode == IntakeMode.INTAKE_CONE) { if (coneSensor) { gamePiece = HeldGamePiece.CONE; } - } else if (mode == IntakeMode.OUTTAKE_CUBE_FAST - || mode == IntakeMode.OUTTAKE_CUBE_SLOW - || mode == IntakeMode.YEET_CUBE) { - if (!cubeSensor) { - gamePiece = HeldGamePiece.NOTHING; - } } else if (mode == IntakeMode.OUTTAKE_CONE || mode == IntakeMode.SHOOT_CONE) { if (!coneSensor) { gamePiece = HeldGamePiece.NOTHING; } } + // Velocity based game piece detection + // TODO: Account for native units + double motorVelocity = Math.abs(velocityFilter.calculate(motor.getSelectedSensorVelocity())); + // TODO: Double check that this is -1 to 1 + double intakeVoltage = Math.abs(voltageFilter.calculate(motor.getMotorOutputVoltage()) * 12.0); + // TODO: Account for native units + double theoreticalSpeed = ((6000.0 / 600.0) * (2048.0)); // Talon fx is 6000 + double threshold = theoreticalSpeed * 0.5; + Logger.getInstance().recordOutput("Intake/MotorVelocity", motorVelocity); + Logger.getInstance().recordOutput("Intake/IntakeVoltage", intakeVoltage); + Logger.getInstance().recordOutput("Intake/TheoreticalSpeed", theoreticalSpeed); + Logger.getInstance().recordOutput("Intake/Threshold", threshold); + Logger.getInstance().recordOutput("Intake/IntakeTimer", intakeTimer.get()); + Logger.getInstance().recordOutput("Intake/velocitySurpassThreshold", motorVelocity > threshold); + + if (intakeTimer.hasElapsed(0.5)) { + if (motorVelocity < threshold && mode == IntakeMode.INTAKE_CUBE) { + gamePiece = HeldGamePiece.CUBE; + } else if ( (mode == IntakeMode.OUTTAKE_CUBE_FAST + || mode == IntakeMode.OUTTAKE_CUBE_SLOW + || mode == IntakeMode.YEET_CUBE)) { + gamePiece = HeldGamePiece.NOTHING; + } + } + if (mode == IntakeMode.MANUAL_INTAKE) { motor.set(TalonFXControlMode.PercentOutput, 0.5); } else if (mode == IntakeMode.MANUAL_OUTTAKE) { @@ -115,6 +128,12 @@ public void setMode(IntakeMode mode) { if (this.mode != mode && (mode == IntakeMode.INTAKE_CONE || mode == IntakeMode.INTAKE_CUBE)) { gamePiece = HeldGamePiece.NOTHING; } + + if (this.mode != mode) { + intakeTimer.reset(); + intakeTimer.start(); + } + this.mode = mode; } From 661eea74fbfbe98709a5ae6b1548471ed20f9f9d Mon Sep 17 00:00:00 2001 From: rkanemoto <73001957+rkanemoto@users.noreply.github.com> Date: Sat, 11 Nov 2023 18:08:01 -0800 Subject: [PATCH 3/5] auto changes day 1 qual matches mttd --- .pathplanner/settings.json | 6 +- .../deploy/pathplanner/BlueLongSide3.5.path | 168 +++++++++-------- .../deploy/pathplanner/BlueLongSide3.path | 10 +- .../deploy/pathplanner/RedLongSide3.5.path | 174 ++++++++++-------- src/main/deploy/pathplanner/RedLongSide3.path | 6 +- .../pathplanner/RedLongSide3Balance.path | 44 ++--- src/main/java/frc/robot/Robot.java | 2 +- src/main/java/frc/robot/autos/AutoKind.java | 10 +- .../frc/robot/autos/AutoKindWithoutTeam.java | 1 - src/main/java/frc/robot/autos/Autos.java | 3 +- .../java/frc/robot/swerve/SwerveModule.java | 1 - 11 files changed, 236 insertions(+), 189 deletions(-) diff --git a/.pathplanner/settings.json b/.pathplanner/settings.json index 064c2634..3cbcaf6d 100644 --- a/.pathplanner/settings.json +++ b/.pathplanner/settings.json @@ -1,7 +1,7 @@ { + "generateJSON": false, + "holonomicMode": true, "robotWidth": 0.825, "robotLength": 0.82, - "holonomicMode": true, - "generateJSON": false, "generateCSV": false -} \ No newline at end of file +} diff --git a/src/main/deploy/pathplanner/BlueLongSide3.5.path b/src/main/deploy/pathplanner/BlueLongSide3.5.path index a9b207ce..4bd5fab7 100644 --- a/src/main/deploy/pathplanner/BlueLongSide3.5.path +++ b/src/main/deploy/pathplanner/BlueLongSide3.5.path @@ -30,15 +30,15 @@ { "anchorPoint": { "x": 3.469999999999999, - "y": 0.62 + "y": 0.5850000000000001 }, "prevControl": { - "x": 2.903608829998719, - "y": 0.6035735699388901 + "x": 2.903501663355909, + "y": 0.5971827599278284 }, "nextControl": { - "x": 3.7255740064063705, - "y": 0.6274121362832377 + "x": 4.059579782250141, + "y": 0.5723208648978481 }, "holonomicAngle": -90, "isReversal": false, @@ -55,15 +55,15 @@ { "anchorPoint": { "x": 5.083951738359405, - "y": 0.76 + "y": 0.6274121362832377 }, "prevControl": { - "x": 4.852479299730634, - "y": 0.7248742157058787 + "x": 4.329192980871886, + "y": 0.5972217859837348 }, "nextControl": { - "x": 5.535995398170487, - "y": 0.8285973162943797 + "x": 5.540805235653023, + "y": 0.6456862761749838 }, "holonomicAngle": 0, "isReversal": false, @@ -80,15 +80,15 @@ { "anchorPoint": { "x": 6.277862211286731, - "y": 0.88 + "y": 0.75 }, "prevControl": { "x": 5.913597689444622, - "y": 0.8561431759945587 + "y": 0.7261431759945587 }, "nextControl": { "x": 6.601297907194471, - "y": 0.9011828163646773 + "y": 0.7711828163646773 }, "holonomicAngle": 0, "isReversal": false, @@ -105,15 +105,15 @@ { "anchorPoint": { "x": 6.960609848271368, - "y": 0.91 + "y": 0.75 }, "prevControl": { "x": 6.818455879443999, - "y": 0.91 + "y": 0.75 }, "nextControl": { "x": 6.818455879443999, - "y": 0.91 + "y": 0.75 }, "holonomicAngle": 0, "isReversal": true, @@ -130,17 +130,17 @@ { "anchorPoint": { "x": 5.71136387464264, - "y": 0.71 + "y": 0.44 }, "prevControl": { - "x": 6.179410138424679, - "y": 0.7097122620158964 + "x": 6.173382954202625, + "y": 0.5148716098131612 }, "nextControl": { - "x": 5.46161729612213, - "y": 0.7101535352006862 + "x": 5.373820531786473, + "y": 0.38530006534486455 }, - "holonomicAngle": -179.99, + "holonomicAngle": -180, "isReversal": false, "velOverride": null, "isLocked": false, @@ -154,18 +154,18 @@ }, { "anchorPoint": { - "x": 4.267706823194802, - "y": 0.625 + "x": 3.539999999999999, + "y": 0.398959043532123 }, "prevControl": { - "x": 5.284967277168596, - "y": 0.6165242346594101 + "x": 4.909307826334951, + "y": 0.38082251603099726 }, "nextControl": { - "x": 5.284967277168596, - "y": 0.6165242346594101 + "x": 4.909307826334951, + "y": 0.38082251603099726 }, - "holonomicAngle": -179.9, + "holonomicAngle": -180.11, "isReversal": true, "velOverride": null, "isLocked": false, @@ -179,16 +179,16 @@ }, { "anchorPoint": { - "x": 6.289999999999999, - "y": 1.58 + "x": 6.369999999999999, + "y": 1.42 }, "prevControl": { - "x": 5.668679243680673, - "y": 1.06223270306723 + "x": 5.236236237457277, + "y": 0.4142138375462151 }, "nextControl": { - "x": 6.454413726750472, - "y": 1.717011438958727 + "x": 6.530100006711745, + "y": 1.562028151436321 }, "holonomicAngle": -315, "isReversal": false, @@ -204,16 +204,16 @@ }, { "anchorPoint": { - "x": 6.909999999999998, - "y": 2.17 + "x": 6.899999999999999, + "y": 1.91 }, "prevControl": { - "x": 6.628979489273188, - "y": 1.9046725902591142 + "x": 6.618979489273189, + "y": 1.6446725902591142 }, "nextControl": { - "x": 6.628979489273188, - "y": 1.9046725902591142 + "x": 6.618979489273189, + "y": 1.6446725902591142 }, "holonomicAngle": -315, "isReversal": true, @@ -254,20 +254,20 @@ }, { "anchorPoint": { - "x": 1.6199999999999992, + "x": 1.5999999999999996, "y": 1 }, "prevControl": { - "x": 2.2210031553193783, - "y": 0.9685294142624763 + "x": 1.786150499284556, + "y": 0.9911576445701102 }, "nextControl": { - "x": 1.4338945774327847, - "y": 1.0097451179836272 + "x": 1.4138495007154432, + "y": 1.0088423554298898 }, "holonomicAngle": -180, "isReversal": false, - "velOverride": 1.7, + "velOverride": 2.7, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -279,18 +279,43 @@ }, { "anchorPoint": { - "x": 5.266693137276851, - "y": 0.8162449151646025 + "x": 4.406663101747254, + "y": 0.9430548685658775 + }, + "prevControl": { + "x": 3.3279065068685227, + "y": 0.9889594045181639 + }, + "nextControl": { + "x": 5.259079894300138, + "y": 0.9067818135636272 + }, + "holonomicAngle": -180, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 7.127142226916032, + "y": 2.430250123658143 }, "prevControl": { - "x": 2.7144049323964907, - "y": 0.7005086958502188 + "x": 7.054496385756108, + "y": 0.7254207853537065 }, "nextControl": { - "x": 5.809123407085497, - "y": 0.8408419918385028 + "x": 7.1377085543575705, + "y": 2.6782173125961926 }, - "holonomicAngle": -179.45434240658417, + "holonomicAngle": -269.5659493678605, "isReversal": false, "velOverride": null, "isLocked": false, @@ -304,18 +329,18 @@ }, { "anchorPoint": { - "x": 7.0453760867400135, - "y": 3.368533120044963 + "x": 7.101929863434195, + "y": 3.4725986804623896 }, "prevControl": { - "x": 6.229131171575412, - "y": 1.2243673727469027 + "x": 7.126295383289855, + "y": 3.063257946887304 }, "nextControl": { - "x": 7.054311506758342, - "y": 3.3920052681528134 + "x": 7.077564343578536, + "y": 3.8819394140374754 }, - "holonomicAngle": -289.476575498932, + "holonomicAngle": 90.0, "isReversal": false, "velOverride": null, "isLocked": false, @@ -329,15 +354,15 @@ }, { "anchorPoint": { - "x": 5.455525916158216, - "y": 0.7126914557780476 + "x": 5.571775216498761, + "y": 0.8771587148037525 }, "prevControl": { - "x": 6.868726067786481, - "y": 3.14315206138011 + "x": 6.324669780038649, + "y": 2.379549064420614 }, "nextControl": null, - "holonomicAngle": -289.48, + "holonomicAngle": 90.0, "isReversal": false, "velOverride": null, "isLocked": false, @@ -367,7 +392,7 @@ ] }, { - "position": 5.65, + "position": 5.85, "names": [ "yeetCone" ] @@ -385,7 +410,7 @@ ] }, { - "position": 9.15, + "position": 9.1, "names": [ "superstructureMid" ] @@ -393,18 +418,17 @@ { "position": 9.95, "names": [ - "scoreMidCube", - "stowFast" + "scoreMidCube" ] }, { - "position": 11.694545454545448, + "position": 11.818181818181712, "names": [ "intakeCone" ] }, { - "position": 12.25, + "position": 13.389090909090708, "names": [ "stowFast" ] diff --git a/src/main/deploy/pathplanner/BlueLongSide3.path b/src/main/deploy/pathplanner/BlueLongSide3.path index 11962b9b..fdf416fc 100644 --- a/src/main/deploy/pathplanner/BlueLongSide3.path +++ b/src/main/deploy/pathplanner/BlueLongSide3.path @@ -267,7 +267,7 @@ }, "holonomicAngle": -180, "isReversal": false, - "velOverride": 1.7, + "velOverride": 2.7, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -342,7 +342,7 @@ ] }, { - "position": 6.109090909090871, + "position": 5.85, "names": [ "yeetCone" ] @@ -370,12 +370,6 @@ "names": [ "scoreMidCube" ] - }, - { - "position": 11.672727272727245, - "names": [ - "intakeCone" - ] } ] } \ No newline at end of file diff --git a/src/main/deploy/pathplanner/RedLongSide3.5.path b/src/main/deploy/pathplanner/RedLongSide3.5.path index 1fef0f5a..dd993aad 100644 --- a/src/main/deploy/pathplanner/RedLongSide3.5.path +++ b/src/main/deploy/pathplanner/RedLongSide3.5.path @@ -30,15 +30,15 @@ { "anchorPoint": { "x": 13.07, - "y": 0.62 + "y": 0.5850000000000001 }, "prevControl": { - "x": 13.63639117000128, - "y": 0.6035735699388901 + "x": 13.63649833664409, + "y": 0.5971827599278284 }, "nextControl": { - "x": 12.814425993593629, - "y": 0.6274121362832377 + "x": 12.480420217749858, + "y": 0.5723208648978481 }, "holonomicAngle": -90, "isReversal": false, @@ -55,15 +55,15 @@ { "anchorPoint": { "x": 11.456048261640595, - "y": 0.76 + "y": 0.6274121362832377 }, "prevControl": { - "x": 11.687520700269365, - "y": 0.7248742157058787 + "x": 12.210807019128113, + "y": 0.5972217859837348 }, "nextControl": { - "x": 11.004004601829513, - "y": 0.8285973162943797 + "x": 10.999194764346976, + "y": 0.6456862761749838 }, "holonomicAngle": -180, "isReversal": false, @@ -80,15 +80,15 @@ { "anchorPoint": { "x": 10.262137788713268, - "y": 0.88 + "y": 0.75 }, "prevControl": { "x": 10.626402310555378, - "y": 0.8561431759945587 + "y": 0.7261431759945587 }, "nextControl": { "x": 9.938702092805528, - "y": 0.9011828163646773 + "y": 0.7711828163646773 }, "holonomicAngle": 180.0, "isReversal": false, @@ -105,15 +105,15 @@ { "anchorPoint": { "x": 9.579390151728632, - "y": 0.91 + "y": 0.75 }, "prevControl": { "x": 9.721544120556, - "y": 0.91 + "y": 0.75 }, "nextControl": { "x": 9.721544120556, - "y": 0.91 + "y": 0.75 }, "holonomicAngle": -180, "isReversal": true, @@ -130,17 +130,17 @@ { "anchorPoint": { "x": 10.82863612535736, - "y": 0.71 + "y": 0.44 }, "prevControl": { - "x": 10.020565291747815, - "y": 0.8796534245860795 + "x": 10.366617045797375, + "y": 0.5148716098131612 }, "nextControl": { - "x": 11.047925804058297, - "y": 0.6639604160667287 + "x": 11.166179468213526, + "y": 0.38530006534486455 }, - "holonomicAngle": -0.01, + "holonomicAngle": 0.0, "isReversal": false, "velOverride": null, "isLocked": false, @@ -154,18 +154,18 @@ }, { "anchorPoint": { - "x": 12.272293176805197, - "y": 0.625 + "x": 13.0, + "y": 0.398959043532123 }, "prevControl": { - "x": 11.255032722831404, - "y": 0.6165242346594101 + "x": 11.630692173665048, + "y": 0.38082251603099726 }, "nextControl": { - "x": 11.255032722831404, - "y": 0.6165242346594101 + "x": 11.630692173665048, + "y": 0.38082251603099726 }, - "holonomicAngle": -0.1, + "holonomicAngle": 0.11, "isReversal": true, "velOverride": null, "isLocked": false, @@ -179,16 +179,16 @@ }, { "anchorPoint": { - "x": 10.25, - "y": 1.58 + "x": 10.17, + "y": 1.42 }, "prevControl": { - "x": 10.871320756319326, - "y": 1.06223270306723 + "x": 11.303763762542722, + "y": 0.4142138375462151 }, "nextControl": { - "x": 10.085586273249527, - "y": 1.717011438958727 + "x": 10.009899993288254, + "y": 1.562028151436321 }, "holonomicAngle": 135.0, "isReversal": false, @@ -204,16 +204,16 @@ }, { "anchorPoint": { - "x": 9.63, - "y": 2.17 + "x": 9.64, + "y": 1.91 }, "prevControl": { - "x": 9.91102051072681, - "y": 1.9046725902591142 + "x": 9.92102051072681, + "y": 1.6446725902591142 }, "nextControl": { - "x": 9.91102051072681, - "y": 1.9046725902591142 + "x": 9.92102051072681, + "y": 1.6446725902591142 }, "holonomicAngle": 135.0, "isReversal": true, @@ -254,20 +254,20 @@ }, { "anchorPoint": { - "x": 14.92, + "x": 14.94, "y": 1.0 }, "prevControl": { - "x": 14.31899684468062, - "y": 0.9685294142624763 + "x": 14.753849500715443, + "y": 0.9911576445701102 }, "nextControl": { - "x": 15.106105422567214, - "y": 1.0097451179836272 + "x": 15.126150499284556, + "y": 1.0088423554298898 }, "holonomicAngle": 0, "isReversal": false, - "velOverride": 1.7, + "velOverride": 0.3, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -279,18 +279,18 @@ }, { "anchorPoint": { - "x": 11.273306862723148, - "y": 0.8162449151646025 + "x": 12.133336898252745, + "y": 0.9430548685658775 }, "prevControl": { - "x": 13.825595067603508, - "y": 0.7005086958502188 + "x": 13.212093493131476, + "y": 0.9889594045181639 }, "nextControl": { - "x": 10.730876592914502, - "y": 0.8408419918385028 + "x": 11.280920105699861, + "y": 0.9067818135636272 }, - "holonomicAngle": -0.5456575934158314, + "holonomicAngle": 0, "isReversal": false, "velOverride": null, "isLocked": false, @@ -304,19 +304,44 @@ }, { "anchorPoint": { - "x": 9.494623913259986, - "y": 3.368533120044963 + "x": 9.412857773083967, + "y": 2.430250123658143 }, "prevControl": { - "x": 10.310868828424587, - "y": 1.2243673727469027 + "x": 9.485503614243884, + "y": 0.7254207853537107 }, "nextControl": { - "x": 10.310868828424587, - "y": 1.2243673727469027 + "x": 9.404801144689431, + "y": 2.6193204989957524 }, - "holonomicAngle": 109.476575498932, - "isReversal": true, + "holonomicAngle": 89.56594936786054, + "isReversal": false, + "velOverride": null, + "isLocked": false, + "isStopPoint": false, + "stopEvent": { + "names": [], + "executionBehavior": "parallel", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 9.432346477424035, + "y": 3.3597223354255465 + }, + "prevControl": { + "x": 9.427473373452901, + "y": 3.00642229751848 + }, + "nextControl": { + "x": 9.43721958139517, + "y": 3.7130223733326133 + }, + "holonomicAngle": 90.0, + "isReversal": false, "velOverride": null, "isLocked": false, "isStopPoint": false, @@ -329,15 +354,15 @@ }, { "anchorPoint": { - "x": 10.706808526079058, - "y": 0.6152293763554088 + "x": 10.889549924999576, + "y": 0.5786810965688776 }, "prevControl": { - "x": 10.432696427702888, - "y": 1.157362193143839 + "x": 10.463153327525532, + "y": 1.3157380722025862 }, "nextControl": null, - "holonomicAngle": 109.48, + "holonomicAngle": 90.0, "isReversal": false, "velOverride": null, "isLocked": false, @@ -367,7 +392,7 @@ ] }, { - "position": 5.65, + "position": 5.9, "names": [ "yeetCone" ] @@ -385,7 +410,7 @@ ] }, { - "position": 9.15, + "position": 9.1, "names": [ "superstructureMid" ] @@ -393,18 +418,23 @@ { "position": 9.95, "names": [ - "scoreMidCube", + "scoreMidCube" + ] + }, + { + "position": 11.672727272727245, + "names": [ "stowFast" ] }, { - "position": 11.694545454545448, + "position": 11.7, "names": [ "intakeCone" ] }, { - "position": 12.25, + "position": 13.25, "names": [ "stowFast" ] diff --git a/src/main/deploy/pathplanner/RedLongSide3.path b/src/main/deploy/pathplanner/RedLongSide3.path index cbe97230..e1498191 100644 --- a/src/main/deploy/pathplanner/RedLongSide3.path +++ b/src/main/deploy/pathplanner/RedLongSide3.path @@ -267,7 +267,7 @@ }, "holonomicAngle": 0, "isReversal": false, - "velOverride": 1.7, + "velOverride": 0.3, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -342,7 +342,7 @@ ] }, { - "position": 6.109090909090871, + "position": 5.9, "names": [ "yeetCone" ] @@ -374,7 +374,7 @@ { "position": 11.672727272727245, "names": [ - "intakeCone" + "stowFast" ] } ] diff --git a/src/main/deploy/pathplanner/RedLongSide3Balance.path b/src/main/deploy/pathplanner/RedLongSide3Balance.path index 4dda499d..b1d2b973 100644 --- a/src/main/deploy/pathplanner/RedLongSide3Balance.path +++ b/src/main/deploy/pathplanner/RedLongSide3Balance.path @@ -130,15 +130,15 @@ { "anchorPoint": { "x": 10.82863612535736, - "y": 0.71 + "y": 0.76 }, "prevControl": { "x": 10.365847333683268, - "y": 0.7799565732030375 + "y": 0.8299565732030375 }, "nextControl": { "x": 11.133205123553106, - "y": 0.6639604160667287 + "y": 0.7139604160667288 }, "holonomicAngle": -0.01, "isReversal": false, @@ -155,15 +155,15 @@ { "anchorPoint": { "x": 12.272293176805197, - "y": 0.625 + "y": 0.68 }, "prevControl": { "x": 11.255032722831404, - "y": 0.6165242346594101 + "y": 0.6715242346594101 }, "nextControl": { "x": 11.255032722831404, - "y": 0.6165242346594101 + "y": 0.6715242346594101 }, "holonomicAngle": -0.1, "isReversal": true, @@ -179,16 +179,16 @@ }, { "anchorPoint": { - "x": 10.25, - "y": 1.58 + "x": 10.06721362986799, + "y": 1.6873122500044389 }, "prevControl": { - "x": 10.871320756319326, - "y": 1.06223270306723 + "x": 10.688534386187316, + "y": 1.1695449530716688 }, "nextControl": { - "x": 10.085586273249527, - "y": 1.717011438958727 + "x": 9.902799903117517, + "y": 1.8243236889631658 }, "holonomicAngle": 135.0, "isReversal": false, @@ -204,16 +204,16 @@ }, { "anchorPoint": { - "x": 9.63, - "y": 2.17 + "x": 9.39107045387343, + "y": 2.3451812861072527 }, "prevControl": { - "x": 9.91102051072681, - "y": 1.9046725902591142 + "x": 9.67209096460024, + "y": 2.079853876366367 }, "nextControl": { - "x": 9.91102051072681, - "y": 1.9046725902591142 + "x": 9.67209096460024, + "y": 2.079853876366367 }, "holonomicAngle": 135.0, "isReversal": true, @@ -233,12 +233,12 @@ "y": 0.8 }, "prevControl": { - "x": 10.412032785600946, - "y": 0.8582081226445775 + "x": 10.603255066692505, + "y": 0.7796966353811113 }, "nextControl": { - "x": 12.997167392511077, - "y": 0.7762449151646026 + "x": 12.997486769164524, + "y": 0.8092532532303789 }, "holonomicAngle": 0, "isReversal": false, diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index b1c2edf7..efb9c08b 100644 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -220,7 +220,7 @@ private void configureButtonBindings() { // X swerve driveController.start().onTrue(swerve.getXSwerveCommand()); - //Manual Auto Balance + // Manual Auto Balance driveController .povLeft() .onTrue(swerve.run(() -> autobalance.setEnabled(true))) diff --git a/src/main/java/frc/robot/autos/AutoKind.java b/src/main/java/frc/robot/autos/AutoKind.java index 1bff7f4f..15bca27d 100644 --- a/src/main/java/frc/robot/autos/AutoKind.java +++ b/src/main/java/frc/robot/autos/AutoKind.java @@ -9,23 +9,23 @@ public enum AutoKind { DO_NOTHING("", 0.01, 0.01, false), - //Mid 1 + // Mid 1 BLUE_MID_1_BALANCE("BlueMid1Balance", 2, 3, true), RED_MID_1_BALANCE("RedMid1Balance", 2, 3, true), - //Mid 1.5 + // Mid 1.5 BLUE_MID_BUMP_1_5_BALANCE("BlueMidBump1.5Balance", 2, 3, true), RED_MID_BUMP_1_5_BALANCE("RedMidBump1.5Balance", 2, 3, true), BLUE_MID_FLAT_1_5_BALANCE("BlueMidFlat1.5Balance", 2, 3, true), RED_MID_FLAT_1_5_BALANCE("RedMidFlat1.5Balance", 2, 3, true), - //Mid 2 + // Mid 2 BLUE_MID_FLAT_2_BALANCE("BlueMidFlat2Balance", 3, 3, true), BLUE_MID_BUMP_2_BALANCE("BlueMidBump2Balance", 3, 3, true), RED_MID_BUMP_2_BALANCE("RedMidBump2Balance", 3, 3, true), RED_MID_FLAT_2_BALANCE("RedMidFlat2Balance", 3, 3, true), - //3s + // 3s BLUE_SHORT_SIDE_3("BlueShortSide3", 4.5, 4, false), BLUE_SHORT_SIDE_3_YEET("BlueShortSide3Yeet", 4, 4, false), BLUE_LONG_SIDE_3("BlueLongSide3", 4, 4, false), @@ -33,7 +33,7 @@ public enum AutoKind { RED_SHORT_SIDE_3_YEET("RedShortSide3Yeet", 4, 4, false), RED_LONG_SIDE_3("RedLongSide3", 4, 4, false), - //3 extras + // 3 extras RED_LONG_SIDE_3_BALANCE("RedLongSide3Balance", 4, 4, true), BLUE_LONG_SIDE_3_BALANCE("BlueLongSide3Balance", 4, 4, true), RED_LONG_SIDE_3_5("RedLongSide3.5", 4, 4, false), diff --git a/src/main/java/frc/robot/autos/AutoKindWithoutTeam.java b/src/main/java/frc/robot/autos/AutoKindWithoutTeam.java index 84a0d97e..ffb5efb1 100644 --- a/src/main/java/frc/robot/autos/AutoKindWithoutTeam.java +++ b/src/main/java/frc/robot/autos/AutoKindWithoutTeam.java @@ -7,7 +7,6 @@ public enum AutoKindWithoutTeam { DO_NOTHING(AutoKind.DO_NOTHING, AutoKind.DO_NOTHING), - MID_1_BALANCE(AutoKind.RED_MID_1_BALANCE, AutoKind.BLUE_MID_1_BALANCE), MID_BUMP_1_5_BALANCE(AutoKind.RED_MID_BUMP_1_5_BALANCE, AutoKind.BLUE_MID_BUMP_1_5_BALANCE), MID_FLAT_1_5_BALANCE(AutoKind.RED_MID_FLAT_1_5_BALANCE, AutoKind.BLUE_MID_FLAT_1_5_BALANCE), diff --git a/src/main/java/frc/robot/autos/Autos.java b/src/main/java/frc/robot/autos/Autos.java index b860fb1c..f803fc86 100644 --- a/src/main/java/frc/robot/autos/Autos.java +++ b/src/main/java/frc/robot/autos/Autos.java @@ -175,7 +175,8 @@ public Autos( superstructure .getCommand(States.YEET_CONE_MID) .withTimeout(0.5) - .andThen(Commands.runOnce(() -> intake.setGamePiece(HeldGamePiece.NOTHING))).andThen(Commands.runOnce(() -> superstructure.set(States.STOWED)))), + .andThen(Commands.runOnce(() -> intake.setGamePiece(HeldGamePiece.NOTHING))) + .andThen(Commands.runOnce(() -> superstructure.set(States.STOWED)))), Map.entry("superstructureLow", superstructure.getManualScoreCommand(NodeHeight.LOW)), Map.entry("superstructureMid", superstructure.getManualScoreCommand(NodeHeight.MID)), Map.entry("superstructureHigh", superstructure.getManualScoreCommand(NodeHeight.HIGH)), diff --git a/src/main/java/frc/robot/swerve/SwerveModule.java b/src/main/java/frc/robot/swerve/SwerveModule.java index 6dbf614b..f9834457 100644 --- a/src/main/java/frc/robot/swerve/SwerveModule.java +++ b/src/main/java/frc/robot/swerve/SwerveModule.java @@ -131,7 +131,6 @@ public void log() { .recordOutput( "Swerve/" + constants.corner.toString() + "/SteerMotorPosition", getSteerMotorPosition().getDegrees()); - } public void setDesiredState( From f16a15d8d8e3035d8a14f1c2f7fa5ab5d9fc9649 Mon Sep 17 00:00:00 2001 From: rkanemoto <73001957+rkanemoto@users.noreply.github.com> Date: Sat, 11 Nov 2023 18:13:09 -0800 Subject: [PATCH 4/5] change to old calgames 3 bump autos --- .../deploy/pathplanner/BlueLongSide3.path | 245 ++++++++++-------- src/main/deploy/pathplanner/RedLongSide3.path | 235 +++++++++-------- 2 files changed, 266 insertions(+), 214 deletions(-) diff --git a/src/main/deploy/pathplanner/BlueLongSide3.path b/src/main/deploy/pathplanner/BlueLongSide3.path index fdf416fc..9f027d62 100644 --- a/src/main/deploy/pathplanner/BlueLongSide3.path +++ b/src/main/deploy/pathplanner/BlueLongSide3.path @@ -2,15 +2,15 @@ "waypoints": [ { "anchorPoint": { - "x": 1.8317892776136429, + "x": 1.831789277613643, "y": 1.4100000000000001 }, "prevControl": null, "nextControl": { - "x": 2.194006746609981, - "y": 0.5259147360399987 + "x": 2.233698996273372, + "y": 0.19183331154696143 }, - "holonomicAngle": -180, + "holonomicAngle": 180.0, "isReversal": false, "velOverride": null, "isLocked": false, @@ -29,18 +29,18 @@ }, { "anchorPoint": { - "x": 3.469999999999999, - "y": 0.5850000000000001 + "x": 3.4702491289481054, + "y": 0.5 }, "prevControl": { - "x": 2.903501663355909, - "y": 0.5971827599278284 + "x": 2.903750792304015, + "y": 0.5121827599278289 }, "nextControl": { - "x": 4.059579782250141, - "y": 0.5723208648978481 + "x": 4.059828911198247, + "y": 0.48732086489784743 }, - "holonomicAngle": -90, + "holonomicAngle": -90.0, "isReversal": false, "velOverride": null, "isLocked": false, @@ -54,16 +54,16 @@ }, { "anchorPoint": { - "x": 5.083951738359405, - "y": 0.6274121362832377 + "x": 5.322028637978248, + "y": 0.4142138375462151 }, "prevControl": { - "x": 4.329192980871886, - "y": 0.5972217859837348 + "x": 4.768864549193931, + "y": 0.40514557379565275 }, "nextControl": { - "x": 5.540805235653023, - "y": 0.6456862761749838 + "x": 5.875192726762566, + "y": 0.42328210129677735 }, "holonomicAngle": 0, "isReversal": false, @@ -79,20 +79,20 @@ }, { "anchorPoint": { - "x": 6.277862211286731, - "y": 0.75 + "x": 6.972792608199198, + "y": 0.41 }, "prevControl": { - "x": 5.913597689444622, - "y": 0.7261431759945587 + "x": 6.76422254193626, + "y": 0.3918634724988754 }, "nextControl": { - "x": 6.601297907194471, - "y": 0.7711828163646773 + "x": 6.76422254193626, + "y": 0.3918634724988754 }, "holonomicAngle": 0, - "isReversal": false, - "velOverride": 1.7, + "isReversal": true, + "velOverride": null, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -104,19 +104,19 @@ }, { "anchorPoint": { - "x": 6.960609848271368, - "y": 0.75 + "x": 5.839961855362307, + "y": 0.36 }, "prevControl": { - "x": 6.818455879443999, - "y": 0.75 + "x": 6.07752567395499, + "y": 0.36 }, "nextControl": { - "x": 6.818455879443999, - "y": 0.75 + "x": 5.535331949457081, + "y": 0.36 }, "holonomicAngle": 0, - "isReversal": true, + "isReversal": false, "velOverride": null, "isLocked": false, "isStopPoint": false, @@ -129,18 +129,18 @@ }, { "anchorPoint": { - "x": 5.71136387464264, - "y": 0.44 + "x": 3.8358755664879753, + "y": 0.36 }, "prevControl": { - "x": 6.173382954202625, - "y": 0.5148716098131612 + "x": 4.552268402782431, + "y": 0.36 }, "nextControl": { - "x": 5.373820531786473, - "y": 0.38530006534486455 + "x": 3.1194827301935306, + "y": 0.36 }, - "holonomicAngle": -180, + "holonomicAngle": -179.99, "isReversal": false, "velOverride": null, "isLocked": false, @@ -154,21 +154,49 @@ }, { "anchorPoint": { - "x": 3.539999999999999, - "y": 0.398959043532123 + "x": 1.77, + "y": 0.75 }, "prevControl": { - "x": 4.909307826334951, - "y": 0.38082251603099726 + "x": 2.4314931322170357, + "y": 0.34685723217600417 }, "nextControl": { - "x": 4.909307826334951, - "y": 0.38082251603099726 + "x": 2.4314931322170357, + "y": 0.34685723217600417 }, - "holonomicAngle": -180.11, + "holonomicAngle": 180.0, "isReversal": true, "velOverride": null, "isLocked": false, + "isStopPoint": true, + "stopEvent": { + "names": [ + "scoreMid", + "stowFast" + ], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 3.7633294564834747, + "y": 0.6 + }, + "prevControl": { + "x": 3.001593519117989, + "y": 0.563764393054816 + }, + "nextControl": { + "x": 4.542332002597135, + "y": 0.6370569756337076 + }, + "holonomicAngle": -179.3969088056195, + "isReversal": false, + "velOverride": null, + "isLocked": false, "isStopPoint": false, "stopEvent": { "names": [], @@ -179,20 +207,20 @@ }, { "anchorPoint": { - "x": 6.369999999999999, - "y": 1.42 + "x": 5.967714914153232, + "y": 0.9197983745511563 }, "prevControl": { - "x": 5.236236237457277, - "y": 0.4142138375462151 + "x": 5.2897078893498435, + "y": 0.6909068383136953 }, "nextControl": { - "x": 6.530100006711745, - "y": 1.562028151436321 + "x": 6.439621148473067, + "y": 1.0791113889920099 }, - "holonomicAngle": -315, + "holonomicAngle": 53.71, "isReversal": false, - "velOverride": null, + "velOverride": 1.1, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -204,20 +232,20 @@ }, { "anchorPoint": { - "x": 6.899999999999999, - "y": 1.91 + "x": 6.6612243801410695, + "y": 1.2332701588480108 }, "prevControl": { - "x": 6.618979489273189, - "y": 1.6446725902591142 + "x": 6.526727019028951, + "y": 1.1298106503002279 }, "nextControl": { - "x": 6.618979489273189, - "y": 1.6446725902591142 + "x": 6.78647838064907, + "y": 1.3296193900080107 }, - "holonomicAngle": -315, - "isReversal": true, - "velOverride": null, + "holonomicAngle": 53.71, + "isReversal": false, + "velOverride": 0.5, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -229,19 +257,19 @@ }, { "anchorPoint": { - "x": 4.292072343050462, - "y": 0.8 + "x": 7.21, + "y": 1.8 }, "prevControl": { - "x": 6.127967214399053, - "y": 0.8582081226445775 + "x": 6.844517202165104, + "y": 1.41624306227336 }, "nextControl": { - "x": 3.542832607488922, - "y": 0.7762449151646026 + "x": 6.844517202165104, + "y": 1.41624306227336 }, - "holonomicAngle": -180, - "isReversal": false, + "holonomicAngle": 53.70737027152051, + "isReversal": true, "velOverride": null, "isLocked": false, "isStopPoint": false, @@ -254,47 +282,47 @@ }, { "anchorPoint": { - "x": 1.5999999999999996, - "y": 1 + "x": 4.298676804040538, + "y": 0.9137069945872413 }, "prevControl": { - "x": 1.786150499284556, - "y": 0.9911576445701102 + "x": 5.8234011578787, + "y": 0.9799993577975943 }, "nextControl": { - "x": 1.4138495007154432, - "y": 1.0088423554298898 + "x": 4.090106737777598, + "y": 0.9046387308366789 }, - "holonomicAngle": -180, + "holonomicAngle": 180.0, "isReversal": false, - "velOverride": 2.7, + "velOverride": null, "isLocked": false, "isStopPoint": false, "stopEvent": { "names": [], - "executionBehavior": "sequential", + "executionBehavior": "parallel", "waitBehavior": "none", "waitTime": 0 } }, { "anchorPoint": { - "x": 4.406663101747254, - "y": 0.9430548685658775 + "x": 1.8986730982580502, + "y": 0.9319811344789851 }, "prevControl": { - "x": 3.3279065068685227, - "y": 0.9889594045181639 + "x": 3.4824318888759356, + "y": 0.8710673348398363 }, "nextControl": { - "x": 5.259079894300138, - "y": 0.9067818135636272 + "x": 3.4824318888759356, + "y": 0.8710673348398363 }, - "holonomicAngle": -180, - "isReversal": false, + "holonomicAngle": 180.0, + "isReversal": true, "velOverride": null, "isLocked": false, - "isStopPoint": false, + "isStopPoint": true, "stopEvent": { "names": [], "executionBehavior": "parallel", @@ -304,15 +332,15 @@ }, { "anchorPoint": { - "x": 7.127142226916032, - "y": 2.430250123658143 + "x": 5.10273895927731, + "y": 0.8588845749120063 }, "prevControl": { - "x": 7.054596116911531, - "y": 0.7254165385523761 + "x": 3.951468146097385, + "y": 0.8406104350202601 }, "nextControl": null, - "holonomicAngle": -269.5659493678605, + "holonomicAngle": 180.0, "isReversal": false, "velOverride": null, "isLocked": false, @@ -325,50 +353,51 @@ } } ], - "maxVelocity": 4, - "maxAcceleration": 4, + "maxVelocity": 4.0, + "maxAcceleration": 4.0, "isReversed": null, "markers": [ { - "position": 6.35, + "position": 1.5, "names": [ "intakeCube" ] }, { - "position": 4.272727272727248, + "position": 7.727272727272723, "names": [ - "stowFast" + "intakeCone" ] }, { - "position": 5.85, + "position": 3.2727272727272476, "names": [ - "yeetCone" + "stowFast" ] }, { - "position": 8.2, + "position": 10.11999999999987, "names": [ "stowFast" ] }, { - "position": 1.35, + "position": 4.85, "names": [ - "intakeCone" + "superstructureMid" ] }, { - "position": 9.1, + "position": 11.8, "names": [ - "superstructureMid" + "scoreLow", + "stowFast" ] }, { - "position": 9.95, + "position": 12.1, "names": [ - "scoreMidCube" + "stowFast" ] } ] diff --git a/src/main/deploy/pathplanner/RedLongSide3.path b/src/main/deploy/pathplanner/RedLongSide3.path index e1498191..441d7215 100644 --- a/src/main/deploy/pathplanner/RedLongSide3.path +++ b/src/main/deploy/pathplanner/RedLongSide3.path @@ -7,8 +7,8 @@ }, "prevControl": null, "nextControl": { - "x": 14.345993253390018, - "y": 0.5259147360399987 + "x": 14.306301003726627, + "y": 0.19183331154696148 }, "holonomicAngle": 0, "isReversal": false, @@ -29,16 +29,16 @@ }, { "anchorPoint": { - "x": 13.07, - "y": 0.5850000000000001 + "x": 13.069750871051895, + "y": 0.6363999999999992 }, "prevControl": { - "x": 13.63649833664409, - "y": 0.5971827599278284 + "x": 13.636249207695984, + "y": 0.6485827599278275 }, "nextControl": { - "x": 12.480420217749858, - "y": 0.5723208648978481 + "x": 12.480171088801752, + "y": 0.6237208648978472 }, "holonomicAngle": -90, "isReversal": false, @@ -54,16 +54,16 @@ }, { "anchorPoint": { - "x": 11.456048261640595, - "y": 0.6274121362832377 + "x": 11.21797136202175, + "y": 0.5563999999999991 }, "prevControl": { - "x": 12.210807019128113, - "y": 0.5972217859837348 + "x": 11.771135450806067, + "y": 0.5473317362494363 }, "nextControl": { - "x": 10.999194764346976, - "y": 0.6456862761749838 + "x": 10.664807273237432, + "y": 0.565468263750561 }, "holonomicAngle": -180, "isReversal": false, @@ -79,20 +79,20 @@ }, { "anchorPoint": { - "x": 10.262137788713268, - "y": 0.75 + "x": 9.579390151728632, + "y": 0.7107581082906842 }, "prevControl": { - "x": 10.626402310555378, - "y": 0.7261431759945587 + "x": 9.787960217991568, + "y": 0.6926215807895595 }, "nextControl": { - "x": 9.938702092805528, - "y": 0.7711828163646773 + "x": 9.787960217991568, + "y": 0.6926215807895595 }, - "holonomicAngle": 180.0, - "isReversal": false, - "velOverride": 1.7, + "holonomicAngle": -180, + "isReversal": true, + "velOverride": null, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -104,19 +104,19 @@ }, { "anchorPoint": { - "x": 9.579390151728632, - "y": 0.75 + "x": 10.706295445052895, + "y": 0.37573221027536263 }, "prevControl": { - "x": 9.721544120556, - "y": 0.75 + "x": 10.468731626460212, + "y": 0.37573221027536263 }, "nextControl": { - "x": 9.721544120556, - "y": 0.75 + "x": 11.010925350958122, + "y": 0.37573221027536263 }, "holonomicAngle": -180, - "isReversal": true, + "isReversal": false, "velOverride": null, "isLocked": false, "isStopPoint": false, @@ -129,18 +129,18 @@ }, { "anchorPoint": { - "x": 10.82863612535736, - "y": 0.44 + "x": 12.631171513650017, + "y": 0.37573221027536263 }, "prevControl": { - "x": 10.366617045797375, - "y": 0.5148716098131612 + "x": 11.915121057723294, + "y": 0.35358631988587685 }, "nextControl": { - "x": 11.166179468213526, - "y": 0.38530006534486455 + "x": 13.812899226649517, + "y": 0.41228049005885214 }, - "holonomicAngle": 0.0, + "holonomicAngle": -2, "isReversal": false, "velOverride": null, "isLocked": false, @@ -154,21 +154,49 @@ }, { "anchorPoint": { - "x": 13.0, - "y": 0.398959043532123 + "x": 14.708332081345013, + "y": 0.9013999999999998 }, "prevControl": { - "x": 11.630692173665048, - "y": 0.38082251603099726 + "x": 14.239295824123563, + "y": 0.6821103212990627 }, "nextControl": { - "x": 11.630692173665048, - "y": 0.38082251603099726 + "x": 14.239295824123563, + "y": 0.6821103212990627 }, - "holonomicAngle": 0.11, + "holonomicAngle": 0, "isReversal": true, "velOverride": null, "isLocked": false, + "isStopPoint": true, + "stopEvent": { + "names": [ + "scoreMid", + "stowFast" + ], + "executionBehavior": "sequential", + "waitBehavior": "none", + "waitTime": 0 + } + }, + { + "anchorPoint": { + "x": 12.710359453180912, + "y": 0.4610115297701718 + }, + "prevControl": { + "x": 13.995640625566965, + "y": 0.4549201498062567 + }, + "nextControl": { + "x": 11.93048476759094, + "y": 0.4647076183274699 + }, + "holonomicAngle": -0.6030911943805108, + "isReversal": false, + "velOverride": null, + "isLocked": false, "isStopPoint": false, "stopEvent": { "names": [], @@ -179,20 +207,20 @@ }, { "anchorPoint": { - "x": 10.17, - "y": 1.42 + "x": 10.675838545233322, + "y": 0.9665960667751126 }, "prevControl": { - "x": 11.303763762542722, - "y": 0.4142138375462151 + "x": 11.418989030631842, + "y": 0.7351304660389744 }, "nextControl": { - "x": 10.009899993288254, - "y": 1.562028151436321 + "x": 10.469925478710824, + "y": 1.0307308450986328 }, - "holonomicAngle": 135.0, + "holonomicAngle": -240, "isReversal": false, - "velOverride": null, + "velOverride": 1.1, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -204,20 +232,20 @@ }, { "anchorPoint": { - "x": 9.64, - "y": 1.91 + "x": 10.052717316973096, + "y": 1.5319527754440134 }, "prevControl": { - "x": 9.92102051072681, - "y": 1.6446725902591142 + "x": 10.274320548641098, + "y": 1.3103495437760126 }, "nextControl": { - "x": 9.92102051072681, - "y": 1.6446725902591142 + "x": 9.899340288529222, + "y": 1.6853298038878854 }, - "holonomicAngle": 135.0, - "isReversal": true, - "velOverride": null, + "holonomicAngle": -230.565, + "isReversal": false, + "velOverride": 0.5, "isLocked": false, "isStopPoint": false, "stopEvent": { @@ -229,19 +257,19 @@ }, { "anchorPoint": { - "x": 12.247927656949537, - "y": 0.8 + "x": 9.58, + "y": 2.1 }, "prevControl": { - "x": 10.412032785600946, - "y": 0.8582081226445775 + "x": 9.811844239073094, + "y": 1.7728258533440158 }, "nextControl": { - "x": 12.997167392511077, - "y": 0.7762449151646026 + "x": 9.811844239073094, + "y": 1.7728258533440158 }, - "holonomicAngle": 0, - "isReversal": false, + "holonomicAngle": -233.70737027152052, + "isReversal": true, "velOverride": null, "isLocked": false, "isStopPoint": false, @@ -254,47 +282,47 @@ }, { "anchorPoint": { - "x": 14.94, - "y": 1.0 + "x": 12.241323195959462, + "y": 0.9137069945872414 }, "prevControl": { - "x": 14.753849500715443, - "y": 0.9911576445701102 + "x": 10.751831465065349, + "y": 1.24626287892141 }, "nextControl": { - "x": 15.126150499284556, - "y": 1.0088423554298898 + "x": 12.795638772675721, + "y": 0.7899460478215792 }, "holonomicAngle": 0, "isReversal": false, - "velOverride": 0.3, + "velOverride": null, "isLocked": false, "isStopPoint": false, "stopEvent": { "names": [], - "executionBehavior": "sequential", + "executionBehavior": "parallel", "waitBehavior": "none", "waitTime": 0 } }, { "anchorPoint": { - "x": 12.133336898252745, - "y": 0.9430548685658775 + "x": 14.690057941453269, + "y": 0.6011132689402157 }, "prevControl": { - "x": 13.212093493131476, - "y": 0.9889594045181639 + "x": 13.118481910763213, + "y": 0.6803012084711098 }, "nextControl": { - "x": 11.280920105699861, - "y": 0.9067818135636272 + "x": 13.118481910763213, + "y": 0.6803012084711098 }, "holonomicAngle": 0, - "isReversal": false, + "isReversal": true, "velOverride": null, "isLocked": false, - "isStopPoint": false, + "isStopPoint": true, "stopEvent": { "names": [], "executionBehavior": "parallel", @@ -304,15 +332,15 @@ }, { "anchorPoint": { - "x": 9.412857773083967, - "y": 2.430250123658143 + "x": 11.42507828079486, + "y": 0.777763287893749 }, "prevControl": { - "x": 9.485403883088468, - "y": 0.7254165385523761 + "x": 12.576349093974784, + "y": 0.759489148002003 }, "nextControl": null, - "holonomicAngle": 89.56594936786054, + "holonomicAngle": 0, "isReversal": false, "velOverride": null, "isLocked": false, @@ -330,49 +358,44 @@ "isReversed": null, "markers": [ { - "position": 6.35, + "position": 1.5, "names": [ "intakeCube" ] }, { - "position": 4.272727272727248, + "position": 7.727272727272723, "names": [ - "stowFast" - ] - }, - { - "position": 5.9, - "names": [ - "yeetCone" + "intakeCone" ] }, { - "position": 8.2, + "position": 3.2727272727272476, "names": [ "stowFast" ] }, { - "position": 1.35, + "position": 10.11999999999987, "names": [ - "intakeCone" + "stowFast" ] }, { - "position": 9.1, + "position": 4.85, "names": [ "superstructureMid" ] }, { - "position": 9.95, + "position": 11.8, "names": [ - "scoreMidCube" + "scoreLow", + "stowFast" ] }, { - "position": 11.672727272727245, + "position": 12.1, "names": [ "stowFast" ] From 0e77506e09ec066b3eb80c48285188f6c9156e1d Mon Sep 17 00:00:00 2001 From: rkanemoto <73001957+rkanemoto@users.noreply.github.com> Date: Mon, 13 Nov 2023 16:08:25 -0800 Subject: [PATCH 5/5] 3 flat mttd auto changes --- .../deploy/pathplanner/BlueShortSide3.path | 70 +++++++++---------- .../deploy/pathplanner/RedShortSide3.path | 48 ++++++------- 2 files changed, 59 insertions(+), 59 deletions(-) diff --git a/src/main/deploy/pathplanner/BlueShortSide3.path b/src/main/deploy/pathplanner/BlueShortSide3.path index d330f5bb..ca4a1563 100644 --- a/src/main/deploy/pathplanner/BlueShortSide3.path +++ b/src/main/deploy/pathplanner/BlueShortSide3.path @@ -105,15 +105,15 @@ { "anchorPoint": { "x": 5.833704554947103, - "y": 5.110667789724637 + "y": 5.16 }, "prevControl": { "x": 6.0712683735397865, - "y": 5.110667789724637 + "y": 5.16 }, "nextControl": { "x": 5.529074649041878, - "y": 5.110667789724637 + "y": 5.16 }, "holonomicAngle": 0, "isReversal": false, @@ -130,15 +130,15 @@ { "anchorPoint": { "x": 3.908828486349982, - "y": 5.110667789724637 + "y": 5.16 }, "prevControl": { "x": 4.6248789422767045, - "y": 5.132813680114123 + "y": 5.182145890389486 }, "nextControl": { "x": 2.7271007733504824, - "y": 5.074119509941148 + "y": 5.123451720216511 }, "holonomicAngle": 178, "isReversal": false, @@ -155,15 +155,15 @@ { "anchorPoint": { "x": 1.8316679186549858, - "y": 4.585 + "y": 4.605 }, "prevControl": { "x": 2.3007041758764366, - "y": 4.804289678700937 + "y": 4.8242896787009375 }, "nextControl": { "x": 2.3007041758764366, - "y": 4.804289678700937 + "y": 4.8242896787009375 }, "holonomicAngle": -180, "isReversal": true, @@ -183,15 +183,15 @@ { "anchorPoint": { "x": 3.8296405468190873, - "y": 5.025388470229828 + "y": 5.08 }, "prevControl": { "x": 2.544359374433034, - "y": 5.031479850193743 + "y": 5.086091379963915 }, "nextControl": { "x": 4.60951523240906, - "y": 5.02169238167253 + "y": 5.076303911442702 }, "holonomicAngle": 179.3969088056195, "isReversal": false, @@ -207,16 +207,16 @@ }, { "anchorPoint": { - "x": 5.864161454766678, - "y": 4.519803933224887 + "x": 5.86, + "y": 4.539999999999999 }, "prevControl": { - "x": 5.004017604189056, - "y": 5.039064789668042 + "x": 4.999856149422379, + "y": 5.059260856443154 }, "nextControl": { - "x": 6.231973331721988, - "y": 4.297759318118332 + "x": 6.22781187695531, + "y": 4.317955384893444 }, "holonomicAngle": -60, "isReversal": false, @@ -232,15 +232,15 @@ }, { "anchorPoint": { - "x": 6.535970379633067, + "x": 6.62, "y": 4.065937554952034 }, "prevControl": { - "x": 6.381811609777068, + "x": 6.465841230144001, "y": 4.191191555460034 }, "nextControl": { - "x": 6.704315617210584, + "x": 6.788345237577517, "y": 3.9291570494203 }, "holonomicAngle": -50.565, @@ -257,15 +257,15 @@ }, { "anchorPoint": { - "x": 7.16, + "x": 7.24, "y": 3.3800000000000003 }, "prevControl": { - "x": 6.834652996229071, + "x": 6.914652996229071, "y": 3.8154295539360312 }, "nextControl": { - "x": 6.834652996229071, + "x": 6.914652996229071, "y": 3.8154295539360312 }, "holonomicAngle": -53.70737027152051, @@ -282,16 +282,16 @@ }, { "anchorPoint": { - "x": 4.298676804040538, - "y": 4.572693005412758 + "x": 4.300000000000001, + "y": 4.7700000000000005 }, "prevControl": { - "x": 6.659525459255274, - "y": 4.219117977012586 + "x": 6.660848655214737, + "y": 4.416424971599828 }, "nextControl": { - "x": 3.693668060413046, - "y": 4.663302788144039 + "x": 3.694991256372509, + "y": 4.860609782731281 }, "holonomicAngle": -180, "isReversal": false, @@ -308,15 +308,15 @@ { "anchorPoint": { "x": 1.84994205854673, - "y": 4.885286731059784 + "y": 5.09 }, "prevControl": { "x": 3.4215180892367862, - "y": 4.80609879152889 + "y": 5.010812060469106 }, "nextControl": { "x": 3.4215180892367862, - "y": 4.80609879152889 + "y": 5.010812060469106 }, "holonomicAngle": -180, "isReversal": true, @@ -333,11 +333,11 @@ { "anchorPoint": { "x": 5.11492171920514, - "y": 4.708636712106251 + "y": 4.982748810482423 }, "prevControl": { "x": 3.963650906025215, - "y": 4.726910851997997 + "y": 5.001022950374169 }, "nextControl": null, "holonomicAngle": -180, diff --git a/src/main/deploy/pathplanner/RedShortSide3.path b/src/main/deploy/pathplanner/RedShortSide3.path index 2f56ff56..66492e17 100644 --- a/src/main/deploy/pathplanner/RedShortSide3.path +++ b/src/main/deploy/pathplanner/RedShortSide3.path @@ -105,15 +105,15 @@ { "anchorPoint": { "x": 10.816453365429526, - "y": 5.025388470229828 + "y": 5.13 }, "prevControl": { "x": 10.578889546836843, - "y": 5.025388470229828 + "y": 5.13 }, "nextControl": { "x": 11.121083271334752, - "y": 5.025388470229828 + "y": 5.13 }, "holonomicAngle": -180, "isReversal": false, @@ -130,15 +130,15 @@ { "anchorPoint": { "x": 12.704124433512025, - "y": 5.086399999999999 + "y": 5.1899999999999995 }, "prevControl": { "x": 11.987731597217568, - "y": 5.086399999999999 + "y": 5.1899999999999995 }, "nextControl": { "x": 13.420517269806469, - "y": 5.086399999999999 + "y": 5.1899999999999995 }, "holonomicAngle": -358, "isReversal": false, @@ -155,15 +155,15 @@ { "anchorPoint": { "x": 14.77, - "y": 4.9364 + "y": 5.04 }, "prevControl": { "x": 14.099948203969356, - "y": 4.941982684113696 + "y": 5.045582684113696 }, "nextControl": { "x": 14.099948203969356, - "y": 4.941982684113696 + "y": 5.045582684113696 }, "holonomicAngle": 0, "isReversal": true, @@ -207,15 +207,15 @@ }, { "anchorPoint": { - "x": 10.572285085846767, + "x": 10.47, "y": 4.566601625448843 }, "prevControl": { - "x": 11.235050743748445, + "x": 11.132765657901679, "y": 4.836465561072055 }, "nextControl": { - "x": 10.3128602411051, + "x": 10.210575155258333, "y": 4.460969402708037 }, "holonomicAngle": -126.29, @@ -232,15 +232,15 @@ }, { "anchorPoint": { - "x": 9.94, + "x": 9.86, "y": 4.11 }, "prevControl": { - "x": 10.145415779293097, + "x": 10.065415779293097, "y": 4.303159864012036 }, "nextControl": { - "x": 9.766933455957975, + "x": 9.686933455957975, "y": 3.947259288321315 }, "holonomicAngle": -126.29, @@ -257,15 +257,15 @@ }, { "anchorPoint": { - "x": 9.33, + "x": 9.16, "y": 3.33 }, "prevControl": { - "x": 9.695482797834895, + "x": 9.525482797834895, "y": 3.71375693772664 }, "nextControl": { - "x": 9.695482797834895, + "x": 9.525482797834895, "y": 3.71375693772664 }, "holonomicAngle": -126.29262972847948, @@ -283,15 +283,15 @@ { "anchorPoint": { "x": 12.241323195959462, - "y": 4.572693005412758 + "y": 4.67 }, "prevControl": { "x": 10.7165988421213, - "y": 4.506400642202405 + "y": 4.603707636789647 }, "nextControl": { "x": 12.449893262222401, - "y": 4.581761269163321 + "y": 4.679068263750563 }, "holonomicAngle": 0, "isReversal": false, @@ -308,15 +308,15 @@ { "anchorPoint": { "x": 14.641326901741948, - "y": 4.554418865521015 + "y": 4.7 }, "prevControl": { "x": 13.057568111124063, - "y": 4.615332665160164 + "y": 4.760913799639149 }, "nextControl": { "x": 13.057568111124063, - "y": 4.615332665160164 + "y": 4.760913799639149 }, "holonomicAngle": 0, "isReversal": true,