diff --git a/TeamCode/src/main/java/TrcCommonLib b/TeamCode/src/main/java/TrcCommonLib index 97278548a162..64b06c06f2d1 160000 --- a/TeamCode/src/main/java/TrcCommonLib +++ b/TeamCode/src/main/java/TrcCommonLib @@ -1 +1 @@ -Subproject commit 97278548a16236b494b4736cb56cd188feb24d0f +Subproject commit 64b06c06f2d1629efb10769b0dc0615b08675374 diff --git a/TeamCode/src/main/java/TrcFtcLib b/TeamCode/src/main/java/TrcFtcLib index 85b63e1b7764..d7ea833691a5 160000 --- a/TeamCode/src/main/java/TrcFtcLib +++ b/TeamCode/src/main/java/TrcFtcLib @@ -1 +1 @@ -Subproject commit 85b63e1b7764d1e201c738494feba72433a3c832 +Subproject commit d7ea833691a5148623f467bd0caa947df42080e0 diff --git a/TeamCode/src/main/java/teamcode/FtcAuto.java b/TeamCode/src/main/java/teamcode/FtcAuto.java index 8d2c1b7248bd..1c4f0392b9e1 100644 --- a/TeamCode/src/main/java/teamcode/FtcAuto.java +++ b/TeamCode/src/main/java/teamcode/FtcAuto.java @@ -162,30 +162,31 @@ public void robotInit() if (robot.vision != null) { - // Enabling vision early so we can detect signal position before match starts. - if (robot.vision.aprilTagVision != null) - { - robot.globalTracer.traceInfo(funcName, "Enabling AprilTagVision."); - robot.vision.setAprilTagVisionEnabled(true); - } - - if (robot.vision.redBlobVision != null) - { - robot.globalTracer.traceInfo(funcName, "Enabling RedBlobVision."); - robot.vision.setRedBlobVisionEnabled(true); - } - - if (robot.vision.blueBlobVision != null) - { - robot.globalTracer.traceInfo(funcName, "Enabling BlueBlobVision."); - robot.vision.setBlueBlobVisionEnabled(true); - } - - if (robot.vision.tensorFlowVision != null) - { - robot.globalTracer.traceInfo(funcName, "Enabling TensorFlowVision."); - robot.vision.setTensorFlowVisionEnabled(true); - } + // Enabling vision early so we can detect target before match starts if necessary. + // Only enable the necessary vision for that purpose. +// if (robot.vision.aprilTagVision != null) +// { +// robot.globalTracer.traceInfo(funcName, "Enabling AprilTagVision."); +// robot.vision.setAprilTagVisionEnabled(true); +// } +// +// if (robot.vision.redBlobVision != null) +// { +// robot.globalTracer.traceInfo(funcName, "Enabling RedBlobVision."); +// robot.vision.setRedBlobVisionEnabled(true); +// } +// +// if (robot.vision.blueBlobVision != null) +// { +// robot.globalTracer.traceInfo(funcName, "Enabling BlueBlobVision."); +// robot.vision.setBlueBlobVisionEnabled(true); +// } +// +// if (robot.vision.tensorFlowVision != null) +// { +// robot.globalTracer.traceInfo(funcName, "Enabling TensorFlowVision."); +// robot.vision.setTensorFlowVisionEnabled(true); +// } } robot.zeroCalibrate(); @@ -196,8 +197,8 @@ public void robotInit() // /** - * This method is called periodically after robotInit() is called but before competition starts. For this season, - * we are detecting the duck's barcode position before the match starts. + * This method is called periodically after robotInit() is called but before competition starts. For example, + * we can put vision code here to detect target before autonomous starts. */ @Override public void initPeriodic() diff --git a/TeamCode/src/main/java/teamcode/vision/Vision.java b/TeamCode/src/main/java/teamcode/vision/Vision.java index 0115eabb3a0d..bebfb897c3ec 100644 --- a/TeamCode/src/main/java/teamcode/vision/Vision.java +++ b/TeamCode/src/main/java/teamcode/vision/Vision.java @@ -58,10 +58,10 @@ public class Vision { private static final String moduleName = "Vision"; private static final double[] DEF_COLORBLOB_THRESHOLDS = {0.0, 255.0, 0.0, 255.0, 0.0, 255.0}; - // RGB Color Space. - private static final int colorConversion = Imgproc.COLOR_BGRA2BGR; - private static final double[] redBlobColorThresholds = {100.0, 255.0, 0.0, 100.0, 0.0, 60.0}; - private static final double[] blueBlobColorThresholds = {0.0, 60.0, 0.0, 100.0, 100, 255.0}; + // HSV Color Space. + private static final int colorConversion = Imgproc.COLOR_BGR2HSV; + private static final double[] redBlobColorThresholds = {160.0, 200.0, 120.0, 255.0, 150.0, 255.0}; + private static final double[] blueBlobColorThresholds = {0.0, 80.0, 120.0, 255.0, 100.0, 255.0}; private static final TrcOpenCvColorBlobPipeline.FilterContourParams colorBlobFilterContourParams = new TrcOpenCvColorBlobPipeline.FilterContourParams() .setMinArea(1000.0) @@ -70,7 +70,8 @@ public class Vision .setHeightRange(10.0, 1000.0) .setSolidityRange(0.0, 100.0) .setVerticesRange(0.0, 1000.0) - .setAspectRatioRange(0.0, 10.0); + .setAspectRatioRange(0.5, 2.0); + private static final String TFOD_MODEL_ASSET = "MyObject.tflite"; private static final float TFOD_MIN_CONFIDENCE = 0.75f; public static final String[] TFOD_TARGET_LABELS = {"MyObject"};