public int calcularH(Nodo nodo){
        Estado estado=nodo.getEstado();
        Matriz matriz=estado.getMatriz();
        int heuristicaUno = 0, heuristicaDos = 0, cargafaltante = 0;        
       
        int[] posicionRobot = matriz.retornarCoordenadaDe(ID_ROBOT);
        int[] posicionSitioUno = matriz.retornarCoordenadaDe(ID_SITIO_UNO);        
        int[] posicionSitioDos = matriz.retornarCoordenadaDe(ID_SITIO_DOS);        
        int[] posicionObjetoUno = matriz.retornarCoordenadaDe(ID_OBJETO_UNO);        
        int[] posicionObjetoDos = matriz.retornarCoordenadaDe(ID_OBJETO_DOS); 
                
        //Distancia de Manhattan desde el SortingRobot hasta el Sitio Uno
        if(posicionSitioUno!=null){
            if(posicionObjetoUno != null){
                heuristicaUno += heuristicaDePosUnoAPosDos(posicionRobot, posicionObjetoUno);
                heuristicaUno += (matriz.getPesoObjetoUno() *
                        heuristicaDePosUnoAPosDos(posicionObjetoUno, posicionSitioUno)); 
            }
            else
                heuristicaUno += heuristicaDePosUnoAPosDos(posicionRobot, posicionSitioUno) 
                    + matriz.getPesoObjetoUno();                
            //Distancia de Manhattan desde el Sitio Uno hasta el Sitio Dos
            if(posicionSitioDos!=null)
                heuristicaUno += heuristicaDePosUnoAPosDos(posicionSitioUno, posicionSitioDos) 
                        + matriz.getPesoObjetoDos();            
        }
        //Distancia de Manhattan desde el SortingRobot hasta el Sitio Dos
        if(posicionSitioDos!=null){
            if(posicionObjetoDos != null){
                heuristicaDos += heuristicaDePosUnoAPosDos(posicionRobot, posicionObjetoDos); 
                heuristicaDos +=(matriz.getPesoObjetoDos()*
                        heuristicaDePosUnoAPosDos(posicionObjetoDos, posicionSitioDos));
            }
            else
                heuristicaDos += heuristicaDePosUnoAPosDos(posicionRobot, posicionSitioDos) + matriz.getPesoObjetoDos();
            //Distancia de Manhattan desde el Sitio Dos hasta el Sitio Uno
            if(posicionSitioUno!=null)
                heuristicaDos += heuristicaDePosUnoAPosDos(posicionSitioDos, posicionSitioUno) 
                        + matriz.getPesoObjetoUno();
        }
        if((heuristicaUno < heuristicaDos && heuristicaUno > 0) || heuristicaDos <= 0){
            return heuristicaUno;
        }
        else{
            return heuristicaDos;
        }
    }