From b4ecd82c1865326d264537c404499318d01efd24 Mon Sep 17 00:00:00 2001 From: Ethan Akocs Date: Sun, 20 Feb 2022 19:48:32 -0500 Subject: [PATCH 1/6] added testing code for ball-alliance comparison --- SwerveCode/src/main/java/frc/robot/Robot.java | 9 +++++---- SwerveCode/src/main/java/frc/robot/Shooter.java | 8 +++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/SwerveCode/src/main/java/frc/robot/Robot.java b/SwerveCode/src/main/java/frc/robot/Robot.java index 608ba51..690ec47 100644 --- a/SwerveCode/src/main/java/frc/robot/Robot.java +++ b/SwerveCode/src/main/java/frc/robot/Robot.java @@ -39,7 +39,7 @@ public class Robot extends TimedRobot { public Locality locality; public Shooter shooter; public Collector collector; - public ColorSensor color; + public ColorSensor cSensor; /** @@ -154,11 +154,12 @@ else if(driverController.getLeftBumper() == true) { } SmartDashboard.putNumber("Rotate", rotate); - color.getColors(); - if(color.getProximity() > 200){ - color.updateCurrentBallColor(); + cSensor.getColors(); + if(cSensor.getProximity() > 200){ + cSensor.updateCurrentBallColor(); } + shooter.compareBallToAlliance(); } /** This function is called once when the robot is disabled. */ diff --git a/SwerveCode/src/main/java/frc/robot/Shooter.java b/SwerveCode/src/main/java/frc/robot/Shooter.java index 6d25bec..b2a207f 100644 --- a/SwerveCode/src/main/java/frc/robot/Shooter.java +++ b/SwerveCode/src/main/java/frc/robot/Shooter.java @@ -25,7 +25,7 @@ public class Shooter{ public WPI_TalonFX flyWheelLeft; public WPI_TalonFX flyWheelRight; public WPI_TalonFX staging; - + public ColorSensor cSensor; //motor groups MotorControllerGroup flyWheel; @@ -61,7 +61,13 @@ public void testshooter(XboxController shooterController) { staging.set(shooterController.getLeftTriggerAxis()); flyWheel.set(flyWheelSpeed); + } + + public void compareBallToAlliance(){ + if(cSensor.compareBallToAlliance() == false){ + flyWheel.set(0.2); } } +} From 90be0aacde62693db6f9d326a7b6f8a433a7ab49 Mon Sep 17 00:00:00 2001 From: Ethan Akocs Date: Sun, 27 Feb 2022 18:04:47 -0500 Subject: [PATCH 2/6] simple aditions to finalize code before reworking into and array after ir sensor code is done --- SwerveCode/src/main/java/frc/robot/Shooter.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/SwerveCode/src/main/java/frc/robot/Shooter.java b/SwerveCode/src/main/java/frc/robot/Shooter.java index b2a207f..38965fa 100644 --- a/SwerveCode/src/main/java/frc/robot/Shooter.java +++ b/SwerveCode/src/main/java/frc/robot/Shooter.java @@ -67,6 +67,9 @@ public void compareBallToAlliance(){ if(cSensor.compareBallToAlliance() == false){ flyWheel.set(0.2); } + if(cSensor.compareBallToAlliance() == true){ + flyWheel.set(1); + } } } From b7126a9b32f52b4806b7de10676fee460b9b9cfa Mon Sep 17 00:00:00 2001 From: Ethan Akocs Date: Wed, 2 Mar 2022 19:03:26 -0500 Subject: [PATCH 3/6] fixed object creation for color sensor in Robot.java --- SwerveCode/src/main/java/frc/robot/Robot.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SwerveCode/src/main/java/frc/robot/Robot.java b/SwerveCode/src/main/java/frc/robot/Robot.java index 690ec47..5be69a7 100644 --- a/SwerveCode/src/main/java/frc/robot/Robot.java +++ b/SwerveCode/src/main/java/frc/robot/Robot.java @@ -58,7 +58,7 @@ public void robotInit() { ball = new ballTargeting(); locality = new Locality(0, 0); shooter = new Shooter(); - color = new ColorSensor(); + cSensor = new ColorSensor(); ball.setLimelightAllianceColor(ALLIANCE_COLOR.RED); From cbe566c45f436592312462edf93e69b64d0e754d Mon Sep 17 00:00:00 2001 From: Ethan Akocs Date: Wed, 2 Mar 2022 20:24:17 -0500 Subject: [PATCH 4/6] finished up the code for the flywheel when the ball is for the wrong alliance --- SwerveCode/src/main/java/frc/robot/Shooter.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SwerveCode/src/main/java/frc/robot/Shooter.java b/SwerveCode/src/main/java/frc/robot/Shooter.java index 38965fa..f1bc22b 100644 --- a/SwerveCode/src/main/java/frc/robot/Shooter.java +++ b/SwerveCode/src/main/java/frc/robot/Shooter.java @@ -63,12 +63,12 @@ public void testshooter(XboxController shooterController) { flyWheel.set(flyWheelSpeed); } - public void compareBallToAlliance(){ + public void compareBallToAlliance(XboxController shooterController){ if(cSensor.compareBallToAlliance() == false){ - flyWheel.set(0.2); + flyWheel.set(shooterController.getRightTriggerAxis()*0.2); } if(cSensor.compareBallToAlliance() == true){ - flyWheel.set(1); + flyWheel.set(flyWheel); } } } From d9fed816d75d13216498269eab997769c7d78afe Mon Sep 17 00:00:00 2001 From: Sam Winkelstein Date: Sat, 5 Mar 2022 17:14:39 -0500 Subject: [PATCH 5/6] reworked and simplified some the color_sensor logic. --- SwerveCode/gradlew | 0 .../src/main/java/frc/robot/ColorSensor.java | 36 +++++++++---------- SwerveCode/src/main/java/frc/robot/Robot.java | 7 ++-- .../src/main/java/frc/robot/Shooter.java | 2 +- 4 files changed, 23 insertions(+), 22 deletions(-) mode change 100644 => 100755 SwerveCode/gradlew diff --git a/SwerveCode/gradlew b/SwerveCode/gradlew old mode 100644 new mode 100755 diff --git a/SwerveCode/src/main/java/frc/robot/ColorSensor.java b/SwerveCode/src/main/java/frc/robot/ColorSensor.java index d390cc2..13f4333 100644 --- a/SwerveCode/src/main/java/frc/robot/ColorSensor.java +++ b/SwerveCode/src/main/java/frc/robot/ColorSensor.java @@ -12,44 +12,42 @@ public class ColorSensor{ private final I2C.Port i2cPort = I2C.Port.kOnboard; private final ColorSensorV3 m_colorSensor = new ColorSensorV3(i2cPort); - private ALLIANCE_COLOR alliance; private ALLIANCE_COLOR currentBallColor; public ColorSensor(){ - alliance = updateCurrentBallColor(); + alliance = updateCurrentBallColor(); currentBallColor = alliance; } - - public void getColors(){ + public ALLIANCE_COLOR updateCurrentBallColor(){ Color detectedColor = m_colorSensor.getColor(); - int proximity = m_colorSensor.getProximity(); - SmartDashboard.putNumber("Red", detectedColor.red); //output the seen overall red value to the smartdashboard SmartDashboard.putNumber("Blue", detectedColor.blue); //output the seen overall blue value to the smartdashboard - SmartDashboard.putNumber("Proximity", proximity); //distance from colorsensor to the nearest object (2047 to 0) output to the smartdashboard + SmartDashboard.putNumber("Proximity", m_colorSensor.getProximity()); //distance from colorsensor to the nearest object (2047 to 0) output to the smartdashboard SmartDashboard.putString("alliance", this.toString()); //current alliance value output the the smartdashboard - //System.out.println(detectedColor.red); - } - - public ALLIANCE_COLOR updateCurrentBallColor(){ - Color detectedColor = m_colorSensor.getColor(); + if(m_colorSensor.getProximity() >= 1500){ if(detectedColor.blue > detectedColor.red){ return ALLIANCE_COLOR.BLUE; }else if(detectedColor.red > detectedColor.blue){ return ALLIANCE_COLOR.RED; + } + else{ + return ALLIANCE_COLOR.NONE; + } }else{ - return ALLIANCE_COLOR.NONE;} + return ALLIANCE_COLOR.NONE; + } } public boolean compareBallToAlliance(){ - if(currentBallColor == alliance){ - return true; - }else if(currentBallColor != alliance){ - return false; - }else{return false;} + boolean aColor = true; + if (this.alliance != ALLIANCE_COLOR.NONE){ + ALLIANCE_COLOR color = updateCurrentBallColor(); + aColor = (color != ALLIANCE_COLOR.NONE && color != this.alliance); + } + return aColor; } public int getProximity(){ @@ -78,4 +76,4 @@ public String toString(){ } return s; } -} \ No newline at end of file +} diff --git a/SwerveCode/src/main/java/frc/robot/Robot.java b/SwerveCode/src/main/java/frc/robot/Robot.java index 5be69a7..dd2cab3 100644 --- a/SwerveCode/src/main/java/frc/robot/Robot.java +++ b/SwerveCode/src/main/java/frc/robot/Robot.java @@ -58,7 +58,7 @@ public void robotInit() { ball = new ballTargeting(); locality = new Locality(0, 0); shooter = new Shooter(); - cSensor = new ColorSensor(); + ball.setLimelightAllianceColor(ALLIANCE_COLOR.RED); @@ -96,7 +96,7 @@ public void robotPeriodic() { */ @Override public void autonomousInit() { - + cSensor = new ColorSensor(); m_autoSelected = m_chooser.getSelected(); // m_autoSelected = SmartDashboard.getString("Auto Selector", kDefaultAuto); System.out.println("Auto selected: " + m_autoSelected); @@ -108,6 +108,9 @@ public void autonomousInit() { /** This function is called once when teleop is enabled. */ @Override public void teleopInit() { + if (cSensor == null){ + cSensor = new ColorSensor(); + } drive.zeroGyroscope(); //Create the primary controller object } diff --git a/SwerveCode/src/main/java/frc/robot/Shooter.java b/SwerveCode/src/main/java/frc/robot/Shooter.java index f1bc22b..34e5e6e 100644 --- a/SwerveCode/src/main/java/frc/robot/Shooter.java +++ b/SwerveCode/src/main/java/frc/robot/Shooter.java @@ -64,7 +64,7 @@ public void testshooter(XboxController shooterController) { } public void compareBallToAlliance(XboxController shooterController){ - if(cSensor.compareBallToAlliance() == false){ + if(cSensor.isAllianceColor() == false){ flyWheel.set(shooterController.getRightTriggerAxis()*0.2); } if(cSensor.compareBallToAlliance() == true){ From c4f42941f98b1a87c9da341b19100404ee592172 Mon Sep 17 00:00:00 2001 From: Sam Winkelstein Date: Sat, 5 Mar 2022 17:24:19 -0500 Subject: [PATCH 6/6] elimanated color method in shooter: was redundent --- SwerveCode/src/main/java/frc/robot/Robot.java | 6 ++---- SwerveCode/src/main/java/frc/robot/Shooter.java | 8 -------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/SwerveCode/src/main/java/frc/robot/Robot.java b/SwerveCode/src/main/java/frc/robot/Robot.java index 4bfda60..c2fd9b1 100644 --- a/SwerveCode/src/main/java/frc/robot/Robot.java +++ b/SwerveCode/src/main/java/frc/robot/Robot.java @@ -59,7 +59,7 @@ public void robotInit() { visionBall = new Vision(Constants.LIMELIGHT_BALL, Constants.BALL_LOCK_ERROR, Constants.BALL_CAMERA_HEIGHT, Constants.BALL_CAMERA_ANGLE, Constants.BALL_TARGET_HEIGHT, Constants.BALL_ROTATE_KP); locality = new Locality(0, 0); shooter = new Shooter(); - color = new ColorSensor(); + cSensor = new ColorSensor(); //ball.setLimelightAllianceColor(ALLIANCE_COLOR.RED); NetworkTableInstance.getDefault().getTable("limelight-ball").getEntry("pipeline").setNumber(1); } @@ -163,13 +163,11 @@ else if(driverController.getLeftBumper() == true) { } SmartDashboard.putNumber("Rotate", rotate); - cSensor.getColors(); + cSensor.updateCurrentBallColor(); if(cSensor.getProximity() > 200){ cSensor.updateCurrentBallColor(); } - shooter.compareBallToAlliance(); - } /** This function is called once when the robot is disabled. */ @Override diff --git a/SwerveCode/src/main/java/frc/robot/Shooter.java b/SwerveCode/src/main/java/frc/robot/Shooter.java index 34e5e6e..d675bae 100644 --- a/SwerveCode/src/main/java/frc/robot/Shooter.java +++ b/SwerveCode/src/main/java/frc/robot/Shooter.java @@ -63,14 +63,6 @@ public void testshooter(XboxController shooterController) { flyWheel.set(flyWheelSpeed); } - public void compareBallToAlliance(XboxController shooterController){ - if(cSensor.isAllianceColor() == false){ - flyWheel.set(shooterController.getRightTriggerAxis()*0.2); - } - if(cSensor.compareBallToAlliance() == true){ - flyWheel.set(flyWheel); - } - } }