This commit is contained in:
OnDYCLaptop
2026-07-19 14:49:14 +08:00
parent 5c1d9c3230
commit a6595a79d7
47 changed files with 2383 additions and 424 deletions
@@ -1,31 +0,0 @@
{
"version": "2025.0",
"command": {
"type": "sequential",
"data": {
"commands": [
{
"type": "path",
"data": {
"pathName": "Back To Shoot Blue"
}
},
{
"type": "named",
"data": {
"name": "shoot_hub"
}
},
{
"type": "named",
"data": {
"name": "shoot_hub"
}
}
]
}
},
"resetOdom": true,
"folder": "Blue Middle",
"choreoAuto": false
}
@@ -1,25 +0,0 @@
{
"version": "2025.0",
"command": {
"type": "sequential",
"data": {
"commands": [
{
"type": "path",
"data": {
"pathName": "Back To Shoot Red"
}
},
{
"type": "named",
"data": {
"name": "shoot_hub"
}
}
]
}
},
"resetOdom": true,
"folder": "Red Middle",
"choreoAuto": false
}
@@ -8,35 +8,22 @@
"type": "parallel", "type": "parallel",
"data": { "data": {
"commands": [ "commands": [
{
"type": "named",
"data": {
"name": "intaker_down"
}
},
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{ {
"type": "path", "type": "path",
"data": { "data": {
"pathName": "Back To Shoot Blue" "pathName": "blueLeft1"
}
},
{
"type": "named",
"data": {
"name": "intaker_down"
}
}
]
}
},
{
"type": "parallel",
"data": {
"commands": [
{
"type": "named",
"data": {
"name": "shoot_hub"
}
},
{
"type": "named",
"data": {
"name": "intaker_down"
} }
} }
] ]
@@ -49,42 +36,21 @@
} }
}, },
{ {
"type": "parallel", "type": "path",
"data": { "data": {
"commands": [ "pathName": "blueLeft2"
{
"type": "path",
"data": {
"pathName": "Shoot to Depot Blue"
}
}
]
} }
}, },
{ {
"type": "parallel", "type": "path",
"data": { "data": {
"commands": [ "pathName": "blueLeft3"
{
"type": "path",
"data": {
"pathName": "Depot Intake Blue"
}
}
]
} }
}, },
{ {
"type": "parallel", "type": "path",
"data": { "data": {
"commands": [ "pathName": "blueLeftTurnToHub2"
{
"type": "named",
"data": {
"name": "AutoAim"
}
}
]
} }
}, },
{ {
@@ -106,18 +72,36 @@
{ {
"type": "named", "type": "named",
"data": { "data": {
"name": "Shake" "name": "AutoAim"
}
},
{
"type": "named",
"data": {
"name": "intaker_up"
} }
} }
] ]
} }
}, },
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{
"type": "path",
"data": {
"pathName": "blueLeftTurnToHub1"
}
},
{
"type": "path",
"data": {
"pathName": "blueLeft4"
}
},
{
"type": "path",
"data": {
"pathName": "blueLeft5"
}
},
{ {
"type": "parallel", "type": "parallel",
"data": { "data": {
@@ -131,28 +115,16 @@
{ {
"type": "named", "type": "named",
"data": { "data": {
"name": "Shake" "name": "AutoAim"
}
},
{
"type": "named",
"data": {
"name": "intaker_up"
} }
} }
] ]
} }
},
{
"type": "path",
"data": {
"pathName": "blue depot go 1"
}
} }
] ]
} }
}, },
"resetOdom": true, "resetOdom": true,
"folder": "Blue Middle", "folder": "Blue",
"choreoAuto": false "choreoAuto": false
} }
@@ -8,35 +8,22 @@
"type": "parallel", "type": "parallel",
"data": { "data": {
"commands": [ "commands": [
{
"type": "named",
"data": {
"name": "intaker_down"
}
},
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{ {
"type": "path", "type": "path",
"data": { "data": {
"pathName": "Back To Shoot Red" "pathName": "blueRight1"
}
},
{
"type": "named",
"data": {
"name": "intaker_down"
}
}
]
}
},
{
"type": "parallel",
"data": {
"commands": [
{
"type": "named",
"data": {
"name": "shoot_hub"
}
},
{
"type": "named",
"data": {
"name": "intaker_down"
} }
} }
] ]
@@ -49,42 +36,21 @@
} }
}, },
{ {
"type": "parallel", "type": "path",
"data": { "data": {
"commands": [ "pathName": "blueRight2"
{
"type": "path",
"data": {
"pathName": "Shoot to Depot Red"
}
}
]
} }
}, },
{ {
"type": "parallel", "type": "path",
"data": { "data": {
"commands": [ "pathName": "blueRight3"
{
"type": "path",
"data": {
"pathName": "Depot Intake Red"
}
}
]
} }
}, },
{ {
"type": "parallel", "type": "path",
"data": { "data": {
"commands": [ "pathName": "blueRightTurnToHub2"
{
"type": "named",
"data": {
"name": "AutoAim"
}
}
]
} }
}, },
{ {
@@ -106,18 +72,36 @@
{ {
"type": "named", "type": "named",
"data": { "data": {
"name": "Shake" "name": "AutoAim"
}
},
{
"type": "named",
"data": {
"name": "intaker_up"
} }
} }
] ]
} }
}, },
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{
"type": "path",
"data": {
"pathName": "blueRightTurnToHub1"
}
},
{
"type": "path",
"data": {
"pathName": "blueRight4"
}
},
{
"type": "path",
"data": {
"pathName": "blueRight5"
}
},
{ {
"type": "parallel", "type": "parallel",
"data": { "data": {
@@ -131,13 +115,7 @@
{ {
"type": "named", "type": "named",
"data": { "data": {
"name": "Shake" "name": "AutoAim"
}
},
{
"type": "named",
"data": {
"name": "intaker_up"
} }
} }
] ]
@@ -147,6 +125,6 @@
} }
}, },
"resetOdom": true, "resetOdom": true,
"folder": "Red Middle", "folder": "Blue",
"choreoAuto": false "choreoAuto": false
} }
@@ -0,0 +1,111 @@
{
"version": "2025.0",
"command": {
"type": "sequential",
"data": {
"commands": [
{
"type": "parallel",
"data": {
"commands": [
{
"type": "named",
"data": {
"name": "intaker_down"
}
},
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{
"type": "path",
"data": {
"pathName": "red1"
}
}
]
}
},
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{
"type": "path",
"data": {
"pathName": "red2"
}
},
{
"type": "path",
"data": {
"pathName": "red3"
}
},
{
"type": "path",
"data": {
"pathName": "turntohub2"
}
},
{
"type": "named",
"data": {
"name": "stop_intake_and_conveyor"
}
},
{
"type": "parallel",
"data": {
"commands": [
{
"type": "named",
"data": {
"name": "shoot_hub"
}
},
{
"type": "named",
"data": {
"name": "AutoAim"
}
}
]
}
},
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{
"type": "path",
"data": {
"pathName": "turntohub1"
}
},
{
"type": "path",
"data": {
"pathName": "red4"
}
},
{
"type": "path",
"data": {
"pathName": "red5"
}
}
]
}
},
"resetOdom": true,
"folder": "Red",
"choreoAuto": false
}
@@ -0,0 +1,81 @@
{
"version": "2025.0",
"command": {
"type": "sequential",
"data": {
"commands": [
{
"type": "parallel",
"data": {
"commands": [
{
"type": "named",
"data": {
"name": "intaker_down"
}
},
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{
"type": "path",
"data": {
"pathName": "RedGotodepot"
}
}
]
}
},
{
"type": "parallel",
"data": {
"commands": [
{
"type": "named",
"data": {
"name": "shoot_hub"
}
},
{
"type": "named",
"data": {
"name": "AutoAim"
}
}
]
}
},
{
"type": "path",
"data": {
"pathName": "redDepotToGoudong"
}
},
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{
"type": "path",
"data": {
"pathName": "red4"
}
},
{
"type": "path",
"data": {
"pathName": "red5"
}
}
]
}
},
"resetOdom": true,
"folder": "Red",
"choreoAuto": false
}
@@ -0,0 +1,111 @@
{
"version": "2025.0",
"command": {
"type": "sequential",
"data": {
"commands": [
{
"type": "parallel",
"data": {
"commands": [
{
"type": "named",
"data": {
"name": "intaker_down"
}
},
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{
"type": "path",
"data": {
"pathName": "redRight1"
}
}
]
}
},
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{
"type": "path",
"data": {
"pathName": "redRight2"
}
},
{
"type": "path",
"data": {
"pathName": "redRight3"
}
},
{
"type": "path",
"data": {
"pathName": "redRightTurnToHub2"
}
},
{
"type": "named",
"data": {
"name": "stop_intake_and_conveyor"
}
},
{
"type": "parallel",
"data": {
"commands": [
{
"type": "named",
"data": {
"name": "shoot_hub"
}
},
{
"type": "named",
"data": {
"name": "AutoAim"
}
}
]
}
},
{
"type": "named",
"data": {
"name": "start_intake_and_conveyor"
}
},
{
"type": "path",
"data": {
"pathName": "redRightTurnToHub1"
}
},
{
"type": "path",
"data": {
"pathName": "redRight4"
}
},
{
"type": "path",
"data": {
"pathName": "redRight5"
}
}
]
}
},
"resetOdom": true,
"folder": "Red",
"choreoAuto": false
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,54 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 13.00554921540656,
"y": 4.054407988587732
},
"prevControl": null,
"nextControl": {
"x": 13.221096992334767,
"y": 3.9277621996277037
},
"isLocked": false,
"linkedName": "middle"
},
{
"anchor": {
"x": 15.613421686746985,
"y": 2.2319277108433733
},
"prevControl": {
"x": 14.309604731740064,
"y": 3.053280693788945
},
"nextControl": null,
"isLocked": false,
"linkedName": "depot"
}
],
"rotationTargets": [],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 1.5,
"maxAcceleration": 3.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 360.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0,
"rotation": 158.4590240814616
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 0,
"rotation": 180.0
},
"useDefaultConstraints": false
}
@@ -1,95 +0,0 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 0.64,
"y": 5.969
},
"prevControl": null,
"nextControl": {
"x": 1.678433584781481,
"y": 5.9229373186851895
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 2.6943708609271524,
"y": 7.381829470198674
},
"prevControl": {
"x": 2.178364289572292,
"y": 7.226083943133918
},
"nextControl": {
"x": 3.0531960414062747,
"y": 7.490133162361142
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 6.0,
"y": 7.2
},
"prevControl": {
"x": 5.804119228777829,
"y": 7.355340669064503
},
"nextControl": {
"x": 6.195880771222171,
"y": 7.044659330935497
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 7.195529801324503,
"y": 5.969
},
"prevControl": {
"x": 7.354483593458411,
"y": 5.7760396621938845
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 0.9,
"rotationDegrees": 180.0
},
{
"waypointRelativePos": 1.7,
"rotationDegrees": 180.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 1.5,
"maxAcceleration": 3.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0,
"rotation": 135.0
},
"reversed": false,
"folder": "Blue Middle",
"idealStartingState": {
"velocity": 0,
"rotation": 0.0
},
"useDefaultConstraints": true
}
@@ -0,0 +1,75 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 4.466034236804566,
"y": 7.454255952380953
},
"prevControl": null,
"nextControl": {
"x": 5.426124431791342,
"y": 7.458578116355653
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 5.7055580357142865,
"y": 7.454255952380953
},
"prevControl": {
"x": 5.362545053990692,
"y": 7.465613159152816
},
"nextControl": {
"x": 6.019722228934057,
"y": 7.443853932944885
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 7.765392296718973,
"y": 6.784465049928674
},
"prevControl": {
"x": 7.765392296718973,
"y": 7.285812251387297
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 1.0,
"rotationDegrees": 0.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 3.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 360.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.5,
"rotation": 90.0
},
"reversed": false,
"folder": "Blue Left from pwz",
"idealStartingState": {
"velocity": 0.0,
"rotation": 0.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,54 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 7.765392296718973,
"y": 6.784465049928674
},
"prevControl": null,
"nextControl": {
"x": 7.750697804389789,
"y": 5.401087218387813
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 7.765392296718973,
"y": 4.597831669044222
},
"prevControl": {
"x": 7.743897101946867,
"y": 5.99227817461089
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 1.5,
"maxAcceleration": 4.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0.0,
"rotation": 90.0
},
"reversed": false,
"folder": "Blue Left from pwz",
"idealStartingState": {
"velocity": 1.5,
"rotation": 90.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,79 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 7.765392296718973,
"y": 4.597831669044222
},
"prevControl": null,
"nextControl": {
"x": 7.323255476508917,
"y": 5.464573812325125
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 6.182807228915662,
"y": 7.247746987951809
},
"prevControl": {
"x": 6.705631547302918,
"y": 6.92851993042499
},
"nextControl": {
"x": 5.9062353004038926,
"y": 7.416616797232436
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 3.418096385542169,
"y": 7.3788795180722895
},
"prevControl": {
"x": 3.8149559923113934,
"y": 7.302711465107156
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 1.0,
"rotationDegrees": 0.0
},
{
"waypointRelativePos": 2.0,
"rotationDegrees": 0.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 3.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.2,
"rotation": 0.0
},
"reversed": false,
"folder": "Blue Left from pwz",
"idealStartingState": {
"velocity": 0.0,
"rotation": 90.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,99 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 3.418096385542169,
"y": 7.3788795180722895
},
"prevControl": null,
"nextControl": {
"x": 3.6528666325574033,
"y": 7.464803502595855
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 3.778710843373494,
"y": 7.510012048192771
},
"prevControl": {
"x": 3.540175760112069,
"y": 7.435172125334279
},
"nextControl": {
"x": 4.022178849802291,
"y": 7.586399666192227
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 6.33579518072289,
"y": 7.3788795180722895
},
"prevControl": {
"x": 5.948962229553457,
"y": 7.4850837462721405
},
"nextControl": {
"x": 6.584826721475427,
"y": 7.310508396886549
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 7.765392296718973,
"y": 6.784465049928674
},
"prevControl": {
"x": 6.937920174570973,
"y": 7.201986151309663
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 0.1,
"rotationDegrees": 0.0
},
{
"waypointRelativePos": 1,
"rotationDegrees": 0.0
},
{
"waypointRelativePos": 2.0,
"rotationDegrees": 0.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 4.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 360.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.5,
"rotation": 90.0
},
"reversed": false,
"folder": "Blue Left from pwz",
"idealStartingState": {
"velocity": 1.2,
"rotation": 0.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,119 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 7.765392296718973,
"y": 6.784465049928674
},
"prevControl": null,
"nextControl": {
"x": 7.733458465905914,
"y": 6.464214217773148
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 7.813229166666666,
"y": 4.668807228915663
},
"prevControl": {
"x": 8.011674331775877,
"y": 5.027990467000143
},
"nextControl": {
"x": 7.485447276626493,
"y": 4.075526155097174
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 6.33579518072289,
"y": 4.668807228915663
},
"prevControl": {
"x": 6.546160668095942,
"y": 4.185317251794125
},
"nextControl": {
"x": 6.148280431906521,
"y": 5.099778595689354
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 6.1609518072289156,
"y": 7.302385542168675
},
"prevControl": {
"x": 6.655393279169644,
"y": 6.772626822232179
},
"nextControl": {
"x": 5.9903722446389125,
"y": 7.485149359229394
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 5.29766265060241,
"y": 7.4553734939759035
},
"prevControl": {
"x": 6.100054686274564,
"y": 7.328414006675032
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 1,
"rotationDegrees": 43.66778014613041
},
{
"waypointRelativePos": 2,
"rotationDegrees": -90.0
},
{
"waypointRelativePos": 2.4,
"rotationDegrees": -90.0
},
{
"waypointRelativePos": 3.0,
"rotationDegrees": 0.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 1.5,
"maxAcceleration": 4.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 180.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0,
"rotation": 0.0
},
"reversed": false,
"folder": "Blue Left from pwz",
"idealStartingState": {
"velocity": 1.5,
"rotation": 90.0
},
"useDefaultConstraints": false
}
@@ -3,25 +3,25 @@
"waypoints": [ "waypoints": [
{ {
"anchor": { "anchor": {
"x": 3.04, "x": 3.0028433734939757,
"y": 4.0 "y": 6.471879518072289
}, },
"prevControl": null, "prevControl": null,
"nextControl": { "nextControl": {
"x": 3.4702773700848932, "x": 3.1230481927710834,
"y": 3.562911556367572 "y": 6.941771084337349
}, },
"isLocked": false, "isLocked": false,
"linkedName": null "linkedName": null
}, },
{ {
"anchor": { "anchor": {
"x": 1.14, "x": 3.418096385542169,
"y": 5.969 "y": 7.3788795180722895
}, },
"prevControl": { "prevControl": {
"x": 0.8995187790061673, "x": 3.260671343049193,
"y": 6.223926270411972 "y": 7.152135161355801
}, },
"nextControl": null, "nextControl": null,
"isLocked": false, "isLocked": false,
@@ -41,14 +41,14 @@
"unlimited": false "unlimited": false
}, },
"goalEndState": { "goalEndState": {
"velocity": 0, "velocity": 1.2,
"rotation": 0.0 "rotation": 0.0
}, },
"reversed": false, "reversed": false,
"folder": "Blue Middle", "folder": "Blue Left from pwz",
"idealStartingState": { "idealStartingState": {
"velocity": 0, "velocity": 0,
"rotation": 0.0 "rotation": -38.99099404250592
}, },
"useDefaultConstraints": false "useDefaultConstraints": true
} }
@@ -3,25 +3,25 @@
"waypoints": [ "waypoints": [
{ {
"anchor": { "anchor": {
"x": 3.53, "x": 3.418096385542169,
"y": 4.0 "y": 7.3788795180722895
}, },
"prevControl": null, "prevControl": null,
"nextControl": { "nextControl": {
"x": 3.9033070768298836, "x": 3.175553518148792,
"y": 3.9994852751840226 "y": 7.3182745885978715
}, },
"isLocked": false, "isLocked": false,
"linkedName": null "linkedName": null
}, },
{ {
"anchor": { "anchor": {
"x": 3.04, "x": 3.0028433734939757,
"y": 4.0 "y": 6.471879518072289
}, },
"prevControl": { "prevControl": {
"x": 2.783639997726092, "x": 3.540329100641909,
"y": 4.003292975326709 "y": 7.025981025402732
}, },
"nextControl": null, "nextControl": null,
"isLocked": false, "isLocked": false,
@@ -33,8 +33,8 @@
"pointTowardsZones": [], "pointTowardsZones": [],
"eventMarkers": [], "eventMarkers": [],
"globalConstraints": { "globalConstraints": {
"maxVelocity": 1.5, "maxVelocity": 2.0,
"maxAcceleration": 3.0, "maxAcceleration": 4.0,
"maxAngularVelocity": 360.0, "maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0, "maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0, "nominalVoltage": 12.0,
@@ -42,12 +42,12 @@
}, },
"goalEndState": { "goalEndState": {
"velocity": 0, "velocity": 0,
"rotation": 0.0 "rotation": -38.99099404250592
}, },
"reversed": false, "reversed": false,
"folder": "Blue Middle", "folder": "Blue Left from pwz",
"idealStartingState": { "idealStartingState": {
"velocity": 0, "velocity": 1.2,
"rotation": 0.0 "rotation": 0.0
}, },
"useDefaultConstraints": true "useDefaultConstraints": true
@@ -0,0 +1,75 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 4.466034236804566,
"y": 0.6157440476190477
},
"prevControl": null,
"nextControl": {
"x": 5.426124431791342,
"y": 0.611421883644347
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 5.7055580357142865,
"y": 0.6157440476190477
},
"prevControl": {
"x": 5.362545053990692,
"y": 0.6043868408471844
},
"nextControl": {
"x": 6.019722228934057,
"y": 0.626146067055116
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 7.765392296718973,
"y": 1.2855349500713271
},
"prevControl": {
"x": 7.765392296718973,
"y": 0.7841877486127031
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 1.0,
"rotationDegrees": 0.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 3.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 360.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.5,
"rotation": -90.0
},
"reversed": false,
"folder": "Blue Right from pwz",
"idealStartingState": {
"velocity": 0.0,
"rotation": 0.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,54 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 7.765392296718973,
"y": 1.2855349500713271
},
"prevControl": null,
"nextControl": {
"x": 7.750697804389789,
"y": 2.668912781612187
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 7.765392296718973,
"y": 3.472168330955778
},
"prevControl": {
"x": 7.743897101946867,
"y": 2.0777218253891108
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 1.5,
"maxAcceleration": 4.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0.0,
"rotation": -90.0
},
"reversed": false,
"folder": "Blue Right from pwz",
"idealStartingState": {
"velocity": 1.5,
"rotation": -90.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,79 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 7.765392296718973,
"y": 3.472168330955778
},
"prevControl": null,
"nextControl": {
"x": 7.323255476508917,
"y": 2.605426187674875
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 6.182807228915662,
"y": 0.8222530120481917
},
"prevControl": {
"x": 6.705631547302918,
"y": 1.1414800695750102
},
"nextControl": {
"x": 5.9062353004038926,
"y": 0.6533832027675645
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 3.418096385542169,
"y": 0.691120481927711
},
"prevControl": {
"x": 3.8149559923113934,
"y": 0.7672885348928444
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 1.0,
"rotationDegrees": 0.0
},
{
"waypointRelativePos": 2.0,
"rotationDegrees": 0.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 3.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.2,
"rotation": 0.0
},
"reversed": false,
"folder": "Blue Right from pwz",
"idealStartingState": {
"velocity": 0.0,
"rotation": -90.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,99 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 3.418096385542169,
"y": 0.691120481927711
},
"prevControl": null,
"nextControl": {
"x": 3.6528666325574033,
"y": 0.6051964974041462
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 3.778710843373494,
"y": 0.5599879518072293
},
"prevControl": {
"x": 3.540175760112069,
"y": 0.634827874665722
},
"nextControl": {
"x": 4.022178849802291,
"y": 0.48360033380777306
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 6.33579518072289,
"y": 0.691120481927711
},
"prevControl": {
"x": 5.948962229553457,
"y": 0.5849162537278598
},
"nextControl": {
"x": 6.584826721475427,
"y": 0.7594916031134517
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 7.765392296718973,
"y": 1.2855349500713271
},
"prevControl": {
"x": 6.937920174570973,
"y": 0.8680138486903368
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 0.1,
"rotationDegrees": 0.0
},
{
"waypointRelativePos": 1,
"rotationDegrees": 0.0
},
{
"waypointRelativePos": 2.0,
"rotationDegrees": 0.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 4.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 360.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.5,
"rotation": -90.0
},
"reversed": false,
"folder": "Blue Right from pwz",
"idealStartingState": {
"velocity": 1.2,
"rotation": 0.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,119 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 7.765392296718973,
"y": 1.2855349500713271
},
"prevControl": null,
"nextControl": {
"x": 7.733458465905914,
"y": 1.6057857822268522
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 7.813229166666666,
"y": 3.4011927710843373
},
"prevControl": {
"x": 8.011674331775877,
"y": 3.042009532999857
},
"nextControl": {
"x": 7.485447276626493,
"y": 3.9944738449028265
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 6.33579518072289,
"y": 3.4011927710843373
},
"prevControl": {
"x": 6.546160668095942,
"y": 3.8846827482058757
},
"nextControl": {
"x": 6.148280431906521,
"y": 2.9702214043106463
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 6.1609518072289156,
"y": 0.7676144578313244
},
"prevControl": {
"x": 6.655393279169644,
"y": 1.2973731777678212
},
"nextControl": {
"x": 5.9903722446389125,
"y": 0.584850640770607
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 5.29766265060241,
"y": 0.6146265060240967
},
"prevControl": {
"x": 6.100054686274564,
"y": 0.7415859933249683
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 1,
"rotationDegrees": -43.66778014613044
},
{
"waypointRelativePos": 2,
"rotationDegrees": 90.0
},
{
"waypointRelativePos": 2.4,
"rotationDegrees": 90.0
},
{
"waypointRelativePos": 3.0,
"rotationDegrees": 0.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 1.5,
"maxAcceleration": 4.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 180.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0,
"rotation": 0.0
},
"reversed": false,
"folder": "Blue Right from pwz",
"idealStartingState": {
"velocity": 1.5,
"rotation": -90.0
},
"useDefaultConstraints": false
}
@@ -3,25 +3,25 @@
"waypoints": [ "waypoints": [
{ {
"anchor": { "anchor": {
"x": 3.54, "x": 3.0028433734939757,
"y": 4.0 "y": 1.5981204819277117
}, },
"prevControl": null, "prevControl": null,
"nextControl": { "nextControl": {
"x": 2.539999999999999, "x": 3.1230481927710834,
"y": 4.0 "y": 1.128228915662652
}, },
"isLocked": false, "isLocked": false,
"linkedName": null "linkedName": null
}, },
{ {
"anchor": { "anchor": {
"x": 1.14, "x": 3.418096385542169,
"y": 5.97 "y": 0.691120481927711
}, },
"prevControl": { "prevControl": {
"x": 2.1399999999999992, "x": 3.260671343049193,
"y": 5.97 "y": 0.9178648386441994
}, },
"nextControl": null, "nextControl": null,
"isLocked": false, "isLocked": false,
@@ -33,22 +33,22 @@
"pointTowardsZones": [], "pointTowardsZones": [],
"eventMarkers": [], "eventMarkers": [],
"globalConstraints": { "globalConstraints": {
"maxVelocity": 1.5, "maxVelocity": 2.0,
"maxAcceleration": 3.0, "maxAcceleration": 4.0,
"maxAngularVelocity": 360.0, "maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0, "maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0, "nominalVoltage": 12.0,
"unlimited": false "unlimited": false
}, },
"goalEndState": { "goalEndState": {
"velocity": 0, "velocity": 1.2,
"rotation": 0.0 "rotation": 0.0
}, },
"reversed": false, "reversed": false,
"folder": "Blue Middle", "folder": "Blue Right from pwz",
"idealStartingState": { "idealStartingState": {
"velocity": 0, "velocity": 0,
"rotation": 0.0 "rotation": 38.99099404250589
}, },
"useDefaultConstraints": true "useDefaultConstraints": true
} }
@@ -0,0 +1,54 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 3.418096385542169,
"y": 0.691120481927711
},
"prevControl": null,
"nextControl": {
"x": 3.175553518148792,
"y": 0.7517254114021283
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 3.0028433734939757,
"y": 1.5981204819277117
},
"prevControl": {
"x": 3.540329100641909,
"y": 1.0440189745972686
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 4.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0,
"rotation": 38.99099404250589
},
"reversed": false,
"folder": "Blue Right from pwz",
"idealStartingState": {
"velocity": 1.2,
"rotation": 0.0
},
"useDefaultConstraints": true
}
@@ -0,0 +1,75 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 12.073965763195433,
"y": 0.6157440476190477
},
"prevControl": null,
"nextControl": {
"x": 11.113875568208657,
"y": 0.6114218836443469
},
"isLocked": false,
"linkedName": "trench"
},
{
"anchor": {
"x": 10.834441964285713,
"y": 0.6157440476190477
},
"prevControl": {
"x": 11.177454946009307,
"y": 0.6043868408471843
},
"nextControl": {
"x": 10.520277771065942,
"y": 0.626146067055116
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 8.774607703281026,
"y": 1.2855349500713271
},
"prevControl": {
"x": 8.774607703281026,
"y": 0.7841877486127031
},
"nextControl": null,
"isLocked": false,
"linkedName": "1"
}
],
"rotationTargets": [
{
"waypointRelativePos": 1.0,
"rotationDegrees": 180.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 3.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 360.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.5,
"rotation": -90.0
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 0.0,
"rotation": 180.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,54 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 8.774607703281026,
"y": 1.2855349500713271
},
"prevControl": null,
"nextControl": {
"x": 8.78930219561021,
"y": 2.668912781612187
},
"isLocked": false,
"linkedName": "1"
},
{
"anchor": {
"x": 8.774607703281026,
"y": 3.472168330955778
},
"prevControl": {
"x": 8.796102898053132,
"y": 2.0777218253891108
},
"nextControl": null,
"isLocked": false,
"linkedName": "2"
}
],
"rotationTargets": [],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 1.5,
"maxAcceleration": 4.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0.0,
"rotation": -90.0
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 1.5,
"rotation": -90.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,79 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 8.774607703281026,
"y": 3.472168330955778
},
"prevControl": null,
"nextControl": {
"x": 9.216744523491082,
"y": 2.605426187674875
},
"isLocked": false,
"linkedName": "2"
},
{
"anchor": {
"x": 10.357192771084337,
"y": 0.8222530120481917
},
"prevControl": {
"x": 9.834368452697081,
"y": 1.1414800695750102
},
"nextControl": {
"x": 10.633764699596107,
"y": 0.6533832027675643
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 13.12190361445783,
"y": 0.691120481927711
},
"prevControl": {
"x": 12.725044007688606,
"y": 0.7672885348928444
},
"nextControl": null,
"isLocked": false,
"linkedName": "3"
}
],
"rotationTargets": [
{
"waypointRelativePos": 1.0,
"rotationDegrees": 180.0
},
{
"waypointRelativePos": 2.0,
"rotationDegrees": 180.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 3.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.2,
"rotation": 180.0
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 0.0,
"rotation": -90.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,99 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 13.12190361445783,
"y": 0.691120481927711
},
"prevControl": null,
"nextControl": {
"x": 12.887133367442596,
"y": 0.6051964974041462
},
"isLocked": false,
"linkedName": "3"
},
{
"anchor": {
"x": 12.761289156626505,
"y": 0.5599879518072293
},
"prevControl": {
"x": 12.99982423988793,
"y": 0.634827874665722
},
"nextControl": {
"x": 12.517821150197708,
"y": 0.48360033380777306
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 10.204204819277109,
"y": 0.691120481927711
},
"prevControl": {
"x": 10.591037770446542,
"y": 0.5849162537278597
},
"nextControl": {
"x": 9.955173278524573,
"y": 0.7594916031134517
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 8.774607703281026,
"y": 1.2855349500713271
},
"prevControl": {
"x": 9.602079825429026,
"y": 0.868013848690337
},
"nextControl": null,
"isLocked": false,
"linkedName": "1"
}
],
"rotationTargets": [
{
"waypointRelativePos": 0.1,
"rotationDegrees": 180.0
},
{
"waypointRelativePos": 1,
"rotationDegrees": 180.0
},
{
"waypointRelativePos": 2.0,
"rotationDegrees": 180.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 4.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 360.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.5,
"rotation": -90.0
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 0.0,
"rotation": 180.0
},
"useDefaultConstraints": false
}
+119
View File
@@ -0,0 +1,119 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 8.774607703281026,
"y": 1.2855349500713271
},
"prevControl": null,
"nextControl": {
"x": 8.806541534094086,
"y": 1.6057857822268522
},
"isLocked": false,
"linkedName": "1"
},
{
"anchor": {
"x": 8.726770833333333,
"y": 3.4011927710843373
},
"prevControl": {
"x": 8.528325668224122,
"y": 3.042009532999857
},
"nextControl": {
"x": 9.054552723373506,
"y": 3.9944738449028265
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 10.204204819277109,
"y": 3.4011927710843373
},
"prevControl": {
"x": 9.993839331904057,
"y": 3.8846827482058757
},
"nextControl": {
"x": 10.391719568093478,
"y": 2.9702214043106463
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 10.379048192771084,
"y": 0.7676144578313244
},
"prevControl": {
"x": 9.884606720830355,
"y": 1.2973731777678212
},
"nextControl": {
"x": 10.549627755361087,
"y": 0.584850640770607
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 11.242337349397589,
"y": 0.6146265060240967
},
"prevControl": {
"x": 10.439945313725435,
"y": 0.7415859933249683
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 1,
"rotationDegrees": -136.3322198538696
},
{
"waypointRelativePos": 2,
"rotationDegrees": 90.0
},
{
"waypointRelativePos": 2.4,
"rotationDegrees": 90.0
},
{
"waypointRelativePos": 3.0,
"rotationDegrees": 180.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 1.5,
"maxAcceleration": 4.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 180.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0,
"rotation": 180.0
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 1.5,
"rotation": -90.0
},
"useDefaultConstraints": false
}
@@ -3,29 +3,29 @@
"waypoints": [ "waypoints": [
{ {
"anchor": { "anchor": {
"x": 15.4, "x": 15.613421686746985,
"y": 2.1 "y": 2.2319277108433733
}, },
"prevControl": null, "prevControl": null,
"nextControl": { "nextControl": {
"x": 15.65, "x": 15.36208433734939,
"y": 2.1 "y": 2.2319277108433733
}, },
"isLocked": false, "isLocked": false,
"linkedName": null "linkedName": "depot"
}, },
{ {
"anchor": { "anchor": {
"x": 15.9, "x": 13.12190361445783,
"y": 2.1 "y": 0.691120481927711
}, },
"prevControl": { "prevControl": {
"x": 15.65, "x": 13.37190361445783,
"y": 2.1 "y": 0.691120481927711
}, },
"nextControl": null, "nextControl": null,
"isLocked": false, "isLocked": false,
"linkedName": null "linkedName": "3"
} }
], ],
"rotationTargets": [], "rotationTargets": [],
@@ -33,7 +33,7 @@
"pointTowardsZones": [], "pointTowardsZones": [],
"eventMarkers": [], "eventMarkers": [],
"globalConstraints": { "globalConstraints": {
"maxVelocity": 0.5, "maxVelocity": 1.5,
"maxAcceleration": 3.0, "maxAcceleration": 3.0,
"maxAngularVelocity": 360.0, "maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0, "maxAngularAcceleration": 720.0,
@@ -41,14 +41,14 @@
"unlimited": false "unlimited": false
}, },
"goalEndState": { "goalEndState": {
"velocity": 0, "velocity": 0.0,
"rotation": 180.0 "rotation": 180.0
}, },
"reversed": false, "reversed": false,
"folder": "Red Middle", "folder": "Red Right from pwz",
"idealStartingState": { "idealStartingState": {
"velocity": 0, "velocity": 0,
"rotation": 180.0 "rotation": 158.4590240814616
}, },
"useDefaultConstraints": false "useDefaultConstraints": false
} }
@@ -0,0 +1,75 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 12.073965763195433,
"y": 7.454255952380953
},
"prevControl": null,
"nextControl": {
"x": 11.113875568208657,
"y": 7.458578116355653
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 10.834441964285713,
"y": 7.454255952380953
},
"prevControl": {
"x": 11.177454946009307,
"y": 7.465613159152816
},
"nextControl": {
"x": 10.520277771065942,
"y": 7.443853932944885
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 8.774607703281026,
"y": 6.784465049928674
},
"prevControl": {
"x": 8.774607703281026,
"y": 7.285812251387297
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 1.0,
"rotationDegrees": 180.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 3.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 360.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.5,
"rotation": 90.0
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 0.0,
"rotation": 180.0
},
"useDefaultConstraints": false
}
@@ -3,25 +3,25 @@
"waypoints": [ "waypoints": [
{ {
"anchor": { "anchor": {
"x": 1.14, "x": 8.774607703281026,
"y": 5.969 "y": 6.784465049928674
}, },
"prevControl": null, "prevControl": null,
"nextControl": { "nextControl": {
"x": 1.39, "x": 8.78930219561021,
"y": 5.969 "y": 5.401087218387813
}, },
"isLocked": false, "isLocked": false,
"linkedName": null "linkedName": null
}, },
{ {
"anchor": { "anchor": {
"x": 0.64, "x": 8.774607703281026,
"y": 5.969 "y": 4.597831669044222
}, },
"prevControl": { "prevControl": {
"x": 0.39, "x": 8.796102898053132,
"y": 5.969 "y": 5.99227817461089
}, },
"nextControl": null, "nextControl": null,
"isLocked": false, "isLocked": false,
@@ -33,22 +33,22 @@
"pointTowardsZones": [], "pointTowardsZones": [],
"eventMarkers": [], "eventMarkers": [],
"globalConstraints": { "globalConstraints": {
"maxVelocity": 0.25, "maxVelocity": 1.5,
"maxAcceleration": 0.5, "maxAcceleration": 4.0,
"maxAngularVelocity": 360.0, "maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0, "maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0, "nominalVoltage": 12.0,
"unlimited": false "unlimited": false
}, },
"goalEndState": { "goalEndState": {
"velocity": 0, "velocity": 0.0,
"rotation": 0.0 "rotation": 90.0
}, },
"reversed": false, "reversed": false,
"folder": "Blue Middle", "folder": "Red Right from pwz",
"idealStartingState": { "idealStartingState": {
"velocity": 0, "velocity": 1.5,
"rotation": 0.0 "rotation": 90.0
}, },
"useDefaultConstraints": false "useDefaultConstraints": false
} }
@@ -0,0 +1,79 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 8.774607703281026,
"y": 4.597831669044222
},
"prevControl": null,
"nextControl": {
"x": 9.216744523491082,
"y": 5.464573812325125
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 10.357192771084337,
"y": 7.247746987951809
},
"prevControl": {
"x": 9.834368452697081,
"y": 6.92851993042499
},
"nextControl": {
"x": 10.633764699596107,
"y": 7.416616797232436
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 13.12190361445783,
"y": 7.3788795180722895
},
"prevControl": {
"x": 12.725044007688606,
"y": 7.302711465107156
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 1.0,
"rotationDegrees": 180.0
},
{
"waypointRelativePos": 2.0,
"rotationDegrees": 180.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 3.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.2,
"rotation": 180.0
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 0.0,
"rotation": 90.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,99 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 13.12190361445783,
"y": 7.3788795180722895
},
"prevControl": null,
"nextControl": {
"x": 12.887133367442596,
"y": 7.464803502595855
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 12.761289156626505,
"y": 7.510012048192771
},
"prevControl": {
"x": 12.99982423988793,
"y": 7.435172125334279
},
"nextControl": {
"x": 12.517821150197708,
"y": 7.586399666192227
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 10.204204819277109,
"y": 7.3788795180722895
},
"prevControl": {
"x": 10.591037770446542,
"y": 7.4850837462721405
},
"nextControl": {
"x": 9.955173278524573,
"y": 7.310508396886549
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 8.774607703281026,
"y": 6.784465049928674
},
"prevControl": {
"x": 9.602079825429026,
"y": 7.201986151309663
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 0.1,
"rotationDegrees": 180.0
},
{
"waypointRelativePos": 1,
"rotationDegrees": 180.0
},
{
"waypointRelativePos": 2.0,
"rotationDegrees": 180.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 4.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 360.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 1.5,
"rotation": 90.0
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 0.0,
"rotation": 180.0
},
"useDefaultConstraints": false
}
@@ -0,0 +1,119 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 8.774607703281026,
"y": 6.784465049928674
},
"prevControl": null,
"nextControl": {
"x": 8.806541534094086,
"y": 6.464214217773148
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 8.726770833333333,
"y": 4.668807228915663
},
"prevControl": {
"x": 8.528325668224122,
"y": 5.027990467000143
},
"nextControl": {
"x": 9.054552723373506,
"y": 4.075526155097174
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 10.204204819277109,
"y": 4.668807228915663
},
"prevControl": {
"x": 9.993839331904057,
"y": 4.185317251794125
},
"nextControl": {
"x": 10.391719568093478,
"y": 5.099778595689354
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 10.379048192771084,
"y": 7.302385542168675
},
"prevControl": {
"x": 9.884606720830355,
"y": 6.772626822232179
},
"nextControl": {
"x": 10.549627755361087,
"y": 7.485149359229394
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 11.242337349397589,
"y": 7.4553734939759035
},
"prevControl": {
"x": 10.439945313725435,
"y": 7.328414006675032
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [
{
"waypointRelativePos": 1,
"rotationDegrees": 136.33221985386956
},
{
"waypointRelativePos": 2,
"rotationDegrees": -90.0
},
{
"waypointRelativePos": 2.4,
"rotationDegrees": -90.0
},
{
"waypointRelativePos": 3.0,
"rotationDegrees": 180.0
}
],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 1.5,
"maxAcceleration": 4.0,
"maxAngularVelocity": 180.0,
"maxAngularAcceleration": 180.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0,
"rotation": 180.0
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 1.5,
"rotation": 90.0
},
"useDefaultConstraints": false
}
@@ -3,25 +3,25 @@
"waypoints": [ "waypoints": [
{ {
"anchor": { "anchor": {
"x": 13.5, "x": 13.537156626506023,
"y": 4.0 "y": 6.471879518072289
}, },
"prevControl": null, "prevControl": null,
"nextControl": { "nextControl": {
"x": 13.699377937127288, "x": 13.416951807228916,
"y": 3.7771427571164287 "y": 6.941771084337349
}, },
"isLocked": false, "isLocked": false,
"linkedName": null "linkedName": null
}, },
{ {
"anchor": { "anchor": {
"x": 15.400452528841061, "x": 13.12190361445783,
"y": 2.1 "y": 7.3788795180722895
}, },
"prevControl": { "prevControl": {
"x": 15.073650526430217, "x": 13.279328656950806,
"y": 2.4474296685616617 "y": 7.152135161355801
}, },
"nextControl": null, "nextControl": null,
"isLocked": false, "isLocked": false,
@@ -41,14 +41,14 @@
"unlimited": false "unlimited": false
}, },
"goalEndState": { "goalEndState": {
"velocity": 0, "velocity": 0.0,
"rotation": 180.0 "rotation": 180.0
}, },
"reversed": false, "reversed": false,
"folder": "Red Middle", "folder": "Red Right from pwz",
"idealStartingState": { "idealStartingState": {
"velocity": 0, "velocity": 0,
"rotation": 180.0 "rotation": -141.0090059574941
}, },
"useDefaultConstraints": false "useDefaultConstraints": true
} }
@@ -3,25 +3,25 @@
"waypoints": [ "waypoints": [
{ {
"anchor": { "anchor": {
"x": 13.0, "x": 13.12190361445783,
"y": 4.0 "y": 7.3788795180722895
}, },
"prevControl": null, "prevControl": null,
"nextControl": { "nextControl": {
"x": 14.000000000000002, "x": 13.364446481851207,
"y": 4.0 "y": 7.3182745885978715
}, },
"isLocked": false, "isLocked": false,
"linkedName": null "linkedName": null
}, },
{ {
"anchor": { "anchor": {
"x": 15.400452528841061, "x": 13.537156626506023,
"y": 2.1 "y": 6.471879518072289
}, },
"prevControl": { "prevControl": {
"x": 14.400452528841061, "x": 12.99967089935809,
"y": 2.1 "y": 7.025981025402732
}, },
"nextControl": null, "nextControl": null,
"isLocked": false, "isLocked": false,
@@ -33,8 +33,8 @@
"pointTowardsZones": [], "pointTowardsZones": [],
"eventMarkers": [], "eventMarkers": [],
"globalConstraints": { "globalConstraints": {
"maxVelocity": 1.5, "maxVelocity": 2.0,
"maxAcceleration": 3.0, "maxAcceleration": 4.0,
"maxAngularVelocity": 360.0, "maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0, "maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0, "nominalVoltage": 12.0,
@@ -42,12 +42,12 @@
}, },
"goalEndState": { "goalEndState": {
"velocity": 0, "velocity": 0,
"rotation": 180.0 "rotation": -141.0090059574941
}, },
"reversed": false, "reversed": false,
"folder": "Red Middle", "folder": "Red Right from pwz",
"idealStartingState": { "idealStartingState": {
"velocity": 0, "velocity": 1.2,
"rotation": 180.0 "rotation": 180.0
}, },
"useDefaultConstraints": true "useDefaultConstraints": true
@@ -3,29 +3,29 @@
"waypoints": [ "waypoints": [
{ {
"anchor": { "anchor": {
"x": 13.01022182786158, "x": 13.537156626506023,
"y": 4.0 "y": 1.5981204819277117
}, },
"prevControl": null, "prevControl": null,
"nextControl": { "nextControl": {
"x": 13.865906250551847, "x": 13.416951807228916,
"y": 4.0 "y": 1.128228915662652
}, },
"isLocked": false, "isLocked": false,
"linkedName": null "linkedName": "sssss"
}, },
{ {
"anchor": { "anchor": {
"x": 13.5, "x": 13.12190361445783,
"y": 4.0 "y": 0.691120481927711
}, },
"prevControl": { "prevControl": {
"x": 13.231071353115471, "x": 13.279328656950806,
"y": 4.0 "y": 0.9178648386441994
}, },
"nextControl": null, "nextControl": null,
"isLocked": false, "isLocked": false,
"linkedName": null "linkedName": "3"
} }
], ],
"rotationTargets": [], "rotationTargets": [],
@@ -33,22 +33,22 @@
"pointTowardsZones": [], "pointTowardsZones": [],
"eventMarkers": [], "eventMarkers": [],
"globalConstraints": { "globalConstraints": {
"maxVelocity": 1.5, "maxVelocity": 2.0,
"maxAcceleration": 3.0, "maxAcceleration": 4.0,
"maxAngularVelocity": 360.0, "maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0, "maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0, "nominalVoltage": 12.0,
"unlimited": false "unlimited": false
}, },
"goalEndState": { "goalEndState": {
"velocity": 0, "velocity": 0.0,
"rotation": 180.0 "rotation": 180.0
}, },
"reversed": false, "reversed": false,
"folder": "Red Middle", "folder": "Red Right from pwz",
"idealStartingState": { "idealStartingState": {
"velocity": 0, "velocity": 0,
"rotation": 180.0 "rotation": 141.0090059574941
}, },
"useDefaultConstraints": true "useDefaultConstraints": true
} }
@@ -0,0 +1,54 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 13.12190361445783,
"y": 0.691120481927711
},
"prevControl": null,
"nextControl": {
"x": 13.364446481851207,
"y": 0.7517254114021283
},
"isLocked": false,
"linkedName": "3"
},
{
"anchor": {
"x": 13.537156626506023,
"y": 1.5981204819277117
},
"prevControl": {
"x": 12.99967089935809,
"y": 1.0440189745972686
},
"nextControl": null,
"isLocked": false,
"linkedName": "sssss"
}
],
"rotationTargets": [],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 4.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0,
"rotation": 141.0090059574941
},
"reversed": false,
"folder": "Red Right from pwz",
"idealStartingState": {
"velocity": 1.2,
"rotation": 180.0
},
"useDefaultConstraints": true
}
+9 -7
View File
@@ -3,19 +3,21 @@
"robotLength": 0.85, "robotLength": 0.85,
"holonomicMode": true, "holonomicMode": true,
"pathFolders": [ "pathFolders": [
"Blue Middle", "Blue Left from pwz",
"Red Middle" "Red Right from pwz",
"Blue Right from pwz"
], ],
"autoFolders": [ "autoFolders": [
"Red Middle", "Blue",
"Blue Middle" "New Folder",
"Red"
], ],
"defaultMaxVel": 1.5, "defaultMaxVel": 2.0,
"defaultMaxAccel": 3.0, "defaultMaxAccel": 4.0,
"defaultMaxAngVel": 360.0, "defaultMaxAngVel": 360.0,
"defaultMaxAngAccel": 720.0, "defaultMaxAngAccel": 720.0,
"defaultNominalVoltage": 12.0, "defaultNominalVoltage": 12.0,
"robotMass": 30.0, "robotMass": 50.0,
"robotMOI": 3.6, "robotMOI": 3.6,
"robotTrackwidth": 0.546, "robotTrackwidth": 0.546,
"driveWheelRadius": 0.045, "driveWheelRadius": 0.045,
+4 -4
View File
@@ -55,8 +55,8 @@ public final class Constants {
public static final double backboardSpeedMax = 3.0; public static final double backboardSpeedMax = 3.0;
public static final double backboardSpeedMin = 0; public static final double backboardSpeedMin = 0;
public static final double backboardGravityFeedforwardMinVolts = 0.1; public static final double backboardGravityFeedforwardMinVolts = 0.2;
public static final double backboardGravityFeedforwardMaxVolts = 0.3; public static final double backboardGravityFeedforwardMaxVolts = 0.5;
public static final double backboardGravityFeedforwardMinPosition = 0.0; public static final double backboardGravityFeedforwardMinPosition = 0.0;
public static final double backboardGravityFeedforwardMaxPosition = 2200.0; public static final double backboardGravityFeedforwardMaxPosition = 2200.0;
public static final double backboardGravityFeedforwardDirection = 1.0; public static final double backboardGravityFeedforwardDirection = 1.0;
@@ -128,7 +128,7 @@ public final class Constants {
public static final double intakeRollerOuttakeVoltage = 3.0; public static final double intakeRollerOuttakeVoltage = 3.0;
public static final double intakeRotaterRaiseVoltage = 0.8; public static final double intakeRotaterRaiseVoltage = 0.8;
public static final double intakeRotaterLowerVoltage = 0.05; public static final double intakeRotaterLowerVoltage = -0.1;
public static final Slot0Configs intakeRollerSlot0Configs = new Slot0Configs() public static final Slot0Configs intakeRollerSlot0Configs = new Slot0Configs()
.withKP(0.00).withKI(0.00).withKD(0.00) .withKP(0.00).withKI(0.00).withKD(0.00)
@@ -158,7 +158,7 @@ public final class Constants {
public static final double shooterFeedVelocity = Shooter.shooterConveyorFeedVelocity; public static final double shooterFeedVelocity = Shooter.shooterConveyorFeedVelocity;
public static final double shooterReverseVelocity = Shooter.shooterConveyorReverseVelocity; public static final double shooterReverseVelocity = Shooter.shooterConveyorReverseVelocity;
public static final double shootTimeoutSeconds = 3.0; public static final double shootTimeoutSeconds = 4.0;
public static final double aimToleranceDegrees = 1.5; public static final double aimToleranceDegrees = 1.5;
public static final double stationarySpeedToleranceMetersPerSecond = 0.5; public static final double stationarySpeedToleranceMetersPerSecond = 0.5;
public static final double passBallFlywheelVoltage = Shooter.defaultFlywheelVoltage; public static final double passBallFlywheelVoltage = Shooter.defaultFlywheelVoltage;
+1
View File
@@ -45,6 +45,7 @@ public class Robot extends TimedRobot {
@Override @Override
public void autonomousInit() { public void autonomousInit() {
m_autonomousCommand = m_robotContainer.getAutonomousCommand(); m_autonomousCommand = m_robotContainer.getAutonomousCommand();
System.out.println("Selected auto: " + (m_autonomousCommand == null ? "null" : m_autonomousCommand.getName()));
if (m_autonomousCommand != null) { if (m_autonomousCommand != null) {
CommandScheduler.getInstance().schedule(m_autonomousCommand); CommandScheduler.getInstance().schedule(m_autonomousCommand);
@@ -23,11 +23,18 @@ public class Autocommand extends SequentialCommandGroup {
OperatorControls operatorControls OperatorControls operatorControls
) { ) {
NamedCommands.registerCommand("start_intake", startIntake(superstructure)); NamedCommands.registerCommand("start_intake", startIntake(superstructure));
NamedCommands.registerCommand("start_intake_and_conveyor", startIntake(superstructure));
NamedCommands.registerCommand("stop_intake", idle(superstructure));
NamedCommands.registerCommand("stop_intake_", idle(superstructure)); NamedCommands.registerCommand("stop_intake_", idle(superstructure));
NamedCommands.registerCommand("intaker_down", lowerIntaker(intakeRotater)); NamedCommands.registerCommand("stop_intake_and_conveyor", idle(superstructure));
NamedCommands.registerCommand("init", init(superstructure));
NamedCommands.registerCommand("intaker_down", init(superstructure));
NamedCommands.registerCommand("intaker_up", raiseIntaker(intakeRotater));
NamedCommands.registerCommand("shoot_hub", shootHub(superstructure)); NamedCommands.registerCommand("shoot_hub", shootHub(superstructure));
NamedCommands.registerCommand("reset_backboard0", operatorControls.resetBackboard0Command()); NamedCommands.registerCommand("reset_backboard0", operatorControls.resetBackboard0Command());
NamedCommands.registerCommand("AutoAimForShoot", autoAimForShoot(driveControls)); NamedCommands.registerCommand("AutoAimForShoot", autoAimForShoot(driveControls));
NamedCommands.registerCommand("AutoAim", autoAimForShoot(driveControls));
NamedCommands.registerCommand("Shake", driveControls.shakeCommand());
} }
public static Command startIntake(Superstructure superstructure) { public static Command startIntake(Superstructure superstructure) {
@@ -38,8 +45,12 @@ public class Autocommand extends SequentialCommandGroup {
return superstructure.requestIdleCommand(); return superstructure.requestIdleCommand();
} }
public static Command lowerIntaker(IntakeRotaterSubsystem intakeRotater) { public static Command init(Superstructure superstructure) {
return intakeRotater.lowerForMatchCommand(); return superstructure.requestInitCommand();
}
public static Command raiseIntaker(IntakeRotaterSubsystem intakeRotater) {
return intakeRotater.raiseForMatchCommand();
} }
public static Command shootHub(Superstructure superstructure) { public static Command shootHub(Superstructure superstructure) {
@@ -46,8 +46,8 @@ public class TunerConstants {
private static final SteerMotorArrangement kSteerMotorType = SteerMotorArrangement.TalonFX_Integrated; private static final SteerMotorArrangement kSteerMotorType = SteerMotorArrangement.TalonFX_Integrated;
// The remote sensor feedback type to use for the steer motors; // The remote sensor feedback type to use for the steer motors;
// When not Pro-licensed, Fused*/Sync* automatically fall back to Remote* // Use RemoteCANcoder so the steer TalonFXs do not require Phoenix Pro licenses.
private static final SteerFeedbackType kSteerFeedbackType = SteerFeedbackType.FusedCANcoder; private static final SteerFeedbackType kSteerFeedbackType = SteerFeedbackType.RemoteCANcoder;
// The stator current at which the wheels start to slip; // The stator current at which the wheels start to slip;
// This needs to be tuned to your individual robot // This needs to be tuned to your individual robot
@@ -41,6 +41,10 @@ public class IntakeRollerSubsystem extends SubsystemBase {
setVoltage(Constants.Intaker.intakeRollerIntakeVoltage); setVoltage(Constants.Intaker.intakeRollerIntakeVoltage);
} }
public void intakeforshoot() {
setVoltage(-1.0);
}
public void outtake() { public void outtake() {
setVoltage(Constants.Intaker.intakeRollerOuttakeVoltage); setVoltage(Constants.Intaker.intakeRollerOuttakeVoltage);
} }
@@ -82,7 +82,7 @@ public class IntakeRotaterSubsystem extends SubsystemBase {
public void postShootIdleAssist(double elapsedSeconds) { public void postShootIdleAssist(double elapsedSeconds) {
double cycleTime = elapsedSeconds % 0.2; double cycleTime = elapsedSeconds % 0.2;
setVoltage(cycleTime < 0.1 ? 0.03 : 0.0); setVoltage(cycleTime < 0.1 ? 0.0 : 0.0);
} }
public void manualRaise() { public void manualRaise() {
@@ -22,6 +22,7 @@ import frc.robot.Constants;
public class Superstructure extends SubsystemBase { public class Superstructure extends SubsystemBase {
// 操作员或自动程序请求的目标状态。 // 操作员或自动程序请求的目标状态。
public enum WantedState { public enum WantedState {
INIT,
IDLE, IDLE,
INTAKE, INTAKE,
SHOOT_HUB, SHOOT_HUB,
@@ -34,6 +35,7 @@ public class Superstructure extends SubsystemBase {
// 机器人内部实际执行状态,用于动作排序和仪表盘诊断。 // 机器人内部实际执行状态,用于动作排序和仪表盘诊断。
public enum SystemState { public enum SystemState {
DISABLED, DISABLED,
INITIALIZING,
STOWED, STOWED,
INTAKING, INTAKING,
PREP_SHOOT, PREP_SHOOT,
@@ -85,6 +87,10 @@ public class Superstructure extends SubsystemBase {
wantedState = WantedState.IDLE; wantedState = WantedState.IDLE;
} }
public void requestInit() {
wantedState = WantedState.INIT;
}
public void requestIntake() { public void requestIntake() {
wantedState = WantedState.INTAKE; wantedState = WantedState.INTAKE;
} }
@@ -123,6 +129,14 @@ public class Superstructure extends SubsystemBase {
return Commands.runOnce(this::requestIdle, this); return Commands.runOnce(this::requestIdle, this);
} }
public Command requestInitCommand() {
return Commands.sequence(
Commands.runOnce(this::requestInit),
intakeRotater.lowerForMatchCommand(),
Commands.runOnce(this::requestIntake)
);
}
public Command requestIntakeCommand() { public Command requestIntakeCommand() {
return Commands.runOnce(this::requestIntake, this); return Commands.runOnce(this::requestIntake, this);
} }
@@ -225,6 +239,7 @@ public class Superstructure extends SubsystemBase {
} }
switch (wantedState) { switch (wantedState) {
case INIT -> handleInit();
case IDLE -> handleIdle(); case IDLE -> handleIdle();
case INTAKE -> handleIntake(); case INTAKE -> handleIntake();
case SHOOT_HUB -> handleShootHub(); case SHOOT_HUB -> handleShootHub();
@@ -237,6 +252,18 @@ public class Superstructure extends SubsystemBase {
publishTelemetry(); publishTelemetry();
} }
private void handleInit() {
if (systemState != SystemState.INITIALIZING) {
setSystemState(SystemState.INITIALIZING);
}
conveyor.stop();
intakeRoller.stop();
stopFlywheelUnlessTuning();
stopShooterConveyorUnlessTuning();
holdBackboardStowedUnlessTuning();
}
private void handleIdle() { private void handleIdle() {
// 安全默认状态:球路不动,intaker 不主动动作,背板保持受控。 // 安全默认状态:球路不动,intaker 不主动动作,背板保持受控。
conveyor.stop(); conveyor.stop();
@@ -306,7 +333,6 @@ public class Superstructure extends SubsystemBase {
&& systemState != SystemState.SHOOTING) { && systemState != SystemState.SHOOTING) {
setSystemState(SystemState.PREP_SHOOT); setSystemState(SystemState.PREP_SHOOT);
} }
intakeRoller.stop();
// 距离到射速的映射由 LimelightSubsystem 提供;操作员 offset 用于现场微调, // 距离到射速的映射由 LimelightSubsystem 提供;操作员 offset 用于现场微调,
// 但不会绕过 Superstructure 状态机。 // 但不会绕过 Superstructure 状态机。
shooter.setFlywheelVelocity(targetVelocity); shooter.setFlywheelVelocity(targetVelocity);
@@ -316,7 +342,7 @@ public class Superstructure extends SubsystemBase {
// 只有 canShoot() 通过后才会进入本状态;喂球期间不再复查门控, // 只有 canShoot() 通过后才会进入本状态;喂球期间不再复查门控,
// 避免球接触飞轮导致的掉速中断喂球。 // 避免球接触飞轮导致的掉速中断喂球。
intakeRotater.shootAssist(); intakeRotater.shootAssist();
intakeRoller.intakeforshoot();
conveyor.feedToShooter(); conveyor.feedToShooter();
runShooterConveyorVelocityUnlessTuning(Constants.Superstructure.shooterFeedVelocity); runShooterConveyorVelocityUnlessTuning(Constants.Superstructure.shooterFeedVelocity);
return; return;
@@ -325,6 +351,7 @@ public class Superstructure extends SubsystemBase {
// 未开始喂球前,球路保持静止。 // 未开始喂球前,球路保持静止。
conveyor.stop(); conveyor.stop();
stopShooterConveyorUnlessTuning(); stopShooterConveyorUnlessTuning();
intakeRoller.stop();
// 门控条件实时刷新:条件回落时状态同步回退,仪表盘能看到卡在哪一关。 // 门控条件实时刷新:条件回落时状态同步回退,仪表盘能看到卡在哪一关。
if (canShoot()) { if (canShoot()) {