private void checkRobots(){
    	MyRobot tempMyRobot = null;
    	synchronized(robots){
    		for(MyRobot r:robots){
    			if (r.robotState == RobotState.idle && !r.broken){
    				tempMyRobot = r;
    				break;
    			}
    		}
    	}
    	if (tempMyRobot == null || (glassProcessing != 0)){
    		if (popUpStatus == PopUpStatus.notRaised){
	    		Integer[] args = new Integer[1];
	    		args[0] = conveyorFamilyID;
	        	popUpStatus = PopUpStatus.moving;
	        	transducer.fireEvent(TChannel.POPUP, TEvent.POPUP_DO_MOVE_UP, args);
	        	try {
	        		popUpMovingHold.acquire();
	        	}catch(Exception e){
	        		//print("Unexpected exception caught in "+this.toString());
	        	}
    		}
    	}
    	else{
    		if (popUpStatus == PopUpStatus.raised){
	    		Integer[] args = new Integer[1];
	    		args[0] = conveyorFamilyID;
	        	popUpStatus = PopUpStatus.moving;
	        	transducer.fireEvent(TChannel.POPUP, TEvent.POPUP_DO_MOVE_DOWN, args);
	        	try {
	        		popUpMovingHold.acquire();
	        	}catch(Exception e){
	        		//print("Unexpected exception caught in "+this.toString());
	        	}
    		}
    	}
    	checkIfRobotsWorking = false;
    	stateChanged();
    }