IMU, GNSS and LiDAR Sensing for Pose Estimation

zzwon1212·2024년 8월 9일

무제

목록 보기
7/7

1. Reference Frames

Vector quantities can be expressed in different reference frames.

  • Reference Frames

    • ECIF (Earth-Centred Inertial Frame)

      --
      xfixed w.r.t stars
      yfixed w.r.t stars
      ztrue north
    • ECEF (Earth-Centred Earth-Fixed Frame)

      --
      xprime meridian (on equator)
      yRight-hand Rule
      ztrue north
    • NED (North East Down)

      --
      xtrue north
      ytrue east
      zdown (along gravity)
    • ENU (East North Up)

      --
      xtrue east
      ytrue north
      zup
    • Sensor & Vehicle

  • Rotations can be parameterized by rotation matrices, quaternions or Euler angles.


2. IMU (Inertial Measurement Unit)

  • An 6-DoF IMU is typically composed of

    • Gyroscopes
      measure angular rotation rates about three separate axes.
    • Accelerometers
      measure accelerations along three orthogonal axes.
  • Measurement Model

    • Gyroscope

      ω(t)=ωs(t)+bgyro(t)+ngyro(t)\omega(t) = \omega_s(t) + \mathbf{b}_{\text{gyro}}(t) + \mathbf{n}_{\text{gyro}}(t)
      • ωs(t)\omega_s(t): angular velocity of the sensor expressed in the sensor frame
      • bgyro(t)\mathbf{b}_{\text{gyro}}(t): slowly evolving bias
      • ngyro(t)\mathbf{n}_{\text{gyro}}(t): noise term
    • Accelerometer

      a(t)=Csn(t)(r¨nsn(t)gn)+baccel(t)+naccel(t)a(t) = C_{sn}(t) (\ddot{\mathbf{r}}_n^{sn}(t) - \mathbf{g}_n) + \mathbf{b}_{\text{accel}}(t) + \mathbf{n}_{\text{accel}}(t)
      • Instead of measuring body accelerations directly as we could do with rotational rates, we need to explicitly remove the effect of gravity using our fundamental equation for accelerometers in a gravity field.
      • Csn(t)C_{sn}(t): orientation of the sensor (computed by integrating the rotational rates from the gyroscope)
      • baccel(t)\mathbf{b}_{\text{accel}}(t): bias term
      • naccel(t)\mathbf{n}_{\text{accel}}(t): noise term
      • gn\mathbf{g}_n: gravity in the navigation frame
  • Since strapdown IMUs are tricky to calibrate and drift over time, we'll need another sensor to periodically correct our posed estimates.


3. GNSS (Global Navigation Satellite Systems)

  • Computing Position

    • Each GPS satellite transmits a signal that encodes
      • its position
        (via accurate ephemeris information)
      • time of signal transmission
        (via onboard atomic clock)
    • To compute a GPS position fix in the Earth-centred frame, the receiver uses the speed of light to compute distances to each satellite based on time of signal arrvial.
    • At least four satellites are required to solve for 3D position, three if only 2D is required.
  • Trilateration

    • different from Triangulation
    • For each satellite, we measure the pseudorange as follows:
      ρ(i)=c(Trts)=(p(i)r)T(p(i)r)+cΔtr+cΔta(i)+η(I)\rho^{(i)} = c (T_r - t_s) = \sqrt{(\mathbf{p}^{(i)} - \mathbf{r})^T (\mathbf{p}^{(i)} - \mathbf{r})} + c \Delta t_r + c \Delta t_a^{(i)} + \eta^{(I)}
      • r\mathbf{r}: receiver (3D) position
      • p(i)\mathbf{p}^{(i)}: position of satellite ii
      • Δtr\Delta t_r: receiver clock error
      • Δta(i)\Delta t_a^{(i)}: atmospheric propagation delay
      • η\eta: measurement noise
      • cc: speed of light
      • ts,trt_s, t_r: time sent, time received
    • By using at least 4 satellites, we can solve for:
      • r\mathbf{r} and Δtr\Delta t_r
  • Error sources

    • Lonospheric delay (charged ions in the atmosphere)
    • Multipath effects (surrounding terrain or buildings)
    • Ephemeris & clock errors
    • GDOP (Geometric Dilution of Precision)
  • How to improve accuracy

  • Inertial sensors are useful for navigation but tend to drift, leading to increasing errors over time. On the other hand, GPS provides consistent positioning accuracy with bounded errors. A self-driving car using GPS will maintain reliable accuracy unless the GPS receiver fails or loses connection with at least four satellites.


4. LiDAR

  • Measuring distance with Time-of-Flight

    r=12ctr = \frac{1}{2} c \cdot t
    • rr: Distance
    • cc: Speed of light
    • tt: Time elapsed (round-trip)
  • Measurement Models for 3D LiDAR Sensors

  • Measurement Noise

    • Sources
      • Uncertainty in determining the exact time of arrival of the reflected signal
      • Uncertainty in measuring the exact orientation of the mirror
      • Interaction with the target (surface absorption, specular reflection, etc.)
      • Variation of propagation speed (e.g. through materials)
    • Term
      vN(0,R)\mathbf{v} \sim \mathcal{N}(\mathbf{0}, \mathbf{R})
      • Covariance: empirically determined or manually tuned
  • Motion Distortion

    • For a vehicle which moves quickly, each point in a scan is taken from a slightly different place.
  • Translation, Rotation and Scaling

    • Translation

      [Xc2Yc2Zc2]=[Xc1Yc1Zc1]+[txtytz]\begin{bmatrix} X_{c2} \\ Y_{c2} \\ Z_{c2} \end{bmatrix} = \begin{bmatrix} X_{c1} \\ Y_{c1} \\ Z_{c1} \end{bmatrix} + \begin{bmatrix} t_{x} \\ t_{y} \\ t_{z} \end{bmatrix}
    • Rotation

      [Xc2Yc2Zc2]=R[Xc1Yc1Zc1]\begin{bmatrix} X_{c2} \\ Y_{c2} \\ Z_{c2} \end{bmatrix} = \mathbf{R} \begin{bmatrix} X_{c1} \\ Y_{c1} \\ Z_{c1} \end{bmatrix}
    • Scaling

      [Xc2Yc2Zc2]=S[Xc1Yc1Zc1]\begin{bmatrix} X_{c2} \\ Y_{c2} \\ Z_{c2} \end{bmatrix} = \mathbf{S} \begin{bmatrix} X_{c1} \\ Y_{c1} \\ Z_{c1} \end{bmatrix}
  • 3D Plane Fitting

    ej=z^jzj=(a^+b^xj+c^yj)zjj=1,...,n\begin{aligned} e_j &= \hat{z}_j - z_j \\ &= (\hat{a} + \hat{b} x_j + \hat{c} y_j) - z_j \qquad j = 1, ..., n \end{aligned}
  • ICP Algorithm (Iterative Closest Point)


📙 강의

profile
JUST DO IT.

0개의 댓글