Pith. sign in

REVIEW 4 major objections 5 minor 26 references

Robust Position Estimation by Rao-Blackwellized Particle Filter without Integer Ambiguity Resolution in Urban Environments

T0 review · 4 major / 5 minor · reviewed 2026-08-07 · deepseek-v4-flash

Pith's one-line read An urban GNSS filter keeps 68.5% of position fixes within 0.3 m without ever resolving integer ambiguities.

desk verdict A genuinely new RBPF formulation for GNSS-only urban positioning, but the headline accuracy gain rests on an undisclosed, position-dependent NLOS threshold and a single trajectory. read the letter →

arxiv 2506.03537 v1 pith:OIVESX6Z submitted 2025-06-04 cs.RO

classification cs.RO
keywords GNSSpositioningRao-BlackwellizedparticlefilterintegerambiguityresolutionfunctionNLOSmultipathrejectionurbanDopplervelocityestimationcarrierphase
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

Conventional centimeter-grade GNSS positioning (RTK) depends on resolving integer ambiguities in carrier-phase measurements, and in cities those ambiguities constantly break under multipath and signal blockage. This paper tries to remove that fragile step: a particle filter scores candidate positions by the fractional-wavelength residual of the carrier phase, which needs no ambiguity resolution, and the paper's contribution is to make that filter survive urban conditions. The fix is Rao-Blackwellization: position stays a particle-filter state, while each particle's velocity becomes a linear state tracked by its own Kalman filter. Doppler observations from satellites flagged as non-line-of-sight by large pseudorange residuals at the particle's position are rejected before the velocity update, which improves velocity accuracy and lets different particles keep different velocity hypotheses. In the reported urban vehicle test, 68.5% of position estimates were within 0.3 m of ground truth, against 54.4% for the conventional particle filter and 52.7% for conventional RTK-GNSS.

What carries the argument

The central object is a Rao-Blackwellized (marginalized) particle filter for GNSS: the state is factored into a nonlinear three-dimensional position, sampled by particles, and a linear three-dimensional velocity, estimated per particle by a Kalman filter. The position likelihood is computed from the ambiguity function value (AFV), the fractional-wavelength residual of each double-differenced carrier phase at a particle's position, which is zero at the true position and has multiple wavelength-spaced peaks that the product over satellites suppresses. The velocity Kalman filter is the workhorse: its measurement update uses Doppler observations after rejecting non-line-of-sight satellites with Eq. (15), and its time update uses the particle's own displacement, so velocity survives gaps in GNSS observations. The paper credits this per-particle Kalman velocity, not the likelihood, with preserving particle diversity and carrying the accuracy gain.

What would settle it

A direct check: sweep the rejection threshold from zero to infinity on the same logged urban trajectories while keeping everything else fixed; if no threshold reproduces the reported gap over the conventional particle filter, or if the best threshold changes sharply between routes, the residual gate is not carrying the reported gain.

Watch

Extended reading notes

Core claim

At its center, the paper claims that the practical bottleneck for ambiguity-free carrier-phase positioning in urban environments is the state transition, not the measurement model. The measurement model already has a sharp likelihood based on the ambiguity function value of double-differenced carrier phase, but that sharp peak is useless if the particle cloud never moves near the true position. The proposed method therefore splits the state into a nonlinear position component, sampled by particles, and a linear three-dimensional velocity component, estimated for every particle by a Kalman filter conditioned on that particle's position. The Kalman update uses Doppler velocities built from only those satellites whose pseudorange residual at the particle's position is below a rejection threshold, so each particle can use a different satellite set. Because the Kalman time update also incorporates the observed displacement of the particle, velocity estimates continue even through underpasses where Doppler observations vanish. The paper reports that this design places more particles near the true position and yields better position accuracy than both the previous particle-filter method and conventional RTK-GNSS on a real urban route.

Load-bearing premise

The load-bearing premise is that a single experimentally tuned cutoff cleanly separates corrupted non-line-of-sight satellite measurements from clean ones by the size of the distance residual at each candidate position, and the paper does not report the cutoff value or how much the accuracy gain depends on it.

Editorial extensions

If this is right

  • Urban positioning no longer requires integer ambiguity resolution or its re-initialization after cycle slips; the ambiguity-free likelihood remains the source of position information.
  • Velocity estimation continues through underpasses where Doppler observations disappear, because the Kalman time update combines the particle's own displacement with the previous velocity.
  • The reported accuracy gain is a jump to 68.5% of fixes within 0.3 m, from 54.4% for the previous particle filter and 52.7% for conventional RTK-GNSS.
  • Accuracy is maintained at 1000 particles, so the method can run with lower computational cost than the conventional particle filter.
  • Per-particle velocity estimates preserve particle diversity, so the filter is less likely to collapse when a single shared velocity would push all particles away from the true position.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • An inference the authors leave implicit: the NLOS rejection threshold could be estimated per epoch from the distribution of pseudorange residuals instead of being fixed experimentally, which would make the method less sensitive to environment changes.
  • Because each particle keeps its own velocity, the same architecture could ingest raw Doppler measurements directly in the Kalman filter (the authors list this as future work), removing the intermediate least-squares velocity solution and helping when fewer than four satellites are visible.
  • The AFV likelihood's wavelength-spaced side peaks mean performance likely depends on satellite geometry; a stress test with fewer satellites or a single-constellation urban canyon would show where the method starts to fail.
  • If the thresholding works as reported, a 3D city model could make it sharper: pseudorange residuals computed against a map-constrained particle position should separate NLOS rays more cleanly than residuals from an unconstrained position.
Share X Bluesky LinkedIn Reddit HN

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

4 major / 5 minor

Summary. The paper proposes a Rao-Blackwellized particle filter (RBPF) for GNSS carrier-phase positioning that avoids integer ambiguity resolution. In the proposed method, each particle carries a 3D position estimated by a particle filter and a 3D velocity estimated by a per-particle Kalman filter. The velocity update uses Doppler observations after rejecting NLOS satellites with a threshold on double-differenced pseudorange residuals evaluated at each particle position. The position likelihood is computed from the ambiguity function value (AFV) of double-differenced carrier phase, following the authors' earlier PF work. A single-vehicle urban experiment compares the proposed method with a conventional PF and RTKLIB. The reported results show that the proposed method attains 68.5% of position errors within 0.3 m versus 54.4% for the conventional PF and 52.7% for RTKLIB, and also reports improved velocity accuracy and robustness to reduced particle count.

Significance. If the reported results hold, the paper offers a useful extension of AFV-based particle filtering to urban GNSS positioning, adding a Rao-Blackwellized velocity state and an NLOS rejection mechanism that improves particle diversity and robustness. The empirical demonstration on real data, the per-particle NLOS gating idea, and the observation that accuracy is maintained with fewer particles are valuable contributions. However, the central accuracy claim rests on a single trajectory, an undisclosed rejection threshold, no ablation isolating the proposed components, and no repeated-run statistics. The paper also does not release code or data, which limits reproducibility. The significance is therefore conditional on addressing these validation gaps.

major comments (4)
  1. The NLOS rejection gate in Eq. (15) is a load-bearing component of the proposed method, but the threshold eta is only described as 'determined experimentally'. The paper does not report its value, its units, or any sensitivity analysis. Moreover, the residual d(rho_k, x_i^n) at an arbitrary particle position is not a clean NLOS indicator: it contains the DD multipath error plus the projection of the particle position error onto the satellite line of sight. A fixed threshold can therefore reject LOS observations for particles that are far from the true position and can accept NLOS observations when the multipath error approximately cancels the geometric residual. Since the reported 68.5% versus 54.4% improvement in Fig. 7 comes from a single urban trajectory, please report the threshold value, provide a sensitivity sweep over eta, show that the gate separates NLOS from LOS observations in this dataset, and validate on at least one independent route.
  2. The use of the AFV as an innovation term in the Kalman filter measurement update is not derived. Equation (11) is written as a standard KF update with innovation y_t - h(x_t^n) - C xhat_t|t-1, but the text then states that the AFV is applied directly to the nonlinear-state innovation y_t - h(x_t^n). The AFV is not a position or velocity measurement, and the observation model in Eq. (6) does not contain an AFV term. The covariance R_t for this pseudo-measurement is not specified. Because the AFV-based correction is part of the proposed velocity estimation, please derive the pseudo-measurement model, define the associated covariance, and justify the Kalman gain expression, or remove the AFV correction from the KF update.
  3. The experimental evaluation is based on a single trajectory, and the PF-based methods are stochastic. The paper reports no multiple independent runs, no error bars, and no statistical comparison. The difference between 68.5% and 54.4% of estimates within 0.3 m could be within the run-to-run variation caused by particle resampling. Please report results over multiple random seeds (e.g., mean and spread of the CDF), state whether common random numbers are used, and give the number of epochs as well as the temporal correlation structure of the errors.
  4. The comparison between the proposed RBPF and the conventional PF in Figs. 4-5 and 7 confounds three changes at once: the Rao-Blackwellized velocity state, the per-particle Kalman filter, and the NLOS rejection gate. The claimed improvement in velocity and position accuracy is attributed to 'Rao-Blackwellization and NLOS rejection', but no ablation is provided. Please include at least an RBPF variant without NLOS rejection and a conventional PF with the same NLOS rejection to isolate the contribution of each component.
minor comments (5)
  1. The sentence after Eq. (14) says that M_t denotes the covariance matrix of the updated state following the measurement update, but M_t as defined in Eq. (14) is the innovation covariance in a standard Kalman filter. Please correct this wording.
  2. The symbols A_t^n, A_t^l, \bar{A}_t^l, and \bar{A}_t^n are used in the time-update equations but are not all defined in the text. Please define each matrix and clarify the relationship between A_t and \bar{A}_t.
  3. The index term 'Partilce Filter' contains a typo and should read 'Particle Filter'.
  4. The values of the observation standard deviation sigma_Phi in Eq. (9) and the KF covariance matrices Q, R, and the initial covariance are not reported. Since these are additional tuning parameters, please state their values in Section IV.
  5. The paper reports percentages within 0.3 m but does not state the total number of epochs used to compute the CDFs in Fig. 7. Please add the epoch count and the duration of the dataset.

Circularity Check

0 steps flagged · score 0.0 of 10

No circular derivation; accuracy claims rest on empirical comparison against external RTKLIB and a specified PF likelihood, with the fitted NLOS threshold a reproducibility concern rather than a circular step.

full rationale

The paper does not derive its main accuracy claim from its own inputs by construction. The position estimate is produced by a Rao-Blackwellized particle filter whose likelihood is explicitly specified in Eqs. (7)-(10), and the velocity is estimated by a Kalman filter in Eqs. (11)-(19). The central comparison is empirical: the proposed method is evaluated against RTKLIB, an external open-source baseline, and against a conventional PF on a real urban trajectory. The AFV likelihood is taken from the authors' prior work [3], but the equations are restated in the paper and Fig. 2 provides an independent illustration, so the citation is not the sole load-bearing support. The NLOS rejection threshold eta in Eq. (15) is reported as 'determined experimentally' without giving its value or sensitivity, which is a legitimate reproducibility and generalization concern, but it is a fitted parameter rather than a quantity that is renamed as a prediction. There is no step where an output is equivalent to an input by definition, no fitted parameter is relabeled as a predicted result, and no load-bearing argument reduces to a self-citation chain. Therefore, no significant circularity is present; the identified weaknesses belong to experimental rigor, not circular reasoning.

Assumptions & free parameters 3 free parameters · 5 assumptions · 0 invented entities

The central claim depends on three tuned numerical parameters and several domain assumptions about GNSS error behavior in urban settings. No new physical entities are introduced. The most consequential free parameter is the NLOS rejection threshold η, which is fitted to the data but not disclosed.

free parameters (3)
  • η (NLOS rejection threshold) = not reported
    Used in Eq. (15) to exclude Doppler observations with large pseudorange residuals. Stated to be determined experimentally, with no value or sensitivity analysis. Directly affects velocity estimation and hence position accuracy.
  • σ_Φ (carrier phase observation standard deviation) = not reported
    Used in Eq. (9) to compute the AFV-based likelihood. Its value influences the sharpness of the likelihood and the behavior of the particle filter.
  • KF noise covariance matrices (Q, R, initial covariance) = not specified
    The Kalman filter requires process and observation noise covariances for velocity estimation. The paper does not specify these values, which are likely tuned by the authors.
assumptions (5)
  • standard math Rao-Blackwellization factorization in Eq. (1) is applicable with position nonlinear and velocity linear.
    Standard result for mixed linear/nonlinear state-space models, cited from [13], [14].
  • domain assumption Constant-velocity motion model in Eq. (2) holds between 1 Hz measurement epochs.
    Assumes velocity is roughly constant over one second, which may be violated during sharp turns or acceleration. Introduced in Eq. (4) and (5).
  • domain assumption The pseudorange residual magnitude, Eq. (7), is a valid indicator of NLOS multipath at arbitrary particle positions.
    Used in Eq. (15) to reject NLOS satellites. The paper provides no separate validation of this assumption in urban environments beyond the overall positioning results.
  • domain assumption The AFV, Eq. (8), combined across satellites, produces a likelihood with a unique sharp peak near the true position even in urban multipath.
    The method relies on this to guide particles to the true position. Demonstrated only for an open-sky example in Fig. 2, not for the urban test itself.
  • ad hoc to paper The AFV can be used directly as an innovation term in the Kalman filter measurement update.
    Section III-C-1 states 'the AFV value is applied directly to the innovation' without a statistical derivation. This is a nonstandard use and its validity is not justified.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Robust Position Estimation by Rao-Blackwellized Particle Filter without Integer Ambiguity Resolution in Urban Environments." pith.science (2026). https://pith.science/paper/OIVESX6Z

@misc{pith2026250603537,
  author       = {Pith},
  title        = {Pith review of: Robust Position Estimation by Rao-Blackwellized Particle Filter without Integer Ambiguity Resolution in Urban Environments},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/OIVESX6Z}},
  note         = {Machine review of arXiv:2506.03537}
}
read the original abstract

This study proposes a centimeter-accurate positioning method that utilizes a Rao-Blackwellized particle filter (RBPF) without requiring integer ambiguity resolution in global navigation satellite system (GNSS) carrier phase measurements. The conventional positioning method employing a particle filter (PF) eliminates the necessity for ambiguity resolution by calculating the likelihood from the residuals of the carrier phase based on the particle position. However, this method encounters challenges, particularly in urban environments characterized by non-line-of-sight (NLOS) multipath errors. In such scenarios, PF tracking may fail due to the degradation of velocity estimation accuracy used for state transitions, thereby complicating subsequent position estimation. To address this issue, we apply Rao-Blackwellization to the conventional PF framework, treating position and velocity as distinct states and employing the Kalman filter for velocity estimation. This approach enhances the accuracy of velocity estimation and, consequently, the precision of position estimation. Moreover, the proposed method rejects NLOS multipath signals based on the pseudorange residuals at each particle position during the velocity estimation step. This process not only enhances velocity accuracy, but also preserves particle diversity by allowing particles to transition to unique states with varying velocities. Consequently, particles are more likely to cluster around the true position, thereby enabling more accurate position estimation. Vehicular experiments in urban environments demonstrated the effectiveness of proposed method in achieving a higher positioning accuracy than conventional PF-based and conventional GNSS positioning methods.

Figures

Figures reproduced from arXiv: 2506.03537 by the authors.

Figure 1
Figure 1. Overview of proposed Rao-Blackwellized PF. Top: Position estimation [PITH_FULL_IMAGE:figures/full_fig_p002_1.png] view at source ↗
Figure 2
Figure 2. Example of likelihood computed from AFV. The center of the figure [PITH_FULL_IMAGE:figures/full_fig_p004_2.png] view at source ↗
Figure 3
Figure 3. Route and environment of the vehicle for the evaluation test. Colors in [PITH_FULL_IMAGE:figures/full_fig_p005_3.png] view at source ↗
Figures from the paper (3 more)
Figure 6
Figure 6. Figure 6: Comparison of the 3D position estimation error of the proposed [PITH_FULL_IMAGE:figures/full_fig_p006_6.png]
Figure 7
Figure 7. Figure 7: Comparison of the CDF of the position estimation error. The [PITH_FULL_IMAGE:figures/full_fig_p006_7.png]
Figure 8
Figure 8. Figure 8: Comparison of the probability of 3D position error as a function of the [PITH_FULL_IMAGE:figures/full_fig_p007_8.png]

Discussion (0). Sign in to comment.

Reference graph

Works this paper leans on

26 extracted references · 25 canonical work pages

  1. [1]

    P. J. Teunissen and O. Montenbruck, Springer handbook of global navigation satellite systems . Springer, 2017, vol. 10

  2. [2]

    Gps ambiguity resolution and valida- tion: methodologies, trends and issues,

    D. Kim and R. B. Langley, “Gps ambiguity resolution and valida- tion: methodologies, trends and issues,” in Proceedings of the 7th GNSS Workshop–International Symposium on GPS/GNSS, Seoul, Korea, vol. 30, no. 2.12, 2000

  3. [3]

    Multiple Update Particle Filter: Position Estimation by Com- bining GNSS Pseudorange and Carrier Phase Observations,

    T. Suzuki, “Multiple Update Particle Filter: Position Estimation by Com- bining GNSS Pseudorange and Carrier Phase Observations,” in 2024 IEEE International Conference on Robotics and Automation (ICRA) , 2024, pp. 13 680–13 686

  4. [4]

    A GPS velocity sensor: How accurate can it be? - A first look,

    L. Serrano, D. Kim, R. B. Langley, K. Itani, and M. Ueno, “A GPS velocity sensor: How accurate can it be? - A first look,” in Proceedings of the National Technical Meeting, Institute of Navigation , vol. 2004, 2004, pp. 875–885

  5. [5]

    A Portfolio Approach to NLOS and Multipath Mitigation in Dense Urban Areas,

    P. D. Groves, Z. Jiang, M. Rudi, and P. Strode, “A Portfolio Approach to NLOS and Multipath Mitigation in Dense Urban Areas,” in 26th International Technical Meeting of the Satellite Division of the Institute of Navigation, ION GNSS 2013 , vol. 4, 2013, pp. 3231–3247

  6. [6]

    Least-squares estimation of the integer gps ambigui- ties,

    P. J. Teunissen, “Least-squares estimation of the integer gps ambigui- ties,” in Invited lecture, section IV theory and methodology, IAG general meeting, Beijing, China , 1993, pp. 1–16

  7. [7]

    Improvement of reliability determination performance of real time kinematic solutions using height trajectory,

    A. Takanose, Y . Atsumi, K. Takikawa, and J. Meguro, “Improvement of reliability determination performance of real time kinematic solutions using height trajectory,” Sensors, vol. 21, no. 2, 2021. [Online]. Available: https://www.mdpi.com/1424-8220/21/2/657

  8. [8]

    Gnss vulnerabilities and existing solutions: A review of the literature,

    J. Zidan, E. I. Adegoke, E. Kampert, S. A. Birrell, C. R. Ford, and M. D. Higgins, “Gnss vulnerabilities and existing solutions: A review of the literature,” IEEE Access, vol. 9, pp. 153 960–153 976, 2020

Show all 26 references
  1. [9]

    Miniature interferometer terminals for earth surveying: ambiguity and multipath with global positioning system,

    C. C. Counselman and S. A. Gourevitch, “Miniature interferometer terminals for earth surveying: ambiguity and multipath with global positioning system,” IEEE Transactions on Geoscience and Remote Sensing, no. 4, pp. 244–252, 1981

  2. [10]

    Modified ambiguity function approach for GPS carrier phase positioning,

    S. Cellmer, P. Wielgosz, and Z. Rzepecka, “Modified ambiguity function approach for GPS carrier phase positioning,” Journal of Geodesy , vol. 84, pp. 267–275, 2010

  3. [11]

    A graphic representation of the necessary condition for the mafa method,

    S. Cellmer, “A graphic representation of the necessary condition for the mafa method,” IEEE transactions on geoscience and remote sensing , vol. 50, no. 2, pp. 482–488, 2011

  4. [12]

    Search procedure for improving modified ambiguity func- tion approach,

    S. Cellmer, “Search procedure for improving modified ambiguity func- tion approach,” Survey Review, vol. 45, no. 332, pp. 380–385, 2013

  5. [13]

    Particle filters for state estimation of jump Markov linear systems,

    A. Doucet, N. J. Gordon, and V . Krishnamurthy, “Particle filters for state estimation of jump Markov linear systems,” IEEE Transactions on signal processing, vol. 49, no. 3, pp. 613–624, 2001

  6. [14]

    Marginalized particle filters for mixed linear/nonlinear state-space models,

    T. Schon, F. Gustafsson, and P.-J. Nordlund, “Marginalized particle filters for mixed linear/nonlinear state-space models,” IEEE Transactions on Signal Processing , vol. 53, no. 7, pp. 2279–2289, 2005

  7. [15]

    Rao-blackwellised particle filters: examples of applications,

    F. Mustiere, M. Bolic, and M. Bouchard, “Rao-blackwellised particle filters: examples of applications,” in 2006 Canadian Conference on Electrical and Computer Engineering . IEEE, 2006, pp. 1196–1200

  8. [16]

    Thrun, W

    S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics . MA, Cambridge: MIT Press, 2005

  9. [17]

    Particle filter theory and practice with positioning ap- plications,

    F. Gustafsson, “Particle filter theory and practice with positioning ap- plications,” IEEE Aerospace and Electronic Systems Magazine , vol. 25, no. 7, pp. 53–82, 2010

  10. [18]

    A tutorial on particle filtering and smoothing: Fifteen years later,

    A. Doucet, A. M. Johansen, et al., “A tutorial on particle filtering and smoothing: Fifteen years later,” Handbook of nonlinear filtering, vol. 12, no. 656-704, p. 3, 2009

  11. [19]

    Rao-Blackwellised particle filtering for dynamic Bayesian networks,

    K. Murphy and S. Russell, “Rao-Blackwellised particle filtering for dynamic Bayesian networks,” in Sequential Monte Carlo methods in practice. Springer, 2001, pp. 499–515

  12. [20]

    FastSLAM 2.0: An improved particle filtering algorithm for simultaneous localiza- tion and mapping that provably converges,

    M. Montemerlo, S. Thrun, D. Koller, B. Wegbreit, et al. , “FastSLAM 2.0: An improved particle filtering algorithm for simultaneous localiza- tion and mapping that provably converges,” in IJCAI, vol. 3, no. 2003. Citeseer, 2003, pp. 1151–1156

  13. [21]

    Integration of GNSS positioning and 3D map using particle filter,

    T. Suzuki, “Integration of GNSS positioning and 3D map using particle filter,” in Proceedings of the 29th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2016) , 2016, pp. 1296–1304

  14. [22]

    Mobile robot localization with GNSS multipath detection using pseudorange residuals,

    T. Suzuki, “Mobile robot localization with GNSS multipath detection using pseudorange residuals,” Advanced Robotics , vol. 33, no. 12, pp. 602–613, 2019

  15. [23]

    Multi-epoch 3d-mapping-aided positioning using bayesian filtering techniques,

    Q. Zhong and P. D. Groves, “Multi-epoch 3d-mapping-aided positioning using bayesian filtering techniques,” NAVIGATION: Journal of the Institute of Navigation , vol. 69, no. 2, 2022

  16. [24]

    A Rao- Blackwellized particle filter for INS/GPS integration,

    A. Giremus, A. Doucet, V . Calmettes, and J.-Y . Tourneret, “A Rao- Blackwellized particle filter for INS/GPS integration,” in 2004 IEEE International Conference on Acoustics, Speech, and Signal Processing , vol. 3, 2004, pp. iii–964

  17. [25]

    Getting the best of particle and Kalman filters: GNSS sensor fusion using rao-blackwellized particle filter,

    S. Gupta, A. Mohanty, and G. Gao, “Getting the best of particle and Kalman filters: GNSS sensor fusion using rao-blackwellized particle filter,” in Proceedings of the 35th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2022)...

  18. [26]

    Development of the low-cost RTK-GPS receiver with an open source program package RTKLIB,

    T. Takasu and A. Yasuda, “Development of the low-cost RTK-GPS receiver with an open source program package RTKLIB,” in Proc. of The International Symposium on GPS/GNSS , Jeju, Korea, 2009

Pith tools

Reviewed August 7, 2026 · model on record in the stance chip above.