## 2 MDPO Positioning Method  
In this section, we provide a brief description of the MDPO algorithm and its requirements. First, it is a relative positioning method and requires a pair of receivers, one of which will be on the lander as a base station and the other on the rover. The position of the lander must be determined before rover deployment by other means. For example, the Lunar Reconnaissance Orbiter Camera (LROC) successfully identified the location of the Chinese Chang'e 5 lunar lander with an accuracy of 20 m [8]. At a time of \(t_{i}\), each receiver provides pseudorange measurements expressed by the following equation:  
\[\rho_{R}^{S}(t_{i})=r_{R}^{S}(t_{i})+c\Big{(}d\tau_{R}(t_{i})-dT^{S}(t_{i}^{S}) \Big{)}+\omega_{R}^{S}(t_{i}), \tag{1}\]  
where the subscript \(R\) and the superscript \(S\) represent the receiver and one of the tracking satellites, respectively, \(c\) is the speed of light, \(d\tau_{R}(t_{i})\) is the receiver clock bias, \(dT^{S}(t_{i}^{S})\) is the satellite clock bias including the range offset due to the satellite position error, and \(\omega_{R}^{S}(t_{i})\) represents the pseudorange noise. The true range between the receiver and the satellite can be defined as:  
\[r_{R}^{S}(t_{i})=\big{\|}\mathbf{x}^{S}(t_{i}^{S})-\mathbf{x}_{R}(t_{i})\big{\|}, \tag{2}\]  
where \(\mathbf{x}_{R}(t_{i})\) is the receiver position vector at the time of \(t_{i}\), and \(\mathbf{x}^{S}(t_{i}^{S})\) is the satellite position vector at the corresponding signal transmission time of \(t_{i}^{S}\). Now, we assume two navigation satellites, \(S=1,\ 2\), which are commonly visible from both the lander (\(R=1\)) and the rover (\(R=2\)). Then, we have the following four pseudorange observations at each epoch \(t_{i}\):  
\[\rho_{1}^{1}(t_{i})=r_{1}^{1}(t_{i})+c\Big{(}d\tau_{1}(t_{i})-dT^{1}(t_{i}^{1} )\Big{)}+\omega_{1}^{1}(t_{i})\, \tag{3}\]  
\[\rho_{1}^{2}(t_{i})=r_{1}^{2}(t_{i})+c\Big{(}d\tau_{1}(t_{i})-dT^{2}(t_{i}^{2} )\Big{)}+\omega_{1}^{2}(t_{i}), \tag{4}\]  
\[\rho_{2}^{1}(t_{i})=r_{2}^{1}(t_{i})+c\Big{(}d\tau_{2}(t_{i})-dT^{1}(t_{i}^{1} )\Big{)}+\omega_{2}^{1}(t_{i}), \tag{5}\]  
\[\rho_{2}^{2}(t_{i})=r_{2}^{2}(t_{i})+c\Big{(}d\tau_{2}(t_{i})-dT^{2}(t_{i}^{2} )\Big{)}+\omega_{2}^{2}(t_{i}). \tag{6}\]  
For typical GNSS pseudorange observations, the magnitude of \(dT^{S}\big{(}t_{i}^{S}\big{)}\) is reasonably small, and it is treated as a known parameter provided in the broadcast navigation message. For the lunar orbiting satellites, however, it is challenging to obtain reasonable orbit and clock determination and prediction accuracies especially for a small satellite. For example, the expected orbit determination accuracy of EQUULEUS, a 6U-size CubeSat to be launched to an Earth-Moon L2 quasi-Halo orbit, was reported about a kilometer by using range and range rate observations obtained on two ground stations [9]. It is three orders of magnitude larger than a typical GPS ephemeris error, which is usually in the order of a meter. Fortunately, these errors can be virtually eliminated by combining the simultaneous observations from the receivers. Since the two receivers are both observing the same satellite at the same time, the difference in the satellite clock bias errors between the receivers is obviously zero. Moreover, if the baseline between the two receivers is shorter than the distance to a satellite by orders of magnitude, the range bias due to the satellite position error is also the same between the receivers. In addition, since each receiver is observing two satellites simultaneously, the receiver clock error \(d\tau_{\text{R}}(t_{i})\) can also be eliminated by differencing the pseudorange measurement of one satellite from that of the other. Finally, when the two types of differences are combined, the result is known as a double-differenced measurement.