Can a GPS module use 2 GPS satellites and 2 GLONASS satellites to obtain a fix without using all satellites of the same kind?
I know that we cannot force this to happen but is it theoretically possible for this to happen?
there are several things to keep in mind, when combining data from different systems.
Combining different Satellite Navigation systems
Typically it is possible to combine gps+glonass or any other navigation system. That is called GNSS (Global Navigation Satellite System). For a single GPS case you need 4 Satellites for the components [X,Y,Z, dt (the estimated receiver clock error)]. For each new systems you have to add one bias term, describing the difference between the transmitted time scales (since every system has it's own specific time scale) for each system relative to one time scale, which is kept as reference. This bias term is an additional unknown in the estimation equation to receive/determine the position solution. Consequently you need at least 3 Satellites for system 1 and 2 satellites for System 2 (for example...any other combinations are also possible). The additional bias term will describe the relative difference from one time scale to the other, (Petrowski, page 95f, 2014).
Example: 3 GPS satellites and 2 Glonass satellites will give a direct solution without redundance (and no control). The system will be [X,Y,Z, dt(GPS), bias(GLONASS_to_GPS)]. The more satellites the more redundance is possible - and you can control your estimation process weather by RAIM, Kalman filter, least squares (sequentially) or any other processor technique.
Further details for combining different systems
Be sure to get the correct and no corrupt data from the antenna and the receiver ensemble. Since you ask if a GPS Module would be able to use GLONASS - I suggest it isn't possible, since GLONASS uses a complete different access method than GPS. GLONASS Satellites are identified by their specific frequency (Frequency Division Multiple Access - FDM) and GPS Satellites are identified by different codes (Code Division Multiple Access - CDMA). The current new GLONASS-K Satellite generation will support CDMA Signals, but the current GLONASS constellation works completely with FDMA (current GLONASS constellation)
Additionally the antenna inside the mobile device must be able to see the GLONASS-Signals to give them to the baseband processor where the GNSS signals will be aquired. Both GPS and GLONASS use different bandwiths (see signal structure in Petrowski 2014, page 39) - so you better keep in mind to use a GNSS-capable module for processing not only GPS but GLONASS, COMPASS, Galileo (and any other derivative) Data. With a GNSS receiver unit you will be able to do this, but I'm not sure if you will be able to do this with a pure GPS module.
For further reading (below others):
There is no reason why this shouldn't be possible.
Each satellite sends a clock signal with very high precision. The GPS or GLONASS module knows the location of these satellites, again with very high precision. Each signal received is one item of information giving a four-dimensional sphere on which the receiver is located. With four satellites, four such four-dimensional spheres are given, and their intersection can be calculated.
It doesn't matter whether the information comes from two different systems. The software used on a particular module might not be able to handle it, but there is no reason in principle why this wouldn't be possible. There may be a slight problem with precision if you received signals from two pairs of satellites that are close together; both GPS and GLONASS have distributed their satellites so that they are not close together but a GPS and a GLONASS satellite may be close together which makes a precise calculation harder. Most of the time that won't be the case.
For maximum precision, a GPS/GLONASS receiver will take all available data into account, which would always mean both kinds of satellites.
GPS relies on close co-operation between all the satellites. Time is critical - the slightest deviation between satellites would be fatal to the system. Two separate systems cannot be guaranteed to have the time accuracy needed.
So no, it wouldn't be possible to "mix and match" the satellites.
GPS has the best performance when it already has some idea of where it is. It needs to know which satellites are supposed to be in view, what channels they transmit on, etc. So, if you have two separate systems then one can be used to get a location which can then be used to improve the locking abilities of the other. You can then pick the most accurate fix from the two systems as you see fit.
(Referring to your other question, this would be a form of A-GPS)
That's a nice question, have an upvote.
I've noticed that u-Blox 8-series receivers (some, if not all) are multi-system. I've specifically focused on the LEA/NEO M8T and that has a dual-path RF front end, and can be configured to receive up to 3 GNS systems of the 4 systems supported (GPS, GLONASS, Galileo, Beidou). There are lots of reading available: downloads page and specifically I'd recommend the interface description / protocol specification , e.g. chapter 4.2 starting on page 13, and the intro to chapter 30 (protocol reference) starting on page 103.
I've found a note that in multi-system (simultaneous) configurations, you need at least 4 tracking channels to be available for each major GNSS enabled, for that particular GNSS to be properly received. The max number of channels per GNSS can be limited by user configuration. Which would support other speaker's claims, that each system is "solved" (correlated) somewhat in isolation, and only the finished solutions are then somehow merged / weight-averaged or some such (the docs don't seem to go into further detail). You need 4 good satellites to achieve a minimal "fix" by triangulation.
I've also found a note in the NMEA protocol reference, that each system has its own "prefix" in the NMEA sentences, such as the GSV sentence, giving details about the satellites in view: GP = GPS, GL = GLONASS, GA = Galileo, GB = BeiDou, GN = any GNSS in multi-system configurations. Yet I believe that I've seen mixed output with various system-specific prefixes, such as several sentences starting with $GPGSV , followed by a couple sentences starting with $GLGSV. I'd assume that the RMC sentence (GNRMC?) would give a combined positional output.