    protected void execute() {
        if (TrackingCamera.targetGoal == null){ 
            leftShootingMotors.setSetpoint(1000);   
            rightShootingMotors.setSetpoint(1000);  
            System.out.println("No target set");    
            return;
        }
        tgtHght = TrackingCamera.targetGoal.boundingRectHeight; 
        tgtHghtFt = 1.5;    
        vertFOV = tgtHghtFt / tgtHght * ttlHght;    
        vertVA = 47*pi/180; 
        horVA = 47*pi/180;  
        tgtWdth = TrackingCamera.targetGoal.boundingRectWidth;  
        tgtWdthFt = 2.0;    
        horFOV = tgtWdthFt / tgtWdth * ttlWdth; 
        leftRight = Math.abs(TrackingCamera.targetGoal.center_mass_x - (ttlHght/2));    
        upDown = Math.abs(TrackingCamera.targetGoal.center_mass_y - (ttlWdth/2));   
        wdth1Px = (ttlHght/2) - leftRight;  
        hght1Px = (ttlWdth/2) - upDown; 
        horThet1 = horVA * wdth1Px/ttlWdth; 
        vertThet1 = vertVA * hght1Px/ttlHght;   
        TrackingCamera.d1 = (hght1Px) / Math.tan(vertThet1);    
        TrackingCamera.d2 = (wdth1Px) / Math.tan(horThet1);  
        TrackingCamera.distanceToTarget = (TrackingCamera.d1 + TrackingCamera.d2) / 2;  
        if (TrackingCamera.distanceToTarget > 60 || TrackingCamera.distanceToTarget <= 0)
            TrackingCamera.distanceToTarget = 60;
        d = TrackingCamera.distanceToTarget;    
        TrackingCamera.launchSpeed = 60 * (d / Math.sqrt((11 / 6 - d) / -16.1) / (2 / 3 * pi));  
        leftShootingMotors.setSetpoint(TrackingCamera.launchSpeed);     
        rightShootingMotors.setSetpoint(TrackingCamera.launchSpeed);    
        System.out.println();
        System.out.println("D1: "+TrackingCamera.d1);
        System.out.println("D2: "+TrackingCamera.d2);
        System.out.println("D: "+d);
        System.out.println("Camera Launch Speed: "+TrackingCamera.launchSpeed);
        System.out.println();
    }

    protected void execute() {
        if (TrackingCamera.targetGoal == null){ 
            leftShootingMotors.setSetpoint(1000);   
            rightShootingMotors.setSetpoint(1000);  
            System.out.println("No target set");    
            return;
        }
        tgtHght = TrackingCamera.targetGoal.boundingRectHeight; 
        tgtHghtFt = 1.5;    
        vertFOV = tgtHghtFt / tgtHght * ttlHght;    
        vertVA = 47*pi/180; 
        horVA = 47*pi/180;  
        tgtWdth = TrackingCamera.targetGoal.boundingRectWidth;  
        tgtWdthFt = 2.0;    
        horFOV = tgtWdthFt / tgtWdth * ttlWdth; 
        leftRight = Math.abs(TrackingCamera.targetGoal.center_mass_x - (ttlHght/2));    
        upDown = Math.abs(TrackingCamera.targetGoal.center_mass_y - (ttlWdth/2));   
        wdth1Px = (ttlWdth/2) - leftRight;  
        hght1Px = (ttlHght/2) - upDown; 
        horThet1 = horVA * wdth1Px/ttlWdth; 
        vertThet1 = vertVA * hght1Px/ttlHght;   
        TrackingCamera.d1 = (hght1Px) / Math.tan(vertThet1);    
        TrackingCamera.d2 = (wdth1Px) / Math.tan(horThet1);  
        TrackingCamera.distanceToTarget = (TrackingCamera.d1 + TrackingCamera.d2) / 2;  
        if (TrackingCamera.distanceToTarget > 60 || TrackingCamera.distanceToTarget <= 0)
            TrackingCamera.distanceToTarget = 60;
        d = TrackingCamera.distanceToTarget;    
        TrackingCamera.launchSpeed = 60 * (d / Math.sqrt((11 / 6 - d) / -16.1) / (2 / 3 * pi));  
        leftShootingMotors.setSetpoint(TrackingCamera.launchSpeed);     
        rightShootingMotors.setSetpoint(TrackingCamera.launchSpeed);    
        System.out.println();
        System.out.println("D1: "+TrackingCamera.d1);
        System.out.println("D2: "+TrackingCamera.d2);
        System.out.println("D: "+d);
        System.out.println("Camera Launch Speed: "+TrackingCamera.launchSpeed);
        System.out.println();
    }
