diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/RedCrabMinibot.java b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/RedCrabMinibot.java index 2c0470f..be0efb4 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/RedCrabMinibot.java +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/RedCrabMinibot.java @@ -88,6 +88,7 @@ public class RedCrabMinibot { public final DcMotorEx deadWheelXLeft, deadWheelXRight; public final EncoderCustomKB2040 deadWheelYCenter; public final DigitalChannel greenLED, redLED; + public final boolean LED_OFF = true, LED_ON = false; final CyberarmEngine engine; @@ -254,8 +255,8 @@ public class RedCrabMinibot { greenLED.setMode(DigitalChannel.Mode.OUTPUT); redLED.setMode(DigitalChannel.Mode.OUTPUT); - greenLED.setState(true); - redLED.setState(true); + greenLED.setState(LED_OFF); + redLED.setState(LED_ON); // Bulk read from hubs Utilities.hubsBulkReadMode(engine.hardwareMap, LynxModule.BulkCachingMode.MANUAL); @@ -269,6 +270,12 @@ public class RedCrabMinibot { RedCrabMinibot.localizer.reset(); } + public void shutdown() { + // Prevent LED(s) from being on while idle + greenLED.setMode(DigitalChannel.Mode.INPUT); + redLED.setMode(DigitalChannel.Mode.INPUT); + } + public void reloadConfig() { config = new TimeCraftersConfiguration("cyberarm_RedCrab"); diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/cyberarm_RedCrab.json b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/cyberarm_RedCrab.json index 438e29c..8988cb0 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/cyberarm_RedCrab.json +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/cyberarm_RedCrab.json @@ -1 +1 @@ -{"config":{"created_at":"2023-12-11 09:31:55 -0600","updated_at":"2024-01-30 23:15:39 -0600","spec_version":2,"revision":1175},"data":{"groups":[{"name":"Autonomous_BLUE_Audience","actions":[{"name":"00-00","comment":"@ClawArmMove - Move claw arm up high","enabled":true,"variables":[{"name":"angle","value":"Dx130.0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2500"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"00-01","comment":"@ServoMove - Move wrist to position camera","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1000"}]},{"name":"01-00","comment":"@PathSelector - Pick path; default Center","enabled":true,"variables":[{"name":"minConfidence","value":"Dx18.0"},{"name":"path","value":"Ix1"},{"name":"timeoutMS","value":"Ix500"}]},{"name":"02-00","comment":"@Move - Move forward","enabled":true,"variables":[{"name":"distanceMM","value":"Dx415"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-01","comment":"@ClawArmMove - Move claw arm down","enabled":true,"variables":[{"name":"angle","value":"Dx220"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix10"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"02-02","comment":"@ServoMove - Move wrist servo","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx10"},{"name":"position","value":"Dx0.51"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix10"}]},{"name":"04-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"05-00","comment":"@PathEnactor - Enact path; paths must return to \"origin\" when done","enabled":true,"variables":[{"name":"forcePath","value":"Ix-1"}]},{"name":"06-00","comment":"@ClawArmMove - Move claw arm to stow position","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix1"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"06-01","comment":"@ServoMove - Move wrist to stow position","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1"}]},{"name":"07-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"08-00","comment":"@Move - Move back","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-207"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"09-00","comment":"@Rotate - Rotate to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"10-00","comment":"@Move - Strafe to right","enabled":true,"variables":[{"name":"distanceMM","value":"Dx610"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxtrue"},{"name":"timeoutMS","value":"Ix3000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"11-00","comment":"@Rotate - Rotate to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"12-00","comment":"@Move - Move forward unto Dawn","enabled":true,"variables":[{"name":"distanceMM","value":"Dx1043"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx900"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix8000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"13-00","comment":"@Rotate - Rotate to 270d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx270"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"14-00","comment":"@Move - Move forward to backstage","enabled":true,"variables":[{"name":"distanceMM","value":"Dx2844"},{"name":"lerpMM_DOWN","value":"Dx500"},{"name":"lerpMM_UP","value":"Dx500"},{"name":"maxVelocityMM","value":"Dx1220"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix8000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"15-00","comment":"@ClawArmMove - Move claw arm down","enabled":true,"variables":[{"name":"angle","value":"Dx180"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"16-00","comment":"@ServoMove - Open left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix250"}]},{"name":"17-00","comment":"@ClawArmMove - Move claw arm to stow","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2500"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"17-01","comment":"@ServoMove - close left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.2"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix250"}]}]},{"name":"Autonomous_RED_Audience","actions":[{"name":"00-00","comment":"@ClawArmMove - Move claw arm up high","enabled":true,"variables":[{"name":"angle","value":"Dx130.0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2500"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"00-01","comment":"@ServoMove - Move wrist to position camera","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1000"}]},{"name":"01-00","comment":"@PathSelector - Pick path; default Center","enabled":true,"variables":[{"name":"minConfidence","value":"Dx18.0"},{"name":"path","value":"Ix1"},{"name":"timeoutMS","value":"Ix500"}]},{"name":"02-00","comment":"@Move - Move forward","enabled":true,"variables":[{"name":"distanceMM","value":"Dx415"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-01","comment":"@ClawArmMove - Move claw arm down","enabled":true,"variables":[{"name":"angle","value":"Dx220"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix10"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"02-02","comment":"@ServoMove - Move wrist servo","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx10"},{"name":"position","value":"Dx0.51"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix10"}]},{"name":"04-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"05-00","comment":"@PathEnactor - Enact path; paths must return to \"origin\" when done","enabled":true,"variables":[{"name":"forcePath","value":"Ix-1"}]},{"name":"06-00","comment":"@ClawArmMove - Move claw arm to stow position","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix1"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"06-01","comment":"@ServoMove - Move wrist to stow position","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1"}]},{"name":"07-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"08-00","comment":"@Move - Move back","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-207"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"09-00","comment":"@Rotate - Rotate to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"10-00","comment":"@Move - Strafe to left","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-610"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxtrue"},{"name":"timeoutMS","value":"Ix3000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"11-00","comment":"@Rotate - Rotate to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"12-00","comment":"@Move - Move forward unto Dawn","enabled":true,"variables":[{"name":"distanceMM","value":"Dx1043"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx900"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix8000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"13-00","comment":"@Rotate - Rotate to 90d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx90"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"14-00","comment":"@Move - Move forward to backstage","enabled":true,"variables":[{"name":"distanceMM","value":"Dx2844"},{"name":"lerpMM_DOWN","value":"Dx500"},{"name":"lerpMM_UP","value":"Dx500"},{"name":"maxVelocityMM","value":"Dx1220"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix8000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"15-00","comment":"@ClawArmMove - Move claw arm down","enabled":true,"variables":[{"name":"angle","value":"Dx180"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"16-00","comment":"@ServoMove - Open left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix250"}]},{"name":"17-00","comment":"@ClawArmMove - Move claw arm to stow","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2500"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"17-01","comment":"@ServoMove - close left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.2"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix250"}]}]},{"name":"Autonomous_RED_Backstage","actions":[{"name":"00-00","comment":"@ClawArmMove - Move claw arm up high","enabled":true,"variables":[{"name":"angle","value":"Dx130.0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2500"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"00-01","comment":"@ServoMove - Move wrist to position camera","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1000"}]},{"name":"01-00","comment":"@PathSelector - Pick path; default Center","enabled":true,"variables":[{"name":"minConfidence","value":"Dx18.0"},{"name":"path","value":"Ix1"},{"name":"timeoutMS","value":"Ix500"}]},{"name":"02-00","comment":"@Move - Move forward","enabled":true,"variables":[{"name":"distanceMM","value":"Dx415"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-01","comment":"@ClawArmMove - Move claw arm down","enabled":true,"variables":[{"name":"angle","value":"Dx220"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix10"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"02-02","comment":"@ServoMove - Move wrist servo","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx10"},{"name":"position","value":"Dx0.51"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix10"}]},{"name":"04-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"05-00","comment":"@PathEnactor - Enact path; paths must return to \"origin\" when done","enabled":true,"variables":[{"name":"forcePath","value":"Ix-1"}]},{"name":"06-00","comment":"@ClawArmMove - Move claw arm to deposit position","enabled":true,"variables":[{"name":"angle","value":"Dx165.0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix1"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"06-01","comment":"@ServoMove - Move wrist to deposit position","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.508"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1"}]},{"name":"07-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"08-00","comment":"@Move - Move back","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-207"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"09-00","comment":"@Rotate - Rotate to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"10-00","comment":"@Move - Strafe to the right","enabled":true,"variables":[{"name":"distanceMM","value":"Dx610"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxtrue"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"11-00","comment":"@Rotate - Rotate to 90d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx90"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"12-00","comment":"@Move - Strafe to the left","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-101"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx25"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxtrue"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"13-00","comment":"@Rotate - Rotate to 90d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx90"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"14-00","comment":"@Move - Move to backboard","enabled":true,"variables":[{"name":"distanceMM","value":"Dx475"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"15-00","comment":"@ServoMove - Open left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix1000"}]},{"name":"16-00","comment":"@Move - Move back a bit","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-75"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx25"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"17-00","comment":"@Move - Move right the right","enabled":true,"variables":[{"name":"distanceMM","value":"Dx600"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxtrue"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"17-01","comment":"@ClawArmMove - Move claw arm to stow position","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix1"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"17-02","comment":"@ServoMove - Move wrist to stow position","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1000"}]},{"name":"17-03","comment":"@ServoMove - Close left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.2"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix1000"}]}]},{"name":"Autonomous_SpikePath_CENTER","actions":[{"name":"01-00","comment":"@Move - Move forward to spike mark","enabled":true,"variables":[{"name":"distanceMM","value":"Dx152"},{"name":"lerpMM_DOWN","value":"Dx50"},{"name":"lerpMM_UP","value":"Dx50"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"02-01","comment":"@ServoMove - Open right claw (purple)","enabled":true,"variables":[{"name":"lerp","value":"Bxtrue"},{"name":"lerpMS","value":"Dx500"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix750"}]},{"name":"04-00","comment":"@Move - Move back from spike mark","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-152"},{"name":"lerpMM_DOWN","value":"Dx50"},{"name":"lerpMM_UP","value":"Dx50"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"05-00","comment":"@ServoMove - Close right claw (purple)","enabled":true,"variables":[{"name":"lerp","value":"Bxtrue"},{"name":"lerpMS","value":"Dx500"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix750"}]},{"name":"05-01","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]}]},{"name":"Autonomous_SpikePath_LEFT","actions":[{"name":"00-00","comment":"@Rotate - Rotate robot to towards left spike mark","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx316"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"01-00","comment":"@Move - Move up a bit","enabled":false,"variables":[{"name":"distanceMM","value":"Dx101"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx25"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-00","comment":"@ServoMove - Drop pixel","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix500"}]},{"name":"03-00","comment":"@ServoMove - Close claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.72"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix100"}]},{"name":"04-00","comment":"@Move - Move back a bit","enabled":false,"variables":[{"name":"distanceMM","value":"Dx-101"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx25"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"05-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]}]},{"name":"Autonomous_SpikePath_RIGHT","actions":[{"name":"00-00","comment":"@Rotate - Rotate robot to towards right spike mark","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx45"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"01-00","comment":"@Move - Move up a bit","enabled":true,"variables":[{"name":"distanceMM","value":"Dx50"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx10"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-00","comment":"@ServoMove - Drop pixel","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix500"}]},{"name":"03-00","comment":"@ServoMove - Close claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.72"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix100"}]},{"name":"04-00","comment":"@Move - Move back a bit","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-50"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx2"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"05-00","comment":"@Rotate - Rotate robot to 0d","enabled":false,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]}]},{"name":"Autonomous_Z_DEBUG","actions":[{"name":"00-00","comment":"@MoveToCoordinate - Trial run(s)","enabled":true,"variables":[{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"lerpMM_DOWN","value":"Dx305"},{"name":"lerpMM_UP","value":"Dx305"},{"name":"maxVelocityMM","value":"Dx610.0"},{"name":"minDistanceMM","value":"Dx25.0"},{"name":"minVelocityMM","value":"Dx125.0"},{"name":"stopDrivetrain","value":"Bxtrue"},{"name":"targetAngleDEGREES","value":"Dx0"},{"name":"targetAngleToleranceDEGREES","value":"Dx5"},{"name":"targetPosMM","value":"Sx1200.0x0.0"},{"name":"timeoutMS","value":"Ix5000"}]}]},{"name":"Robot","actions":[{"name":"Claw_Tuning","comment":"Claws","enabled":true,"variables":[{"name":"claw_left_closed_position","value":"Dx0.2"},{"name":"claw_left_open_position","value":"Dx0.5"},{"name":"claw_right_closed_position","value":"Dx0.78"},{"name":"claw_right_open_position","value":"Dx0.5"}]},{"name":"ClawArm_Tuning","comment":"Claw Arm","enabled":true,"variables":[{"name":"collect_angle","value":"Dx242"},{"name":"collect_float_angle","value":"Dx237"},{"name":"deposit_angle","value":"Dx165.0"},{"name":"gear_ratio","value":"Dx1"},{"name":"kD","value":"Dx1"},{"name":"kF","value":"Dx0.0"},{"name":"kI","value":"Dx1.5"},{"name":"kP","value":"Dx6"},{"name":"KPosP","value":"Dx1"},{"name":"max_current_milliamps","value":"Dx1588.0"},{"name":"max_speed","value":"Dx0.5"},{"name":"max_velocityDEGREES","value":"Dx60"},{"name":"motor_ticks","value":"Ix8192"},{"name":"stow_angle","value":"Dx0"},{"name":"tolerance","value":"Ix288"},{"name":"warn_overcurrent_after_ms","value":"Lx5000"}]},{"name":"ClawWrist_Tuning","comment":"Claw Wrist","enabled":true,"variables":[{"name":"collect_float_position","value":"Dx0.52"},{"name":"collect_position","value":"Dx0.505"},{"name":"deposit_position","value":"Dx0.508"},{"name":"stow_position","value":"Dx0.74"}]},{"name":"Drivetrain_Tuning","comment":"Drivetrain","enabled":true,"variables":[{"name":"gear_ratio","value":"Dx13.0321"},{"name":"max_speed","value":"Dx0.5"},{"name":"motor_ticks","value":"Ix28"},{"name":"velocity_max_in_mm","value":"Dx610"},{"name":"velocity_slow_in_mm","value":"Dx250"},{"name":"wheel_diameter_mm","value":"Dx90"}]},{"name":"DroneLauncher_Tuning","comment":"Drone Launcher","enabled":true,"variables":[{"name":"initial_position","value":"Dx0.5"},{"name":"launch_confirmation_time_ms","value":"Ix1000"},{"name":"launch_position","value":"Dx0"}]},{"name":"HookArm_Tuning","comment":"Hook Arm","enabled":true,"variables":[{"name":"stow_position","value":"Dx0.35"},{"name":"up_position","value":"Dx0.8"}]},{"name":"Winch_Tuning","comment":"Winch","enabled":true,"variables":[{"name":"max_speed","value":"Dx1.0"}]}]},{"name":"zAutonomous_BLUE_Audience","actions":[]},{"name":"zAutonomous_BLUE_Backstage","actions":[]}],"presets":{"groups":[],"actions":[{"name":"ClawArmMove","comment":"@ClawArmMove - Move claw arm","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix1000"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"Move","comment":"@Move - Move ta wheels matey!","enabled":true,"variables":[{"name":"distanceMM","value":"Dx300"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"PathEnactor","comment":"@PathEnactor - Enact path","enabled":true,"variables":[]},{"name":"PathSelector","comment":"@PathSelector - Pick path","enabled":true,"variables":[{"name":"fallbackPath","value":"Ix0"},{"name":"minConfidence","value":"Dx0.7"},{"name":"timeoutMS","value":"Ix2000"}]},{"name":"Rotate","comment":"@Rotate - Rotate robot to face degree heading","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"ServoMove","comment":"@ServoMove - Move servo to position","enabled":true,"variables":[{"name":"lerp","value":"Bxtrue"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix2000"}]}]}}} \ No newline at end of file +{"config":{"created_at":"2023-12-11 09:31:55 -0600","updated_at":"2024-01-31 08:59:33 -0600","spec_version":2,"revision":1180},"data":{"groups":[{"name":"Autonomous_BLUE_Audience","actions":[{"name":"00-00","comment":"@ClawArmMove - Move claw arm up high","enabled":true,"variables":[{"name":"angle","value":"Dx130.0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2500"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"00-01","comment":"@ServoMove - Move wrist to position camera","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1000"}]},{"name":"01-00","comment":"@PathSelector - Pick path; default Center","enabled":true,"variables":[{"name":"minConfidence","value":"Dx18.0"},{"name":"path","value":"Ix1"},{"name":"timeoutMS","value":"Ix500"}]},{"name":"02-00","comment":"@Move - Move forward","enabled":true,"variables":[{"name":"distanceMM","value":"Dx415"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-01","comment":"@ClawArmMove - Move claw arm down","enabled":true,"variables":[{"name":"angle","value":"Dx220"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix10"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"02-02","comment":"@ServoMove - Move wrist servo","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx10"},{"name":"position","value":"Dx0.51"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix10"}]},{"name":"04-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"05-00","comment":"@PathEnactor - Enact path; paths must return to \"origin\" when done","enabled":true,"variables":[{"name":"forcePath","value":"Ix-1"}]},{"name":"06-00","comment":"@ClawArmMove - Move claw arm to stow position","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix1"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"06-01","comment":"@ServoMove - Move wrist to stow position","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1"}]},{"name":"07-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"08-00","comment":"@Move - Move back","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-207"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"09-00","comment":"@Rotate - Rotate to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"10-00","comment":"@Move - Strafe to right","enabled":true,"variables":[{"name":"distanceMM","value":"Dx610"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxtrue"},{"name":"timeoutMS","value":"Ix3000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"11-00","comment":"@Rotate - Rotate to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"12-00","comment":"@Move - Move forward unto Dawn","enabled":true,"variables":[{"name":"distanceMM","value":"Dx1043"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx900"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix8000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"13-00","comment":"@Rotate - Rotate to 270d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx270"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"14-00","comment":"@Move - Move forward to backstage","enabled":true,"variables":[{"name":"distanceMM","value":"Dx2844"},{"name":"lerpMM_DOWN","value":"Dx500"},{"name":"lerpMM_UP","value":"Dx500"},{"name":"maxVelocityMM","value":"Dx1220"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix8000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"15-00","comment":"@ClawArmMove - Move claw arm down","enabled":true,"variables":[{"name":"angle","value":"Dx180"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"16-00","comment":"@ServoMove - Open left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix250"}]},{"name":"17-00","comment":"@ClawArmMove - Move claw arm to stow","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2500"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"17-01","comment":"@ServoMove - close left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.2"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix250"}]}]},{"name":"Autonomous_RED_Audience","actions":[{"name":"00-00","comment":"@ClawArmMove - Move claw arm up high","enabled":true,"variables":[{"name":"angle","value":"Dx130.0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2500"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"00-01","comment":"@ServoMove - Move wrist to position camera","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1000"}]},{"name":"01-00","comment":"@PathSelector - Pick path; default Center","enabled":true,"variables":[{"name":"minConfidence","value":"Dx18.0"},{"name":"path","value":"Ix1"},{"name":"timeoutMS","value":"Ix500"}]},{"name":"02-00","comment":"@Move - Move forward","enabled":true,"variables":[{"name":"distanceMM","value":"Dx415"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-01","comment":"@ClawArmMove - Move claw arm down","enabled":true,"variables":[{"name":"angle","value":"Dx220"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix10"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"02-02","comment":"@ServoMove - Move wrist servo","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx10"},{"name":"position","value":"Dx0.51"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix10"}]},{"name":"04-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"05-00","comment":"@PathEnactor - Enact path; paths must return to \"origin\" when done","enabled":true,"variables":[{"name":"forcePath","value":"Ix-1"}]},{"name":"06-00","comment":"@ClawArmMove - Move claw arm to stow position","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix1"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"06-01","comment":"@ServoMove - Move wrist to stow position","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1"}]},{"name":"07-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"08-00","comment":"@Move - Move back","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-207"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"09-00","comment":"@Rotate - Rotate to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"10-00","comment":"@Move - Strafe to left","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-610"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxtrue"},{"name":"timeoutMS","value":"Ix3000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"11-00","comment":"@Rotate - Rotate to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"12-00","comment":"@Move - Move forward unto Dawn","enabled":true,"variables":[{"name":"distanceMM","value":"Dx1043"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx900"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix8000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"13-00","comment":"@Rotate - Rotate to 90d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx90"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"14-00","comment":"@Move - Move forward to backstage","enabled":true,"variables":[{"name":"distanceMM","value":"Dx2844"},{"name":"lerpMM_DOWN","value":"Dx500"},{"name":"lerpMM_UP","value":"Dx500"},{"name":"maxVelocityMM","value":"Dx1220"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix8000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"15-00","comment":"@ClawArmMove - Move claw arm down","enabled":true,"variables":[{"name":"angle","value":"Dx180"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"16-00","comment":"@ServoMove - Open left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix250"}]},{"name":"17-00","comment":"@ClawArmMove - Move claw arm to stow","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2500"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"17-01","comment":"@ServoMove - close left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.2"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix250"}]}]},{"name":"Autonomous_RED_Backstage","actions":[{"name":"00-00","comment":"@ClawArmMove - Move claw arm up high","enabled":true,"variables":[{"name":"angle","value":"Dx130.0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix2500"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"00-01","comment":"@ServoMove - Move wrist to position camera","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1000"}]},{"name":"01-00","comment":"@PathSelector - Pick path; default Center","enabled":true,"variables":[{"name":"minConfidence","value":"Dx18.0"},{"name":"path","value":"Ix1"},{"name":"timeoutMS","value":"Ix500"}]},{"name":"02-00","comment":"@Move - Move forward","enabled":true,"variables":[{"name":"distanceMM","value":"Dx415"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-01","comment":"@ClawArmMove - Move claw arm down","enabled":true,"variables":[{"name":"angle","value":"Dx220"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix10"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"02-02","comment":"@ServoMove - Move wrist servo","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx10"},{"name":"position","value":"Dx0.51"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix10"}]},{"name":"04-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"05-00","comment":"@PathEnactor - Enact path; paths must return to \"origin\" when done","enabled":true,"variables":[{"name":"forcePath","value":"Ix-1"}]},{"name":"06-00","comment":"@ClawArmMove - Move claw arm to deposit position","enabled":true,"variables":[{"name":"angle","value":"Dx165.0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix1"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"06-01","comment":"@ServoMove - Move wrist to deposit position","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.508"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1"}]},{"name":"07-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"08-00","comment":"@Move - Move back","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-207"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"09-00","comment":"@Rotate - Rotate to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"10-00","comment":"@Move - Strafe to the right","enabled":true,"variables":[{"name":"distanceMM","value":"Dx610"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxtrue"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"11-00","comment":"@Rotate - Rotate to 90d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx90"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"12-00","comment":"@Move - Strafe to the left","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-101"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx25"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxtrue"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"13-00","comment":"@Rotate - Rotate to 90d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx90"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"14-00","comment":"@Move - Move to backboard","enabled":true,"variables":[{"name":"distanceMM","value":"Dx475"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"15-00","comment":"@ServoMove - Open left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix1000"}]},{"name":"16-00","comment":"@Move - Move back a bit","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-75"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx25"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"17-00","comment":"@Move - Move right the right","enabled":true,"variables":[{"name":"distanceMM","value":"Dx600"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxtrue"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"17-01","comment":"@ClawArmMove - Move claw arm to stow position","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix1"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"17-02","comment":"@ServoMove - Move wrist to stow position","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxclawWrist"},{"name":"timeoutMS","value":"Ix1000"}]},{"name":"17-03","comment":"@ServoMove - Close left claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1"},{"name":"position","value":"Dx0.2"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix1000"}]}]},{"name":"Autonomous_SpikePath_CENTER","actions":[{"name":"01-00","comment":"@Move - Move forward to spike mark","enabled":true,"variables":[{"name":"distanceMM","value":"Dx152"},{"name":"lerpMM_DOWN","value":"Dx50"},{"name":"lerpMM_UP","value":"Dx50"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"02-01","comment":"@ServoMove - Open right claw (purple)","enabled":true,"variables":[{"name":"lerp","value":"Bxtrue"},{"name":"lerpMS","value":"Dx500"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix750"}]},{"name":"04-00","comment":"@Move - Move back from spike mark","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-152"},{"name":"lerpMM_DOWN","value":"Dx50"},{"name":"lerpMM_UP","value":"Dx50"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"05-00","comment":"@ServoMove - Close right claw (purple)","enabled":true,"variables":[{"name":"lerp","value":"Bxtrue"},{"name":"lerpMS","value":"Dx500"},{"name":"position","value":"Dx0.74"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix750"}]},{"name":"05-01","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]}]},{"name":"Autonomous_SpikePath_LEFT","actions":[{"name":"00-00","comment":"@Rotate - Rotate robot to towards left spike mark","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx316"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"01-00","comment":"@Move - Move up a bit","enabled":false,"variables":[{"name":"distanceMM","value":"Dx101"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx25"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-00","comment":"@ServoMove - Drop pixel","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix500"}]},{"name":"03-00","comment":"@ServoMove - Close claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.72"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix100"}]},{"name":"04-00","comment":"@Move - Move back a bit","enabled":false,"variables":[{"name":"distanceMM","value":"Dx-101"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx25"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"05-00","comment":"@Rotate - Rotate robot to 0d","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]}]},{"name":"Autonomous_SpikePath_RIGHT","actions":[{"name":"00-00","comment":"@Rotate - Rotate robot to towards right spike mark","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx45"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"01-00","comment":"@Move - Move up a bit","enabled":true,"variables":[{"name":"distanceMM","value":"Dx50"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx10"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"02-00","comment":"@ServoMove - Drop pixel","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix500"}]},{"name":"03-00","comment":"@ServoMove - Close claw","enabled":true,"variables":[{"name":"lerp","value":"Bxfalse"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.72"},{"name":"servoName","value":"SxrightClaw"},{"name":"timeoutMS","value":"Ix100"}]},{"name":"04-00","comment":"@Move - Move back a bit","enabled":true,"variables":[{"name":"distanceMM","value":"Dx-50"},{"name":"lerpMM_DOWN","value":"Dx25"},{"name":"lerpMM_UP","value":"Dx2"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"05-00","comment":"@Rotate - Rotate robot to 0d","enabled":false,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]}]},{"name":"Autonomous_Z_DEBUG","actions":[{"name":"00-00","comment":"@MoveToCoordinate - Trial run(s)","enabled":true,"variables":[{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"lerpMM_DOWN","value":"Dx305"},{"name":"lerpMM_UP","value":"Dx305"},{"name":"maxVelocityMM","value":"Dx610.0"},{"name":"minDistanceMM","value":"Dx25.0"},{"name":"minVelocityMM","value":"Dx125.0"},{"name":"stopDrivetrain","value":"Bxtrue"},{"name":"targetAngleDEGREES","value":"Dx45"},{"name":"targetAngleToleranceDEGREES","value":"Dx5"},{"name":"targetPosMM","value":"Sx610.0x0.0"},{"name":"timeoutMS","value":"Ix15000"}]}]},{"name":"Robot","actions":[{"name":"Claw_Tuning","comment":"Claws","enabled":true,"variables":[{"name":"claw_left_closed_position","value":"Dx0.2"},{"name":"claw_left_open_position","value":"Dx0.5"},{"name":"claw_right_closed_position","value":"Dx0.78"},{"name":"claw_right_open_position","value":"Dx0.5"}]},{"name":"ClawArm_Tuning","comment":"Claw Arm","enabled":true,"variables":[{"name":"collect_angle","value":"Dx242"},{"name":"collect_float_angle","value":"Dx237"},{"name":"deposit_angle","value":"Dx165.0"},{"name":"gear_ratio","value":"Dx1"},{"name":"kD","value":"Dx1"},{"name":"kF","value":"Dx0.0"},{"name":"kI","value":"Dx1.5"},{"name":"kP","value":"Dx6"},{"name":"KPosP","value":"Dx1"},{"name":"max_current_milliamps","value":"Dx1588.0"},{"name":"max_speed","value":"Dx0.5"},{"name":"max_velocityDEGREES","value":"Dx60"},{"name":"motor_ticks","value":"Ix8192"},{"name":"stow_angle","value":"Dx0"},{"name":"tolerance","value":"Ix288"},{"name":"warn_overcurrent_after_ms","value":"Lx5000"}]},{"name":"ClawWrist_Tuning","comment":"Claw Wrist","enabled":true,"variables":[{"name":"collect_float_position","value":"Dx0.52"},{"name":"collect_position","value":"Dx0.505"},{"name":"deposit_position","value":"Dx0.508"},{"name":"stow_position","value":"Dx0.74"}]},{"name":"Drivetrain_Tuning","comment":"Drivetrain","enabled":true,"variables":[{"name":"gear_ratio","value":"Dx13.0321"},{"name":"max_speed","value":"Dx0.5"},{"name":"motor_ticks","value":"Ix28"},{"name":"velocity_max_in_mm","value":"Dx610"},{"name":"velocity_slow_in_mm","value":"Dx250"},{"name":"wheel_diameter_mm","value":"Dx90"}]},{"name":"DroneLauncher_Tuning","comment":"Drone Launcher","enabled":true,"variables":[{"name":"initial_position","value":"Dx0.5"},{"name":"launch_confirmation_time_ms","value":"Ix1000"},{"name":"launch_position","value":"Dx0"}]},{"name":"HookArm_Tuning","comment":"Hook Arm","enabled":true,"variables":[{"name":"stow_position","value":"Dx0.35"},{"name":"up_position","value":"Dx0.8"}]},{"name":"Winch_Tuning","comment":"Winch","enabled":true,"variables":[{"name":"max_speed","value":"Dx1.0"}]}]},{"name":"zAutonomous_BLUE_Audience","actions":[]},{"name":"zAutonomous_BLUE_Backstage","actions":[]}],"presets":{"groups":[],"actions":[{"name":"ClawArmMove","comment":"@ClawArmMove - Move claw arm","enabled":true,"variables":[{"name":"angle","value":"Dx0"},{"name":"power","value":"Dx0.5"},{"name":"timeoutMS","value":"Ix1000"},{"name":"toleranceAngle","value":"Dx1.5"}]},{"name":"Move","comment":"@Move - Move ta wheels matey!","enabled":true,"variables":[{"name":"distanceMM","value":"Dx300"},{"name":"lerpMM_DOWN","value":"Dx100"},{"name":"lerpMM_UP","value":"Dx100"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx250"},{"name":"strafe","value":"Bxfalse"},{"name":"timeoutMS","value":"Ix2000"},{"name":"toleranceMM","value":"Dx10"}]},{"name":"PathEnactor","comment":"@PathEnactor - Enact path","enabled":true,"variables":[]},{"name":"PathSelector","comment":"@PathSelector - Pick path","enabled":true,"variables":[{"name":"fallbackPath","value":"Ix0"},{"name":"minConfidence","value":"Dx0.7"},{"name":"timeoutMS","value":"Ix2000"}]},{"name":"Rotate","comment":"@Rotate - Rotate robot to face degree heading","enabled":true,"variables":[{"name":"headingDEGREES","value":"Dx0"},{"name":"lerpDEGREES","value":"Dx90.0"},{"name":"maxVelocityMM","value":"Dx610"},{"name":"minVelocityMM","value":"Dx50"},{"name":"timeoutMS","value":"Ix5000"},{"name":"toleranceDEGREES","value":"Dx0.5"}]},{"name":"ServoMove","comment":"@ServoMove - Move servo to position","enabled":true,"variables":[{"name":"lerp","value":"Bxtrue"},{"name":"lerpMS","value":"Dx1000"},{"name":"position","value":"Dx0.5"},{"name":"servoName","value":"SxleftClaw"},{"name":"timeoutMS","value":"Ix2000"}]}]}}} \ No newline at end of file diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousBlueAudienceEngine.java b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousBlueAudienceEngine.java index 8e17fff..1cfb46d 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousBlueAudienceEngine.java +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousBlueAudienceEngine.java @@ -4,12 +4,11 @@ import com.qualcomm.robotcore.eventloop.opmode.Autonomous; import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersConfiguration; -import dev.cyberarm.engine.V2.CyberarmEngine; import dev.cyberarm.minibots.red_crab.RedCrabMinibot; import dev.cyberarm.minibots.red_crab.states.ClawArmTask; @Autonomous(name = "Cyberarm Red Crab BLUE AUDIENCE", group = "MINIBOT", preselectTeleOp = "Cyberarm Red Crab TeleOp") -public class RedCrabAutonomousBlueAudienceEngine extends RedCrabAutonomousEngine { +public class RedCrabAutonomousBlueAudienceEngine extends RedCrabEngine { @Override public void setup() { robot = new RedCrabMinibot(true); diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousBlueBackstageEngine.java b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousBlueBackstageEngine.java index 12e1140..8f8e0df 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousBlueBackstageEngine.java +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousBlueBackstageEngine.java @@ -4,12 +4,11 @@ import com.qualcomm.robotcore.eventloop.opmode.Autonomous; import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersConfiguration; -import dev.cyberarm.engine.V2.CyberarmEngine; import dev.cyberarm.minibots.red_crab.RedCrabMinibot; import dev.cyberarm.minibots.red_crab.states.ClawArmTask; @Autonomous(name = "Cyberarm Red Crab BLUE BACKSTAGE", group = "MINIBOT", preselectTeleOp = "Cyberarm Red Crab TeleOp") -public class RedCrabAutonomousBlueBackstageEngine extends RedCrabAutonomousEngine { +public class RedCrabAutonomousBlueBackstageEngine extends RedCrabEngine { @Override public void setup() { robot = new RedCrabMinibot(true); diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousDebuggingOnlyEngine.java b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousDebuggingOnlyEngine.java index 1dd38d7..01f2127 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousDebuggingOnlyEngine.java +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousDebuggingOnlyEngine.java @@ -8,7 +8,7 @@ import dev.cyberarm.minibots.red_crab.RedCrabMinibot; import dev.cyberarm.minibots.red_crab.states.ClawArmTask; @Autonomous(name = "Cyberarm Red Crab Auto DEBUGGING", group = "MINIBOT", preselectTeleOp = "Cyberarm Red Crab TeleOp") -public class RedCrabAutonomousDebuggingOnlyEngine extends RedCrabAutonomousEngine { +public class RedCrabAutonomousDebuggingOnlyEngine extends RedCrabEngine { @Override public void setup() { robot = new RedCrabMinibot(true); diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousRedAudienceEngine.java b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousRedAudienceEngine.java index 43929aa..d9ab7df 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousRedAudienceEngine.java +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousRedAudienceEngine.java @@ -4,12 +4,11 @@ import com.qualcomm.robotcore.eventloop.opmode.Autonomous; import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersConfiguration; -import dev.cyberarm.engine.V2.CyberarmEngine; import dev.cyberarm.minibots.red_crab.RedCrabMinibot; import dev.cyberarm.minibots.red_crab.states.ClawArmTask; @Autonomous(name = "Cyberarm Red Crab RED AUDIENCE", group = "MINIBOT", preselectTeleOp = "Cyberarm Red Crab TeleOp") -public class RedCrabAutonomousRedAudienceEngine extends RedCrabAutonomousEngine { +public class RedCrabAutonomousRedAudienceEngine extends RedCrabEngine { @Override public void setup() { robot = new RedCrabMinibot(true); diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousRedBackstageEngine.java b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousRedBackstageEngine.java index a9bc032..d741470 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousRedBackstageEngine.java +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousRedBackstageEngine.java @@ -4,12 +4,11 @@ import com.qualcomm.robotcore.eventloop.opmode.Autonomous; import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersConfiguration; -import dev.cyberarm.engine.V2.CyberarmEngine; import dev.cyberarm.minibots.red_crab.RedCrabMinibot; import dev.cyberarm.minibots.red_crab.states.ClawArmTask; @Autonomous(name = "Cyberarm Red Crab RED BACKSTAGE", group = "MINIBOT", preselectTeleOp = "Cyberarm Red Crab TeleOp") -public class RedCrabAutonomousRedBackstageEngine extends RedCrabAutonomousEngine { +public class RedCrabAutonomousRedBackstageEngine extends RedCrabEngine { @Override public void setup() { robot = new RedCrabMinibot(true); diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousEngine.java b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabEngine.java similarity index 77% rename from TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousEngine.java rename to TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabEngine.java index 22abc6f..80f6268 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabAutonomousEngine.java +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabEngine.java @@ -4,7 +4,7 @@ import dev.cyberarm.engine.V2.CyberarmEngine; import dev.cyberarm.engine.V2.Utilities; import dev.cyberarm.minibots.red_crab.RedCrabMinibot; -public abstract class RedCrabAutonomousEngine extends CyberarmEngine { +public abstract class RedCrabEngine extends CyberarmEngine { protected RedCrabMinibot robot; @Override @@ -19,4 +19,11 @@ public abstract class RedCrabAutonomousEngine extends CyberarmEngine { if (robot != null) robot.standardTelemetry(); } + + @Override + public void stop() { + robot.shutdown(); + + super.stop(); + } } diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabTeleOpDebuggingOnlyEngine.java b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabTeleOpDebuggingOnlyEngine.java index b564390..bd534f0 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabTeleOpDebuggingOnlyEngine.java +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabTeleOpDebuggingOnlyEngine.java @@ -10,7 +10,7 @@ import dev.cyberarm.engine.V2.Utilities; import dev.cyberarm.minibots.red_crab.RedCrabMinibot; @TeleOp(name = "Cyberarm Red Crab TeleOp DEBUGGING", group = "MINIBOT") -public class RedCrabTeleOpDebuggingOnlyEngine extends CyberarmEngine { +public class RedCrabTeleOpDebuggingOnlyEngine extends RedCrabEngine { @Override public void setup() { threadless(); @@ -30,18 +30,6 @@ public class RedCrabTeleOpDebuggingOnlyEngine extends CyberarmEngine { robot.clawArm.setMode(DcMotor.RunMode.RUN_WITHOUT_ENCODER); robot.clawArm.setPower(-engine.gamepad1.left_stick_y * 0.5); } - - @Override - public void telemetry() { - robot.standardTelemetry(); - } }); } - - @Override - public void loop() { - Utilities.hubsClearBulkReadCache(hardwareMap); - - super.loop(); - } } diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabTeleOpEngine.java b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabTeleOpEngine.java index ef0d484..b2ad66d 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabTeleOpEngine.java +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/engines/RedCrabTeleOpEngine.java @@ -9,7 +9,7 @@ import dev.cyberarm.minibots.red_crab.states.ClawArmTask; import dev.cyberarm.minibots.red_crab.states.Pilot; @TeleOp(name = "Cyberarm Red Crab TeleOp", group = "MINIBOT") -public class RedCrabTeleOpEngine extends CyberarmEngine { +public class RedCrabTeleOpEngine extends RedCrabEngine { @Override public void setup() { RedCrabMinibot robot = new RedCrabMinibot(false); @@ -18,14 +18,4 @@ public class RedCrabTeleOpEngine extends CyberarmEngine { addState(new Pilot(robot)); } - - @Override - public void loop() { - Utilities.hubsClearBulkReadCache(hardwareMap); - if (RedCrabMinibot.localizer != null) { - RedCrabMinibot.localizer.integrate(); - } - - super.loop(); - } } diff --git a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/states/MoveToCoordinate.java b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/states/MoveToCoordinate.java index 8e81855..f585571 100644 --- a/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/states/MoveToCoordinate.java +++ b/TeamCode/src/main/java/dev/cyberarm/minibots/red_crab/states/MoveToCoordinate.java @@ -22,6 +22,7 @@ public class MoveToCoordinate extends CyberarmState { private double distanceFromTargetMM = 0; private double velocity = 0; private double angleDiffDegrees = 0; + private double rotationStrength = 0; public MoveToCoordinate(RedCrabMinibot robot, String groupName, String actionName) { this.robot = robot; @@ -85,10 +86,11 @@ public class MoveToCoordinate extends CyberarmState { } private void drivetrain(Vector2D direction) { - double rotationStrength = Utilities.lerp( - minVelocityMM, - maxVelocityMM, - Range.clip(Math.abs(angleDiffDegrees) / lerpDegrees, 0.0, 1.0)); + // rotationStrength = Utilities.lerp( + // minVelocityMM, + // maxVelocityMM, + // Range.clip(Math.abs(angleDiffDegrees) / lerpDegrees, 0.0, 1.0)); + rotationStrength = Range.clip(Math.abs(angleDiffDegrees) / lerpDegrees, 0.0, 1.0); if (angleDiffDegrees < 0) rotationStrength *= -1; @@ -153,7 +155,7 @@ public class MoveToCoordinate extends CyberarmState { public void telemetry() { engine.telemetry.addData("Current Position MM", "X: %.2f Y: %.2f", robotPosMM.x(), robotPosMM.y()); engine.telemetry.addData("Target Position MM", "X: %.2f Y: %.2f", targetPosMM.x(), targetPosMM.y()); - engine.telemetry.addData("Move NORMAL", "X: %.2f Y: %.2f", direction.x(), direction.y()); + engine.telemetry.addData("Move NORMAL", "X: %.2f Y: %.2f R: %.2f", direction.x(), direction.y(), rotationStrength); engine.telemetry.addData("Distance MM", "%.2fmm", distanceFromTargetMM); engine.telemetry.addData("Angle Diff DEGREES", "%.2f degrees", angleDiffDegrees); // engine.telemetry.addData("Velocity", "%.2f T/s", velocity);