diff --git a/src/main/deploy/pathplanner/autos/Depot-Climb.auto b/src/main/deploy/pathplanner/autos/Depot-Climb.auto new file mode 100644 index 0000000..a4efee2 --- /dev/null +++ b/src/main/deploy/pathplanner/autos/Depot-Climb.auto @@ -0,0 +1,76 @@ +{ + "version": "2025.0", + "command": { + "type": "sequential", + "data": { + "commands": [ + { + "type": "deadline", + "data": { + "commands": [ + { + "type": "path", + "data": { + "pathName": "Alliance-DepotD" + } + }, + { + "type": "named", + "data": { + "name": "Shooter.shoot" + } + } + ] + } + }, + { + "type": "deadline", + "data": { + "commands": [ + { + "type": "path", + "data": { + "pathName": "DepotD-DepotU" + } + }, + { + "type": "named", + "data": { + "name": "Intake.intake" + } + } + ] + } + }, + { + "type": "deadline", + "data": { + "commands": [ + { + "type": "path", + "data": { + "pathName": "DepotU-Climb" + } + }, + { + "type": "named", + "data": { + "name": "Shooter.shoot" + } + } + ] + } + }, + { + "type": "named", + "data": { + "name": "Climber.climb" + } + } + ] + } + }, + "resetOdom": true, + "folder": null, + "choreoAuto": false +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/autos/Depot-Trench-Neutral-Bump.auto b/src/main/deploy/pathplanner/autos/Depot-Trench-Neutral-Bump.auto new file mode 100644 index 0000000..994150d --- /dev/null +++ b/src/main/deploy/pathplanner/autos/Depot-Trench-Neutral-Bump.auto @@ -0,0 +1,100 @@ +{ + "version": "2025.0", + "command": { + "type": "sequential", + "data": { + "commands": [ + { + "type": "named", + "data": { + "name": "Shooter.shoot" + } + }, + { + "type": "path", + "data": { + "pathName": "Alliance-DepotD" + } + }, + { + "type": "deadline", + "data": { + "commands": [ + { + "type": "path", + "data": { + "pathName": "DepotD-DepotU" + } + }, + { + "type": "named", + "data": { + "name": "Intake.intake" + } + } + ] + } + }, + { + "type": "deadline", + "data": { + "commands": [ + { + "type": "path", + "data": { + "pathName": "DepotU-TrenchUL" + } + }, + { + "type": "named", + "data": { + "name": "Shooter.shoot" + } + } + ] + } + }, + { + "type": "path", + "data": { + "pathName": "TrenchUL-NeutralU" + } + }, + { + "type": "deadline", + "data": { + "commands": [ + { + "type": "path", + "data": { + "pathName": "NeutralU-NeutralMU" + } + }, + { + "type": "named", + "data": { + "name": "Intake.intake" + } + } + ] + } + }, + { + "type": "path", + "data": { + "pathName": "NeutralMU-BumpL" + } + }, + { + "type": "named", + "data": { + "name": "Shooter.shoot" + } + } + ] + } + }, + "resetOdom": true, + "folder": null, + "choreoAuto": false +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/autos/Outpost-Climb.auto b/src/main/deploy/pathplanner/autos/Outpost-Climb.auto new file mode 100644 index 0000000..b8b6010 --- /dev/null +++ b/src/main/deploy/pathplanner/autos/Outpost-Climb.auto @@ -0,0 +1,56 @@ +{ + "version": "2025.0", + "command": { + "type": "sequential", + "data": { + "commands": [ + { + "type": "deadline", + "data": { + "commands": [ + { + "type": "named", + "data": { + "name": "Shooter.shoot" + } + }, + { + "type": "path", + "data": { + "pathName": "Alliance-Outpost" + } + } + ] + } + }, + { + "type": "path", + "data": { + "pathName": "Outpost-Climb" + } + }, + { + "type": "wait", + "data": { + "waitTime": 2.0 + } + }, + { + "type": "named", + "data": { + "name": "Shooter.shoot" + } + }, + { + "type": "named", + "data": { + "name": "Climber.climb" + } + } + ] + } + }, + "resetOdom": true, + "folder": null, + "choreoAuto": false +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/autos/Outpost-Trench-Neutral-Bump.auto b/src/main/deploy/pathplanner/autos/Outpost-Trench-Neutral-Bump.auto new file mode 100644 index 0000000..7e3e855 --- /dev/null +++ b/src/main/deploy/pathplanner/autos/Outpost-Trench-Neutral-Bump.auto @@ -0,0 +1,94 @@ +{ + "version": "2025.0", + "command": { + "type": "sequential", + "data": { + "commands": [ + { + "type": "named", + "data": { + "name": "Shooter.shoot" + } + }, + { + "type": "path", + "data": { + "pathName": "Alliance-Outpost" + } + }, + { + "type": "parallel", + "data": { + "commands": [ + { + "type": "named", + "data": { + "name": "Shooter.shoot" + } + }, + { + "type": "sequential", + "data": { + "commands": [ + { + "type": "wait", + "data": { + "waitTime": 2.0 + } + }, + { + "type": "path", + "data": { + "pathName": "Outpost-TrenchDL" + } + } + ] + } + } + ] + } + }, + { + "type": "path", + "data": { + "pathName": "TrenchDL-NeutralD" + } + }, + { + "type": "deadline", + "data": { + "commands": [ + { + "type": "path", + "data": { + "pathName": "NeutralD-NeutralMD" + } + }, + { + "type": "named", + "data": { + "name": "Intake.intake" + } + } + ] + } + }, + { + "type": "path", + "data": { + "pathName": "NeutralMD-BumperDL" + } + }, + { + "type": "named", + "data": { + "name": "Shooter.shoot" + } + } + ] + } + }, + "resetOdom": true, + "folder": null, + "choreoAuto": false +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/navgrid.json b/src/main/deploy/pathplanner/navgrid.json new file mode 100644 index 0000000..ac5f521 --- /dev/null +++ b/src/main/deploy/pathplanner/navgrid.json @@ -0,0 +1 @@ +{"field_size":{"x":16.54,"y":8.07},"nodeSizeMeters":0.3,"grid":[[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,true,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,true,true,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true],[true,true,true,true,true,false,false,false,false,false,false,false,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,true,true,true],[true,true,true,true,true,true,false,false,false,false,false,true,true,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,true,true],[true,true,true,true,true,true,false,false,false,false,false,true,true,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,true,false,false,false,false,false,false,false,true,true,true,true,true],[true,true,true,true,true,true,false,false,false,false,false,true,true,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,true,false,false,false,false,false,false,true,true,true,true,true,true],[true,true,true,true,true,true,false,false,false,false,false,true,true,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,true,false,false,false,false,false,false,true,true,true,true,true,true],[true,true,true,true,true,true,false,false,false,false,false,true,true,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,true,false,false,false,false,false,false,true,true,true,true,true,true],[true,true,true,true,true,false,false,false,false,false,false,true,true,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,true,false,false,false,false,false,false,true,true,true,true,true,true],[true,true,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,true,false,false,false,false,false,false,true,true,true,true,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,false,false,false,false,false,false,false,false,true,true,true,true,true],[true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true],[true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true],[true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true],[true,true,true,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true,false,false,false,false,false,false,false,false,false,false,false,true,true],[true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true],[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]]} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/Alliance-Climb.path b/src/main/deploy/pathplanner/paths/Alliance-Climb.path new file mode 100644 index 0000000..a23aa5a --- /dev/null +++ b/src/main/deploy/pathplanner/paths/Alliance-Climb.path @@ -0,0 +1,54 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 3.531310051812067, + "y": 3.7744484270396033 + }, + "prevControl": null, + "nextControl": { + "x": 3.281310051812067, + "y": 3.7744484270396033 + }, + "isLocked": false, + "linkedName": "AllianceM" + }, + { + "anchor": { + "x": 1.812909969457193, + "y": 3.7744484270396033 + }, + "prevControl": { + "x": 2.062909969457193, + "y": 3.7744484270396033 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "Climb" + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 0.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 0.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/Alliance-DepotD.path b/src/main/deploy/pathplanner/paths/Alliance-DepotD.path new file mode 100644 index 0000000..51d6d85 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/Alliance-DepotD.path @@ -0,0 +1,79 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 3.531310051812067, + "y": 3.7744484270396033 + }, + "prevControl": null, + "nextControl": { + "x": 2.816114611417779, + "y": 4.489643867433892 + }, + "isLocked": false, + "linkedName": "AllianceM" + }, + { + "anchor": { + "x": 1.7500771306355798, + "y": 4.951 + }, + "prevControl": { + "x": 2.1500771306355797, + "y": 4.951 + }, + "nextControl": { + "x": 1.5000771306355798, + "y": 4.951 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 0.482, + "y": 4.951 + }, + "prevControl": { + "x": 0.732, + "y": 4.951 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "DepotD" + } + ], + "rotationTargets": [ + { + "waypointRelativePos": 0.15, + "rotationDegrees": 0.0 + }, + { + "waypointRelativePos": 0.95, + "rotationDegrees": -90.0 + } + ], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": -90.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 0.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/Alliance-Outpost.path b/src/main/deploy/pathplanner/paths/Alliance-Outpost.path new file mode 100644 index 0000000..12b3acc --- /dev/null +++ b/src/main/deploy/pathplanner/paths/Alliance-Outpost.path @@ -0,0 +1,54 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 3.6, + "y": 0.6766148524443565 + }, + "prevControl": null, + "nextControl": { + "x": 2.5509742132116244, + "y": 0.7606059140889831 + }, + "isLocked": false, + "linkedName": "AllianceD" + }, + { + "anchor": { + "x": 0.5, + "y": 0.6766148524443565 + }, + "prevControl": { + "x": 1.4940456113409608, + "y": 0.834401360414214 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "Outpost" + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 0.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 0.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/Alliance-TrenchUL.path b/src/main/deploy/pathplanner/paths/Alliance-TrenchUL.path new file mode 100644 index 0000000..a891022 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/Alliance-TrenchUL.path @@ -0,0 +1,54 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 2.230697062724346, + "y": 4.699098054676632 + }, + "prevControl": null, + "nextControl": { + "x": 2.2437708907013545, + "y": 4.948755970677763 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 3.610745262546267, + "y": 7.389868890128567 + }, + "prevControl": { + "x": 3.6450588608640397, + "y": 7.637502847756528 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "TrenchL" + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 180.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": -90.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/BumpL-Alliance.path b/src/main/deploy/pathplanner/paths/BumpL-Alliance.path new file mode 100644 index 0000000..283f937 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/BumpL-Alliance.path @@ -0,0 +1,54 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 3.1424354841902455, + "y": 5.654 + }, + "prevControl": null, + "nextControl": { + "x": 2.697546376573046, + "y": 5.341605019928494 + }, + "isLocked": false, + "linkedName": "BumpL" + }, + { + "anchor": { + "x": 2.230697062724346, + "y": 4.699098054676632 + }, + "prevControl": { + "x": 2.3790429660943966, + "y": 4.900328005114741 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "Alliance" + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": -90.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": -90.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/DepotD-DepotU.path b/src/main/deploy/pathplanner/paths/DepotD-DepotU.path new file mode 100644 index 0000000..2bf2549 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/DepotD-DepotU.path @@ -0,0 +1,54 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 0.482, + "y": 4.951 + }, + "prevControl": null, + "nextControl": { + "x": 0.482, + "y": 5.201 + }, + "isLocked": false, + "linkedName": "DepotD" + }, + { + "anchor": { + "x": 0.482, + "y": 6.51 + }, + "prevControl": { + "x": 0.482, + "y": 6.76 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "DepotU" + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": -90.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": -90.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/DepotU-Climb.path b/src/main/deploy/pathplanner/paths/DepotU-Climb.path new file mode 100644 index 0000000..86b8a8d --- /dev/null +++ b/src/main/deploy/pathplanner/paths/DepotU-Climb.path @@ -0,0 +1,75 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 0.482, + "y": 6.51 + }, + "prevControl": null, + "nextControl": { + "x": 1.9836971313090879, + "y": 6.594117147195584 + }, + "isLocked": false, + "linkedName": "DepotU" + }, + { + "anchor": { + "x": 1.9150188789548475, + "y": 4.994547914622519 + }, + "prevControl": { + "x": 1.8713712652231864, + "y": 5.535179507711039 + }, + "nextControl": { + "x": 1.9467514148971299, + "y": 4.601499818919395 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 1.812909969457193, + "y": 3.7744484270396033 + }, + "prevControl": { + "x": 2.110974033349687, + "y": 4.120037984019396 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "Climb" + } + ], + "rotationTargets": [ + { + "waypointRelativePos": 0.5, + "rotationDegrees": -90.0 + } + ], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 0.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": -90.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/DepotU-TrenchUL.path b/src/main/deploy/pathplanner/paths/DepotU-TrenchUL.path new file mode 100644 index 0000000..b5c8094 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/DepotU-TrenchUL.path @@ -0,0 +1,54 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 0.482, + "y": 6.51 + }, + "prevControl": null, + "nextControl": { + "x": 1.1240891992420388, + "y": 6.828710641299977 + }, + "isLocked": false, + "linkedName": "DepotU" + }, + { + "anchor": { + "x": 3.6, + "y": 7.39 + }, + "prevControl": { + "x": 2.8655257504316123, + "y": 7.258988001934107 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "TrenchUL" + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 180.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": -90.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/NeutralD-NeutralMD.path b/src/main/deploy/pathplanner/paths/NeutralD-NeutralMD.path new file mode 100644 index 0000000..94359e4 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/NeutralD-NeutralMD.path @@ -0,0 +1,54 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 7.293889555754486, + "y": 1.5788881722909434 + }, + "prevControl": null, + "nextControl": { + "x": 7.506688091136792, + "y": 2.0524024601689086 + }, + "isLocked": false, + "linkedName": "NeutralD" + }, + { + "anchor": { + "x": 7.756220323350695, + "y": 3.3657628303810405 + }, + "prevControl": { + "x": 7.679015179669417, + "y": 2.412192166928892 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "NeutralMD" + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": -98.11710595229022 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": -110.47222947446987 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/NeutralMD-BumperDL.path b/src/main/deploy/pathplanner/paths/NeutralMD-BumperDL.path new file mode 100644 index 0000000..1d2bf0f --- /dev/null +++ b/src/main/deploy/pathplanner/paths/NeutralMD-BumperDL.path @@ -0,0 +1,75 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 7.756220323350695, + "y": 3.3657628303810405 + }, + "prevControl": null, + "nextControl": { + "x": 7.157829714174624, + "y": 2.495566750985605 + }, + "isLocked": false, + "linkedName": "NeutralMD" + }, + { + "anchor": { + "x": 5.874267289903429, + "y": 2.4661024961118345 + }, + "prevControl": { + "x": 6.124267289903429, + "y": 2.4661024961118345 + }, + "nextControl": { + "x": 5.624267289903429, + "y": 2.4661024961118345 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 3.4309254246464485, + "y": 2.4661024961118345 + }, + "prevControl": { + "x": 4.312563365178831, + "y": 2.5058140914139555 + }, + "nextControl": null, + "isLocked": false, + "linkedName": null + } + ], + "rotationTargets": [ + { + "waypointRelativePos": 0.7649885751668688, + "rotationDegrees": 180.0 + } + ], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 180.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": -98.117 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/NeutralMU-BumpL.path b/src/main/deploy/pathplanner/paths/NeutralMU-BumpL.path new file mode 100644 index 0000000..ebaa729 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/NeutralMU-BumpL.path @@ -0,0 +1,75 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 7.7933333310727715, + "y": 5.253605946858724 + }, + "prevControl": null, + "nextControl": { + "x": 7.1601158311631945, + "y": 5.61453717436614 + }, + "isLocked": false, + "linkedName": "NeutralM" + }, + { + "anchor": { + "x": 5.905539935076678, + "y": 5.654 + }, + "prevControl": { + "x": 6.730088725999998, + "y": 5.654 + }, + "nextControl": { + "x": 5.655539935076681, + "y": 5.654 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 3.1424354841902455, + "y": 5.654 + }, + "prevControl": { + "x": 2.892435484190245, + "y": 5.654 + }, + "nextControl": null, + "isLocked": false, + "linkedName": null + } + ], + "rotationTargets": [ + { + "waypointRelativePos": 0.9677713634898372, + "rotationDegrees": 180.0 + } + ], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 180.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 96.944 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/NeutralU-NeutralMU.path b/src/main/deploy/pathplanner/paths/NeutralU-NeutralMU.path new file mode 100644 index 0000000..7f5e230 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/NeutralU-NeutralMU.path @@ -0,0 +1,54 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 7.203352146855107, + "y": 6.74392458654333 + }, + "prevControl": null, + "nextControl": { + "x": 7.573420153582537, + "y": 6.307320836385092 + }, + "isLocked": false, + "linkedName": "NeutralU" + }, + { + "anchor": { + "x": 7.7933333310727715, + "y": 5.253605946858724 + }, + "prevControl": { + "x": 7.780415232340495, + "y": 6.116668418601708 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "NeutralM" + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 96.94434252981223 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 133.91160391206455 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/Outpost-Climb.path b/src/main/deploy/pathplanner/paths/Outpost-Climb.path new file mode 100644 index 0000000..077b028 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/Outpost-Climb.path @@ -0,0 +1,54 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 0.5, + "y": 0.6766148524443565 + }, + "prevControl": null, + "nextControl": { + "x": 1.5450037532282108, + "y": 0.6894989351149048 + }, + "isLocked": false, + "linkedName": "Outpost" + }, + { + "anchor": { + "x": 1.812909969457193, + "y": 3.7744484270396033 + }, + "prevControl": { + "x": 2.1167587309200058, + "y": 3.2763672386036866 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "Climb" + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 0.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 0.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/Outpost-TrenchDL.path b/src/main/deploy/pathplanner/paths/Outpost-TrenchDL.path new file mode 100644 index 0000000..6e76f9f --- /dev/null +++ b/src/main/deploy/pathplanner/paths/Outpost-TrenchDL.path @@ -0,0 +1,70 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 0.5, + "y": 0.6766148524443565 + }, + "prevControl": null, + "nextControl": { + "x": 1.5, + "y": 0.6766148524443567 + }, + "isLocked": false, + "linkedName": "Outpost" + }, + { + "anchor": { + "x": 2.143, + "y": 0.8 + }, + "prevControl": { + "x": 1.8929999999999998, + "y": 0.8000000000000002 + }, + "nextControl": { + "x": 2.393, + "y": 0.7999999999999999 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 3.6, + "y": 0.6766148524443565 + }, + "prevControl": { + "x": 3.1618596615943186, + "y": 0.6766148524443565 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "TrenchDL" + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 180.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0.0, + "rotation": 0.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/TrenchDL-NeutralD.path b/src/main/deploy/pathplanner/paths/TrenchDL-NeutralD.path new file mode 100644 index 0000000..9b32d8d --- /dev/null +++ b/src/main/deploy/pathplanner/paths/TrenchDL-NeutralD.path @@ -0,0 +1,75 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 3.6, + "y": 0.677 + }, + "prevControl": null, + "nextControl": { + "x": 4.6, + "y": 0.6770000000000003 + }, + "isLocked": false, + "linkedName": "TrenchDL" + }, + { + "anchor": { + "x": 6.192, + "y": 0.677 + }, + "prevControl": { + "x": 5.942235388950917, + "y": 0.6661538454971255 + }, + "nextControl": { + "x": 6.87098866780599, + "y": 0.7064854261610243 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 7.293889555754486, + "y": 1.5788881722909434 + }, + "prevControl": { + "x": 7.16190986915871, + "y": 1.0372516988118488 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "NeutralD" + } + ], + "rotationTargets": [ + { + "waypointRelativePos": 0.7662643877047933, + "rotationDegrees": 180.0 + } + ], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": -110.47222947446987 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 180.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/TrenchUL-NeutralU.path b/src/main/deploy/pathplanner/paths/TrenchUL-NeutralU.path new file mode 100644 index 0000000..344e92c --- /dev/null +++ b/src/main/deploy/pathplanner/paths/TrenchUL-NeutralU.path @@ -0,0 +1,75 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 3.610745262546267, + "y": 7.39 + }, + "prevControl": null, + "nextControl": { + "x": 4.144993723761676, + "y": 7.454912915252541 + }, + "isLocked": false, + "linkedName": "TrenchL" + }, + { + "anchor": { + "x": 6.192, + "y": 7.39 + }, + "prevControl": { + "x": 5.952248027478147, + "y": 7.460844842239082 + }, + "nextControl": { + "x": 6.4317519725218535, + "y": 7.3191551577609175 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 7.203352146855107, + "y": 6.74392458654333 + }, + "prevControl": { + "x": 6.957989258942781, + "y": 6.9069793178417065 + }, + "nextControl": null, + "isLocked": false, + "linkedName": "NeutralU" + } + ], + "rotationTargets": [ + { + "waypointRelativePos": 0.757914225260417, + "rotationDegrees": 180.0 + } + ], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0.0, + "rotation": 133.91160391206455 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 180.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/settings.json b/src/main/deploy/pathplanner/settings.json new file mode 100644 index 0000000..5bf438c --- /dev/null +++ b/src/main/deploy/pathplanner/settings.json @@ -0,0 +1,32 @@ +{ + "robotWidth": 0.9, + "robotLength": 0.9, + "holonomicMode": true, + "pathFolders": [], + "autoFolders": [], + "defaultMaxVel": 3.0, + "defaultMaxAccel": 3.0, + "defaultMaxAngVel": 540.0, + "defaultMaxAngAccel": 720.0, + "defaultNominalVoltage": 12.0, + "robotMass": 74.088, + "robotMOI": 6.883, + "robotTrackwidth": 0.546, + "driveWheelRadius": 0.048, + "driveGearing": 5.143, + "maxDriveSpeed": 5.45, + "driveMotorType": "krakenX60", + "driveCurrentLimit": 60.0, + "wheelCOF": 1.2, + "flModuleX": 0.273, + "flModuleY": 0.273, + "frModuleX": 0.273, + "frModuleY": -0.273, + "blModuleX": -0.273, + "blModuleY": 0.273, + "brModuleX": -0.273, + "brModuleY": -0.273, + "bumperOffsetX": 0.0, + "bumperOffsetY": 0.0, + "robotFeatures": [] +} \ No newline at end of file diff --git a/src/main/java/frc/robot/subsystems/autonomous/AutonomousConstants.java b/src/main/java/frc/robot/subsystems/autonomous/AutonomousConstants.java new file mode 100644 index 0000000..161953b --- /dev/null +++ b/src/main/java/frc/robot/subsystems/autonomous/AutonomousConstants.java @@ -0,0 +1,15 @@ +package frc.robot.subsystems.autonomous; + +import static edu.wpi.first.units.Units.Meters; + +import edu.wpi.first.math.controller.PIDController; +import edu.wpi.first.units.measure.Distance; + +public class AutonomousConstants { + public static final PIDController kTranslationPID = new PIDController(5, 0, 0); + public static final PIDController kAnglePID = new PIDController(2, 0, 0); + public static final Distance kMinDistanceToPathfind = Meters.of(1); + public static final Distance kDistanceFromHub = Meters.of(2); + public static final String kDefaultAuto = "DefaultAuto"; + public static Distance kDistanceFromOutpost = Meters.of(0.7); +}