Urban environments present major challenges to the global navigation satellite system (GNSS) positioning to estimate the position of a self-driving vehicle. GNSS signals are often obstructed by buildings and other obstacles, leading to reflected and diffracted signals, which cause major positioning errors and known as line-of-sight (LOS) and non-line-of-sight (NLOS) multipath errors. Particularly, real-time kinematic (RTK)-GNSS, which can estimate the position in the centimeter-level accuracy, cannot estimate the precise position when there exist NLOS multipath errors. If we use NLOS GNSS code and carrier phase multipath measurements into the RTK-GNSS algorithm, carrier phase integer ambiguity cannot be solved, or wrong integer ambiguities are estimated. As a result, integer ambiguity resolved to fix solutions cannot be estimated, or wrong fix solutions which have large position error are estimated. That is a major barrier to using RTK-GNSS in autonomous driving. In this paper, we propose a novel NLOS detection and exclusion technique to enhance existing RTK-GNSS positioning in urban areas using only GNSS measurements alone. The key idea behind the proposed technique is that the NLOS pseudorange error will always be a positive value. NLOS pseudorange is longer than the true range, which is the distance between the GNSS antenna and satellite, due to the time delay caused by reflection and diffraction. The distribution of the NLOS error is not along with a Gaussian distribution. We use this phenomenon to detect the NLOS signals. We propose a technique to detect and eliminate the NLOS multipath using double-differenced pseudorange residuals (DD-PR). In the RTK-GNSS, DD GNSS measurement between the rover and base station is typically used. Here, we compute the DD-PR to detect the NLOS signals. In order to compute the DD-PR, the true position of the vehicle must be determined in advance. To solve this contradiction, we use a particle filter. The particle filter generates the position hypotheses, which is called as “particle”. These particles are used as the position candidate for estimating the DD-PR. When the DD-PR can be calculated at each particle position, we detect the large positive errors in DD-PR as NLOS signals. Then we compute the integer ambiguity of only the LOS DD carrier phase to estimate the precise vehicle position. The flow of the proposed technique is as follows: (1) The hypothetical user positions are created as particles, where the state vectors of these particles are 3D positions, x, y, and z. The initial particles are distributed based on the solution of the normal GNSS point positioning and its variance. (2) In the prediction step of the particle filter, the particle state in the next time step is estimated using the velocity of each particle computed from GNSS Doppler measurements. (3) Next, we compute the DD-PR at each particle location. The receiver clock bias, satellite clock bias, ionosphere error, and troposphere error in GNSS pseudorange are canceled through DD computation. As a result, DD geometrical range between receiver and satellite and DD multipath errors remain in the DD measurement. We compute DD-PR using the particle position. As a result, the only multipath error remains if the particle is close to the true position. NLOS multipath error is always positive value; we generate the subset of the LOS measurement hypothesis at each particle using a simple threshold test. (4) Next, we compute the RTK-GNSS position solution using the generated subset of the LOS measurement hypothesis at each particle location. It is expected that the RTK-GNSS fix solution can be calculated if the particle location is close to the true position because the NLOS signal has been eliminated. By contrast, if the particle is far from true position, the integer ambiguity cannot be solved because of using the incorrect subset of LOS measurements. The likelihood of each particle is computed from a distance between the particle location and the RTK-GNSS fix solution. The particle that is closest to the true position has a higher likelihood than the other particles. The probabilistic weight of each particle is then updated based on its likelihood. (5) Finally, all the particles are resampled based on their new weights. Particles that are sufficiently close to the true position survive this resampling step, and the average position of the remaining particles are employed as the final estimated user position. To confirm the effectiveness of the proposed technique, a kinematic positioning test was performed in Shinjuku, Tokyo, Japan. From the several positioning tests, the proposed technique could dramatically improve the availability and accuracy of RTK-GNSS fix solutions in the dense urban canyon where there exist a lot of NLOS multipath signals.