Estimating uncertain spatial relationships in robotics

Randall SmithMatthew SelfPeter Cheeseman

article1986Proceedings. 1987 IEEE International Conference on Robotics and Automation1,981 citations

Introduces the stochastic map, establishing a probabilistic state-estimation framework that enables autonomous robots to incrementally map spatial landmarks and maintain accurate relationships under geometric uncertainty.

Listen

In robotics applications such as autonomous mobile navigation and industrial automation, systems must routinely operate under spatial uncertainty caused by manufacturing tolerances, sensor measurement noise, and actuation errors. Traditionally, engineers have managed this uncertainty through costly pre-engineering, including high-precision hardware, rigid fixtures, and structured environments, or through overly conservative worst-case error bounds that compound rapidly. The article introduces a statistical framework to overcome these limitations by explicitly modeling and updating spatial uncertainty across multiple coordinate frames, enabling systems to achieve high positioning accuracy using lower-cost, overlapping sensors.

The article set out to formulate, implement, and demonstrate the "stochastic map," a unified probabilistic representation and state-estimation framework that models uncertain spatial relationships among objects and updates them incrementally as new spatial data or geometric constraints are introduced. The authors developed their approach by linking multivariate probability distributions with classical estimation and filtering theory. They evaluated the framework using mathematical derivations for two- and three-dimensional spaces, a simulated planar navigation scenario involving an autonomous mobile robot, and constraint validation tests including geometric shape fitting.

The analysis yielded several key findings regarding spatial representation and estimation. First, representing spatial relationships using only the first two statistical moments—the estimated mean vector and the system covariance matrix—accurately captures positions, orientations, and the statistical dependencies between distinct objects without requiring full probability density functions. Second, tracking cross-covariance terms across reference frames ensures that when a robot re-observes a previously mapped landmark, the uncertainty of the entire interconnected network—including the robot's own position and other mapped objects—is simultaneously reduced. Third, linearizing non-linear spatial transformations through first-order Taylor series approximations maintains high accuracy; simulations demonstrate that angular errors with standard deviations as large as 5 degrees yield mean and variance estimates within 1% of true values. Fourth, casting spatial updates into standard estimation filter equations allows systems to seamlessly integrate dynamic process extrapolation, independent sensor readings, and geometric shape constraints within a single recursive matrix routine.

These findings indicate that autonomous systems can operate reliably with lower-cost sensors and less structured environments by mathematically fusing multiple uncertain measurements. This reduces equipment costs and improves operational performance, while allowing automated systems to predict whether planned trajectories will succeed or fail prior to execution. By adopting a probabilistic model rather than worst-case bounds, systems avoid the excessive conservatism that previously constrained autonomous path planning and off-line robot programming.

Organizations developing autonomous mobile systems or automated manufacturing workflows should adopt this recursive stochastic mapping framework to fuse multi-sensor data and reduce reliance on rigid physical fixtures. Before deploying the system in operations with severe non-linear dynamics or extreme rotational ranges, engineering teams must evaluate whether standard linear approximations are sufficient or if iterative filtering is necessary to maintain convergence. The primary limitation of the framework is its reliance on first-order approximations and small-angle assumptions, as well as the risk of mathematical singularities when orientation angles reach specific configurations in three-dimensional coordinate transformations. Overall confidence in the theoretical formulation and two-dimensional navigation results is high, provided that sensor noise remains uncorrelated and operational rotations stay within moderate bounds.

  • Paper: An Introduction to the Kalman Filter, Greg Welch et al. (1995). This introduction derives the discrete and extended Kalman filter formulations that provide the mathematical state-estimation foundation for the stochastic map.
  • Paper: An Iterative Image Registration Technique with an Application to Stereo Vision, B. D. Lucas et al. (1981). This foundational work establishes differential, iterative spatial alignment and registration methods essential for tracking relative displacements from sensory data.
  • Paper: Scale-Space Filtering, A. Witkin (1983). This paper presents foundational concepts for multiscale feature representation that underpin early spatial reasoning and geometric feature extraction in robotics.
Cover for Estimating uncertain spatial relationships in robotics

Abstract

In this paper, we describe a representation for spatial information, called the stochastic map, and associated procedures for building it, reading information from it, and revising it incrementally as new information is obtained. The map contains the estimates of relationships among objects in the map, and their uncertainties, given all the available information. The procedures provide a general solution to the problem of estimating uncertain relative spatial relationships. The estimates are probabilistic in nature, an advance over the previous, very conservative, worst-case approaches to the problem. Finally, the procedures are developed in the context of state-estimation and filtering theory, which provides a solid basis for numerous extensions.

Table of Contents

  • 1 Introduction
  • 2 The Stochastic Map
  • 2.1 Representation
  • 2.2 Interpretation
  • 2.3 Example
  • 3 Reading the Map
  • 3.1 Uncertain Relationships
  • 3.1.1 Linear Relationships
  • 3.1.2 Non-Linear Relationships
  • 3.2 Spatial Relationships
  • 3.2.1 Compounding
  • 3.2.2 The Inverse Relationship
  • 3.2.3 Composite Relationships
  • 3.2.4 Extracting Relationships
  • 4 Building the Map
  • 4.1 Moving Objects
  • 4.2 New Spatial Information
  • 4.2.1 Case I: Adding New Objects
  • 4.2.2 Case II: Adding Constraints
  • 4.2.3 Kalman Filter
  • 5 Developed Example
  • 6 Discussion and Conclusions
  • Appendix A
  • Relationships Using Euler Angles
  • Relationships Using Roll, Pitch and Yaw Angles
  • References

Knowls

  1. Knowl 1 — Stochastic Map Representation

    definition

    A stochastic map represents the uncertain spatial configuration of a system composed of nn spatial relationships or objects relative to a common reference frame (the world coordinate frame).

    The system state vector x\mathbf{x} concatenates the spatial variable vectors xi\mathbf{x}_i for each entity i∈{1,…,n}i \in \{1, \dots, n\}: x=[x1x2⋮xn]\mathbf{x} = \begin{bmatrix} \mathbf{x}_1 \\ \mathbf{x}_2 \\ \vdots \\ \mathbf{x}_n \end{bmatrix}

    For a two-dimensional system where each object has position and orientation degrees of freedom, xi=[xi,yi,ϕi]T\mathbf{x}_i = [x_i, y_i, \phi_i]^T, where (xi,yi)(x_i, y_i) are Cartesian coordinates and ϕi\phi_i is the orientation angle about the zz-axis.

    The uncertain state is modeled by its first two statistical moments: the estimated mean state vector x^=E[x]\hat{\mathbf{x}} = E[\mathbf{x}] and the system covariance matrix C(x)=E[(x−x^)(x−x^)T]C(\mathbf{x}) = E[(\mathbf{x} - \hat{\mathbf{x}})(\mathbf{x} - \hat{\mathbf{x}})^T], structured as a block matrix: C(x)=[C(x1)C(x1,x2)⋯C(x1,xn)C(x2,x1)C(x2)⋯C(x2,xn)⋮⋮⋱⋮C(xn,x1)C(xn,x2)⋯C(xn)]C(\mathbf{x}) = \begin{bmatrix} C(\mathbf{x}_1) & C(\mathbf{x}_1, \mathbf{x}_2) & \cdots & C(\mathbf{x}_1, \mathbf{x}_n) \\ C(\mathbf{x}_2, \mathbf{x}_1) & C(\mathbf{x}_2) & \cdots & C(\mathbf{x}_2, \mathbf{x}_n) \\ \vdots & \vdots & \ddots & \vdots \\ C(\mathbf{x}_n, \mathbf{x}_1) & C(\mathbf{x}_n, \mathbf{x}_2) & \cdots & C(\mathbf{x}_n) \end{bmatrix} where:

    • Diagonal blocks C(xi)=E[(xi−x^i)(xi−x^i)T]C(\mathbf{x}_i) = E[(\mathbf{x}_i - \hat{\mathbf{x}}_i)(\mathbf{x}_i - \hat{\mathbf{x}}_i)^T] are auto-covariance matrices representing the individual uncertainty of entity ii.
    • Off-diagonal blocks C(xi,xj)=E[(xi−x^i)(xj−x^j)T]C(\mathbf{x}_i, \mathbf{x}_j) = E[(\mathbf{x}_i - \hat{\mathbf{x}}_i)(\mathbf{x}_j - \hat{\mathbf{x}}_j)^T] are cross-covariance matrices encoding statistical dependencies between entity ii and entity jj, satisfying C(xj,xi)=C(xi,xj)TC(\mathbf{x}_j, \mathbf{x}_i) = C(\mathbf{x}_i, \mathbf{x}_j)^T.
  2. Knowl 2 — 2D Spatial Relationship Compounding and Covariance Propagation

    model/method

    Compounding (head-to-tail transformation), denoted by the operator ⊕\oplus, computes the resultant spatial relationship xik\mathbf{x}_{ik} between coordinate frame ii and frame kk given intermediate transformations xij=[xij,yij,ϕij]T\mathbf{x}_{ij} = [x_{ij}, y_{ij}, \phi_{ij}]^T and xjk=[xjk,yjk,ϕjk]T\mathbf{x}_{jk} = [x_{jk}, y_{jk}, \phi_{jk}]^T: xik=xij⊕xjk=[xjkcos⁡ϕij−yjksin⁡ϕij+xijxjksin⁡ϕij+yjkcos⁡ϕij+yijϕij+ϕjk]\mathbf{x}_{ik} = \mathbf{x}_{ij} \oplus \mathbf{x}_{jk} = \begin{bmatrix} x_{jk}\cos\phi_{ij} - y_{jk}\sin\phi_{ij} + x_{ij} \\ x_{jk}\sin\phi_{ij} + y_{jk}\cos\phi_{ij} + y_{ij} \\ \phi_{ij} + \phi_{jk} \end{bmatrix}

    Under a first-order Taylor series approximation around the mean estimates x^ij\hat{\mathbf{x}}_{ij} and x^jk\hat{\mathbf{x}}_{jk}, the estimated mean of the compound relationship is: x^ik≈x^ij⊕x^jk\hat{\mathbf{x}}_{ik} \approx \hat{\mathbf{x}}_{ij} \oplus \hat{\mathbf{x}}_{jk}

    The first-order estimate of the covariance C(xik)C(\mathbf{x}_{ik}) is: C(xik)≈J⊕[C(xij)C(xij,xjk)C(xjk,xij)C(xjk)]J⊕TC(\mathbf{x}_{ik}) \approx J_\oplus \begin{bmatrix} C(\mathbf{x}_{ij}) & C(\mathbf{x}_{ij}, \mathbf{x}_{jk}) \\ C(\mathbf{x}_{jk}, \mathbf{x}_{ij}) & C(\mathbf{x}_{jk}) \end{bmatrix} J_\oplus^T where the 3×63 \times 6 compounding Jacobian matrix J⊕=∂(xij⊕xjk)∂(xij,xjk)=[J1⊕J2⊕]J_\oplus = \frac{\partial(\mathbf{x}_{ij} \oplus \mathbf{x}_{jk})}{\partial(\mathbf{x}_{ij}, \mathbf{x}_{jk})} = \begin{bmatrix} J_{1\oplus} & J_{2\oplus} \end{bmatrix} evaluated at the mean values is: J⊕=[10−(yik−yij)cos⁡ϕij−sin⁡ϕij001(xik−xij)sin⁡ϕijcos⁡ϕij0001001]J_\oplus = \begin{bmatrix} 1 & 0 & -(y_{ik} - y_{ij}) & \cos\phi_{ij} & -\sin\phi_{ij} & 0 \\ 0 & 1 & (x_{ik} - x_{ij}) & \sin\phi_{ij} & \cos\phi_{ij} & 0 \\ 0 & 0 & 1 & 0 & 0 & 1 \end{bmatrix}

    If the two compounded relationships are statistically independent (C(xij,xjk)=0C(\mathbf{x}_{ij}, \mathbf{x}_{jk}) = 0), the covariance simplifies to: C(xik)≈J1⊕C(xij)J1⊕T+J2⊕C(xjk)J2⊕TC(\mathbf{x}_{ik}) \approx J_{1\oplus} C(\mathbf{x}_{ij}) J_{1\oplus}^T + J_{2\oplus} C(\mathbf{x}_{jk}) J_{2\oplus}^T

  3. Knowl 3 — 2D Spatial Relationship Inversion and Covariance Propagation

    model/method

    Inversion (reversal of coordinate transformation direction), denoted by the operator ⊖\ominus, computes the inverse spatial relationship xji\mathbf{x}_{ji} from frame jj to frame ii given xij=[xij,yij,ϕij]T\mathbf{x}_{ij} = [x_{ij}, y_{ij}, \phi_{ij}]^T: xji=⊖xij=[−xijcos⁡ϕij−yijsin⁡ϕijxijsin⁡ϕij−yijcos⁡ϕij−ϕij]\mathbf{x}_{ji} = \ominus \mathbf{x}_{ij} = \begin{bmatrix} -x_{ij}\cos\phi_{ij} - y_{ij}\sin\phi_{ij} \\ x_{ij}\sin\phi_{ij} - y_{ij}\cos\phi_{ij} \\ -\phi_{ij} \end{bmatrix}

    The first-order estimate of the mean of the reversed relationship is: x^ji≈⊖x^ij\hat{\mathbf{x}}_{ji} \approx \ominus \hat{\mathbf{x}}_{ij}

    The first-order estimate of the covariance C(xji)C(\mathbf{x}_{ji}) is: C(xji)≈J⊖C(xij)J⊖TC(\mathbf{x}_{ji}) \approx J_\ominus C(\mathbf{x}_{ij}) J_\ominus^T where the 3×33 \times 3 reversal Jacobian matrix J⊖=∂xji∂xijJ_\ominus = \frac{\partial \mathbf{x}_{ji}}{\partial \mathbf{x}_{ij}} evaluated at the mean estimate is: J⊖=[−cos⁡ϕij−sin⁡ϕijyjisin⁡ϕij−cos⁡ϕij−xji00−1]J_\ominus = \begin{bmatrix} -\cos\phi_{ij} & -\sin\phi_{ij} & y_{ji} \\ \sin\phi_{ij} & -\cos\phi_{ij} & -x_{ji} \\ 0 & 0 & -1 \end{bmatrix} where (xji,yji)(x_{ji}, y_{ji}) are the coordinates of the reversed relationship evaluated at x^ij\hat{\mathbf{x}}_{ij}.

  4. Knowl 4 — Extraction of Relative Spatial Relationships from the Stochastic Map

    model/method

    Arbitrary spatial relationships between entities in a stochastic map can be extracted as functions y=g(x)\mathbf{y} = g(\mathbf{x}) of the system state vector x\mathbf{x}. The first-order mean and covariance of the extracted relationship are: y^≈g(x^)\hat{\mathbf{y}} \approx g(\hat{\mathbf{x}}) C(y)≈GxC(x)GxTC(\mathbf{y}) \approx G_x C(\mathbf{x}) G_x^T where Gx=∂g(x)∂x∣x^G_x = \left.\frac{\partial g(\mathbf{x})}{\partial \mathbf{x}}\right|_{\hat{\mathbf{x}}}.

    A primary example is tail-to-tail composition, which computes the relative spatial relationship xjk\mathbf{x}_{jk} between entity jj and entity kk given their world-frame poses xij=xj\mathbf{x}_{ij} = \mathbf{x}_j and xik=xk\mathbf{x}_{ik} = \mathbf{x}_k relative to world origin ii: xjk=⊖xij⊕xik\mathbf{x}_{jk} = \ominus \mathbf{x}_{ij} \oplus \mathbf{x}_{ik}

    The estimated mean is x^jk=⊖x^ij⊕x^ik\hat{\mathbf{x}}_{jk} = \ominus \hat{\mathbf{x}}_{ij} \oplus \hat{\mathbf{x}}_{ik}, and the covariance is evaluated using the composite Jacobian ⊖J⊕=[J1⊕J⊖J2⊕]{}_\ominus J_\oplus = [J_{1\oplus} J_\ominus \quad J_{2\oplus}]: C(xjk)≈⊖J⊕[C(xij)C(xij,xik)C(xik,xij)C(xik)]⊖J⊕TC(\mathbf{x}_{jk}) \approx {}_\ominus J_\oplus \begin{bmatrix} C(\mathbf{x}_{ij}) & C(\mathbf{x}_{ij}, \mathbf{x}_{ik}) \\ C(\mathbf{x}_{ik}, \mathbf{x}_{ij}) & C(\mathbf{x}_{ik}) \end{bmatrix} {}_\ominus J_\oplus^T where J1⊕J_{1\oplus} and J2⊕J_{2\oplus} are the left and right (3×3)(3 \times 3) blocks of the compounding Jacobian J⊕J_\oplus, and J⊖J_\ominus is the reversal Jacobian.

  5. Knowl 5 — Stochastic Map State and Covariance Extrapolation for Moving Objects

    model/method

    When an entity in the stochastic map (such as a mobile robot RR) moves between discrete time steps k−1k-1 and kk, its state is extrapolated via a dynamic process model before new sensor observations are incorporated.

    Let the robot execute a motion command uR\mathbf{u}_R corrupted by zero-mean additive process noise wR\mathbf{w}_R with covariance C(wR)C(\mathbf{w}_R), giving relative displacement yR=uR+wR\mathbf{y}_R = \mathbf{u}_R + \mathbf{w}_R where y^R=uR\hat{\mathbf{y}}_R = \mathbf{u}_R and C(yR)=C(wR)C(\mathbf{y}_R) = C(\mathbf{w}_R). The updated robot world location xR′\mathbf{x}_R' is: xR′=xR⊕yR\mathbf{x}_R' = \mathbf{x}_R \oplus \mathbf{y}_R

    The state mean and covariance are updated from state k−1k-1 to prior state k(−)k^{(-)} by modifying only the RR-th block row and column of the stochastic map:

    1. Robot mean position: x^R′≈x^R⊕y^R\hat{\mathbf{x}}_R' \approx \hat{\mathbf{x}}_R \oplus \hat{\mathbf{y}}_R
    2. Robot auto-covariance block A′=C(xR′)\mathbf{A}' = C(\mathbf{x}_R'): A′≈J1⊕C(xR)J1⊕T+J2⊕C(yR)J2⊕T\mathbf{A}' \approx J_{1\oplus} C(\mathbf{x}_R) J_{1\oplus}^T + J_{2\oplus} C(\mathbf{y}_R) J_{2\oplus}^T
    3. Cross-covariance blocks Bi′=C(xR′,xi)\mathbf{B}_i' = C(\mathbf{x}_R', \mathbf{x}_i) for all other stationary objects i≠Ri \neq R in the map: Bi′≈J1⊕C(xR,xi),C(xi,xR′)=(Bi′)T\mathbf{B}_i' \approx J_{1\oplus} C(\mathbf{x}_R, \mathbf{x}_i), \quad C(\mathbf{x}_i, \mathbf{x}_R') = (\mathbf{B}_i')^T where J1⊕J_{1\oplus} and J2⊕J_{2\oplus} are the 3×33 \times 3 submatrices of the compounding Jacobian J⊕=[J1⊕J2⊕]J_\oplus = [J_{1\oplus} \quad J_{2\oplus}] evaluated at (x^R,y^R)(\hat{\mathbf{x}}_R, \hat{\mathbf{y}}_R). All covariance blocks not involving entity RR remain unchanged.
  6. Knowl 6 — Augmenting the Stochastic Map with New Objects

    model/method

    When a new object xn+1\mathbf{x}_{n+1} is added to an nn-object stochastic map, the system state vector and covariance matrix are augmented: x^(+)=[x^(−)x^n+1],C(x(+))=[C(x(−))BTBA]\hat{\mathbf{x}}^{(+)} = \begin{bmatrix} \hat{\mathbf{x}}^{(-)} \\ \hat{\mathbf{x}}_{n+1} \end{bmatrix}, \quad C(\mathbf{x}^{(+)}) = \begin{bmatrix} C(\mathbf{x}^{(-)}) & \mathbf{B}^T \\ \mathbf{B} & \mathbf{A} \end{bmatrix} where x^(−)\hat{\mathbf{x}}^{(-)} and C(x(−))C(\mathbf{x}^{(-)}) are the prior state mean and covariance, A=C(xn+1)\mathbf{A} = C(\mathbf{x}_{n+1}) is the new object's auto-covariance, and B=[C(xn+1,x1),…,C(xn+1,xn)]\mathbf{B} = [C(\mathbf{x}_{n+1}, \mathbf{x}_1), \dots, C(\mathbf{x}_{n+1}, \mathbf{x}_n)] is the row of cross-covariances with existing map entities.

    The update depends on whether the measurement is independent or relative:

    • Independent world-coordinate entry (Case I-a): If the new object is observed directly in the world coordinate frame as x^new\hat{\mathbf{x}}_{\text{new}} with covariance C(xnew)C(\mathbf{x}_{\text{new}}) independently of other map entities: x^n+1=x^new,A=C(xnew),B=0\hat{\mathbf{x}}_{n+1} = \hat{\mathbf{x}}_{\text{new}}, \quad \mathbf{A} = C(\mathbf{x}_{\text{new}}), \quad \mathbf{B} = \mathbf{0}
    • Relative measurement entry (Case I-b): If the new object's world location is determined by a function g(x,z)g(\mathbf{x}, \mathbf{z}) of current state variables x\mathbf{x} and relative measurement z\mathbf{z} (with mean z^\hat{\mathbf{z}} and measurement error covariance C(z)C(\mathbf{z}) uncorrelated with x\mathbf{x}), such as xn+1=xR⊕z\mathbf{x}_{n+1} = \mathbf{x}_R \oplus \mathbf{z}: x^n+1=g(x^(−),z^)\hat{\mathbf{x}}_{n+1} = g(\hat{\mathbf{x}}^{(-)}, \hat{\mathbf{z}}) A≈GxC(x(−))GxT+GzC(z)GzT\mathbf{A} \approx G_x C(\mathbf{x}^{(-)}) G_x^T + G_z C(\mathbf{z}) G_z^T B≈GxC(x(−))\mathbf{B} \approx G_x C(\mathbf{x}^{(-)}) where Gx=∂g(x,z)∂x∣x^(−),z^G_x = \left.\frac{\partial g(\mathbf{x}, \mathbf{z})}{\partial \mathbf{x}}\right|_{\hat{\mathbf{x}}^{(-)}, \hat{\mathbf{z}}} and Gz=∂g(x,z)∂z∣x^(−),z^G_z = \left.\frac{\partial g(\mathbf{x}, \mathbf{z})}{\partial \mathbf{z}}\right|_{\hat{\mathbf{x}}^{(-)}, \hat{\mathbf{z}}}.
  7. Knowl 7 — Stochastic Map Constraint Integration via Extended Kalman Filtering

    model/method

    When new sensor observations or geometric constraints relate objects already present in the stochastic map, the state dimension remains unchanged, and the state vector mean and covariance matrix are revised using the Extended Kalman Filter (EKF).

    Given a nonlinear measurement equation zk=hk(x)+vk\mathbf{z}_k = h_k(\mathbf{x}) + \mathbf{v}_k, where vk\mathbf{v}_k is zero-mean additive noise with covariance C(vk)C(\mathbf{v}_k) uncorrelated with the state x\mathbf{x}:

    1. Compute the measurement Jacobian matrix HxH_x evaluated at the prior mean x^k(−)\hat{\mathbf{x}}_k^{(-)}: Hx=∂hk(x)∂x∣x^k(−)H_x = \left.\frac{\partial h_k(\mathbf{x})}{\partial \mathbf{x}}\right|_{\hat{\mathbf{x}}_k^{(-)}}
    2. Compute the Kalman gain matrix KkK_k: Kk=C(xk(−))HxT[HxC(xk(−))HxT+C(vk)]−1K_k = C(\mathbf{x}_k^{(-)}) H_x^T \left[ H_x C(\mathbf{x}_k^{(-)}) H_x^T + C(\mathbf{v}_k) \right]^{-1}
    3. Update the state vector mean x^k(+)\hat{\mathbf{x}}_k^{(+)}: x^k(+)=x^k(−)+Kk[zk−hk(x^k(−))]\hat{\mathbf{x}}_k^{(+)} = \hat{\mathbf{x}}_k^{(-)} + K_k \left[ \mathbf{z}_k - h_k(\hat{\mathbf{x}}_k^{(-)}) \right]
    4. Update the system covariance matrix C(xk(+))C(\mathbf{x}_k^{(+)}): C(xk(+))=C(xk(−))−KkHxC(xk(−))C(\mathbf{x}_k^{(+)}) = C(\mathbf{x}_k^{(-)}) - K_k H_x C(\mathbf{x}_k^{(-)})

    Because C(xk(−))C(\mathbf{x}_k^{(-)}) contains off-diagonal cross-covariances linking all map entities, the update step adjusts the estimated positions and reduces the uncertainties of all correlated objects in the map simultaneously.

  8. Knowl 8 — Iterated Extended Kalman Filter Algorithm for Nonlinear Map Updates

    algorithm

    The Iterated Extended Kalman Filter (IEKF) computes refined state estimates for the stochastic map when measurement or constraint functions hk(x)h_k(\mathbf{x}) exhibit significant non-linearities, iterating the linearization point until convergence before performing the final covariance update.

    Input: Prior state mean x^k(−)\hat{\mathbf{x}}_k^{(-)}, prior covariance C(xk(−))C(\mathbf{x}_k^{(-)}), measurement zk\mathbf{z}_k, noise covariance C(vk)C(\mathbf{v}_k), measurement function hk(⋅)h_k(\cdot), convergence tolerance ϵ\epsilon, maximum iterations Imax⁡I_{\max}
    Output: Updated state mean x^k(+)\hat{\mathbf{x}}_k^{(+)}, updated covariance C(xk(+))C(\mathbf{x}_k^{(+)})
    Initialize x^k,0(+)←x^k(−)\hat{\mathbf{x}}_{k,0}^{(+)} \leftarrow \hat{\mathbf{x}}_k^{(-)}
    i←0i \leftarrow 0
    repeat
        Compute Jacobian Hx,i←∂hk(x)∂x∣x^k,i(+)H_{x,i} \leftarrow \left.\frac{\partial h_k(\mathbf{x})}{\partial \mathbf{x}}\right|_{\hat{\mathbf{x}}_{k,i}^{(+)}}
        Compute gain Kk,i←C(xk(−))Hx,iT[Hx,iC(xk(−))Hx,iT+C(vk)]−1K_{k,i} \leftarrow C(\mathbf{x}_k^{(-)}) H_{x,i}^T \left[ H_{x,i} C(\mathbf{x}_k^{(-)}) H_{x,i}^T + C(\mathbf{v}_k) \right]^{-1}
        x^k,i+1(+)←x^k(−)+Kk,i[zk−(hk(x^k,i(+))+Hx,i(x^k(−)−x^k,i(+)))]\hat{\mathbf{x}}_{k,i+1}^{(+)} \leftarrow \hat{\mathbf{x}}_k^{(-)} + K_{k,i} \left[ \mathbf{z}_k - \left( h_k(\hat{\mathbf{x}}_{k,i}^{(+)}) + H_{x,i} (\hat{\mathbf{x}}_k^{(-)} - \hat{\mathbf{x}}_{k,i}^{(+)}) \right) \right]
        i←i+1i \leftarrow i + 1
    until ∥x^k,i(+)−x^k,i−1(+)∥<ϵ\|\hat{\mathbf{x}}_{k,i}^{(+)} - \hat{\mathbf{x}}_{k,i-1}^{(+)}\| < \epsilon or i≥Imax⁡i \ge I_{\max}
    x^k(+)←x^k,i(+)\hat{\mathbf{x}}_k^{(+)} \leftarrow \hat{\mathbf{x}}_{k,i}^{(+)}
    Compute final Jacobian Hx←∂hk(x)∂x∣x^k(+)H_x \leftarrow \left.\frac{\partial h_k(\mathbf{x})}{\partial \mathbf{x}}\right|_{\hat{\mathbf{x}}_k^{(+)}}
    Compute final gain Kk←C(xk(−))HxT[HxC(xk(−))HxT+C(vk)]−1K_k \leftarrow C(\mathbf{x}_k^{(-)}) H_x^T \left[ H_x C(\mathbf{x}_k^{(-)}) H_x^T + C(\mathbf{v}_k) \right]^{-1}
    C(xk(+))←C(xk(−))−KkHxC(xk(−))C(\mathbf{x}_k^{(+)}) \leftarrow C(\mathbf{x}_k^{(-)}) - K_k H_x C(\mathbf{x}_k^{(-)})
    return x^k(+)\hat{\mathbf{x}}_k^{(+)}, C(xk(+))C(\mathbf{x}_k^{(+)})
  9. Knowl 9 — Geometric Shape Constraints as Stochastic Pseudo-Measurements

    model/method

    Geometric relationships between features already in the stochastic map (such as collinearity, coplanarity, or rectangularity) are incorporated into the map as pseudo-measurements of the form z=h(x)+v\mathbf{z} = h(\mathbf{x}) + \mathbf{v}, with target value z=0\mathbf{z} = \mathbf{0} and covariance C(v)C(\mathbf{v}) representing geometric tolerances.

    For example, given four 2D vertex positions xi=[xi,yi]T\mathbf{x}_i = [x_i, y_i]^T, xj=[xj,yj]T\mathbf{x}_j = [x_j, y_j]^T, xk=[xk,yk]T\mathbf{x}_k = [x_k, y_k]^T, and xl=[xl,yl]T\mathbf{x}_l = [x_l, y_l]^T, a rectangularity constraint function h(x)h(\mathbf{x}) is defined as: h(x)=[xi−xj+xk−xlyi−yj+yk−yl(xi−xj)(xk−xj)+(yi−yj)(yk−yj)]h(\mathbf{x}) = \begin{bmatrix} x_i - x_j + x_k - x_l \\ y_i - y_j + y_k - y_l \\ (x_i - x_j)(x_k - x_j) + (y_i - y_j)(y_k - y_j) \end{bmatrix} where:

    • The first two elements evaluate to zero when opposite sides of the quadrilateral are parallel and equal in length.
    • The third element evaluates to zero when adjacent sides meeting at vertex jj are perpendicular.

    Setting C(v)=0C(\mathbf{v}) = \mathbf{0} imposes an exact geometric constraint, while C(v)>0C(\mathbf{v}) > \mathbf{0} models shape tolerances. Applying standard Kalman filter or Iterated Extended Kalman Filter updates reduces positional uncertainty across all four vertices simultaneously.

  10. Knowl 10 — Small-Angle Error Assumption for First-Order Spatial Linearization

    assumption

    The stochastic map relies on first-order Taylor series expansions to linearize nonlinear spatial transformations (compounding, inversion, and measurement functions). This approach requires that angular orientation uncertainties remain small.

    Monte Carlo simulations show that for angular errors with standard deviations up to 5∘5^\circ (approximately 0.087 rad0.087\text{ rad}), first-order estimates of the mean and covariance of compounded and extracted relationships remain within 1% of the true values.

Coverage note — Appendix A's explicit 3D transformation equations and Jacobian matrices for Euler and Roll-Pitch-Yaw representations were omitted as straightforward kinematic extensions of the 2D spatial compounding and inversion formulations.

References

  1. 1.Brooks, R. A. 1982. Symbolic Error Analysis and Robot Planning. Int. J. Robotics Res. 1(4):29-68.
  2. 2.Chatila, R. and Laumond, J-P. 1985. Position Referencing and Consistent World Modeling for Mobile Robots. Proc. IEEE Int. Conf. Robotics and Automation. St. Louis: IEEE, pp. 138-145.
  3. 3.Gelb, A. 1984. Applied Optimal Estimation. M.I.T. Press
  4. 4.Nahi, N. E. 1976. Estimation Theory and Applications. New York: R.E. Krieger.
  5. 5.Papoulis, A. 1965. Probability, Random Variables, and Stochastic Processes. McGraw-Hill.
  6. 6.Paul, R. P. 1981. Robot Manipulators: Mathematics, Programming and Control. Cambridge: MIT Press.
  7. 7.Smith, R. C., and Cheeseman, P. 1985. On the Representation and Estimation of Spatial Uncertainty. SRI Robotics Lab. Tech. Paper, and to appear Int. J. Robotics Res. 5(4): Winter 1987.
  8. 8.Smith, R. C., et al. 1984. Test-Bed for Programmable Automation Research. Final Report-Phase 1, SRI International, April 1984.
  9. 9.Taylor, R. H. 1976. A Synthesis of Manipulator Control Programs from Task-Level Specifications. AIM-282. Stanford, Calif.: Stanford University Artificial Intelligence Laboratory.

Citation

MLA
Smith, R., et al. “Estimating Uncertain Spatial Relationships in Robotics”. Autonomous Robot Vehicles, Springer New York, 1990, pp. 167–93, https://doi.org/10.1007/978-1-4613-8997-2_14.
APA
Smith, R., Self, M., & Cheeseman, P. (1990). Estimating Uncertain Spatial Relationships in Robotics. In Autonomous Robot Vehicles (pp. 167–193). Springer New York. https://doi.org/10.1007/978-1-4613-8997-2_14
Chicago
Smith, R., M. Self, and P. Cheeseman. 1990. “Estimating Uncertain Spatial Relationships in Robotics”. In Autonomous Robot Vehicles. Springer New York. https://doi.org/10.1007/978-1-4613-8997-2_14.
Harvard
Smith, R., Self, M. and Cheeseman, P. (1990) “Estimating Uncertain Spatial Relationships in Robotics”, Autonomous Robot Vehicles. Springer New York, pp. 167–193. Available at: https://doi.org/10.1007/978-1-4613-8997-2_14.
Vancouver
1. Smith R, Self M, Cheeseman P (1990) Estimating Uncertain Spatial Relationships in Robotics. In: Autonomous Robot Vehicles. Springer New York, pp 167–193

BibTeX

@inbook{Smith_1990, title={Estimating Uncertain Spatial Relationships in Robotics}, ISBN={9781461389972}, url={http://dx.doi.org/10.1007/978-1-4613-8997-2_14}, DOI={10.1007/978-1-4613-8997-2_14}, booktitle={Autonomous Robot Vehicles}, publisher={Springer New York}, author={Smith, Randall and Self, Matthew and Cheeseman, Peter}, year={1990}, pages={167–193} }
Metadata:Crossref

Access the Paper

This paper is available from its original source. Click below to access the PDF.

Open PDF