Why Are INS, GNSS, and Odometer Used Together?

Author: Sercan Fidan · Published: 17 Temmuz 2026 · Updated: 2026-07-25 · Konumlama ve GNSS

When I work on positioning systems, the question I hear most often is this: if we already have GNSS, why do we also carry an INS and an odometer? There's a one-sentence answer: because no single sensor tells the truth under every condition. Each has a different error character; one is reliable in the short term but drifts over time, another is solid over the long term but makes sudden jumps. That's the essence of sensor fusion: asking the same question to witnesses with different temperaments and knowing when to trust which one. In this post, I'll try to explain, without getting into formulas, at a conceptual level, how the three sensors cover for each other's weaknesses.

Three Sensors, Three Different Error Characters

GNSS provides absolute position; its most valuable trait is that its error doesn't accumulate over time. The uncertainty of the position you measure today is roughly the same as the one you'll measure an hour from now. But this accuracy depends on the environment: among tall buildings, the signal reflects off walls and reaches the receiver indirectly — this is called multipath — and the position can suddenly jump by meters. In tunnels and enclosed parking garages the signal is lost entirely; under dense tree cover it weakens severely. INS has the opposite character: it produces position by integrating acceleration and angular velocity measurements; its output is smooth and high-frequency, and it doesn't depend on the outside world. But this integration process also accumulates small sensor errors over time; we call this drift. A solution that looks perfect in the short term drifts away from reality within minutes if it isn't aided. The odometer represents a third temperament: it measures the distance traveled directly and steadily by counting wheel rotations, but on its own it produces no directional information. It knows how far you've gone, not where you've gone.

How Much Should You Trust GNSS: Satellite Count and DOP

The first rule of fusion is not to accept every measurement with the same weight. Fortunately, the GNSS receiver sends hints about its own quality along with the position. The first thing to look at is the number of satellites tracked; the solution weakens as this number drops. But the count alone isn't enough; the distribution of the satellites across the sky matters too. DOP (Dilution of Precision) describes exactly this: if the satellites are clustered in a narrow region of the sky, the geometry is poor, and the same measurement error turns into a much larger positional uncertainty. In the projects I've worked on, I've always made a point of carrying these indicators into the fusion as inputs: a GNSS measurement whose quality drops is either weighted down or not used at all at that moment. A measurement looking reasonable on screen is not enough reason to trust it.

Standing Still Is Information Too: Stationary Detection and ZUPT

There's one more overlooked source of information: standing still. We know that when a vehicle is stopped, its speed is zero; but due to drift, the INS may attribute a small velocity to a stationary vehicle. If we can reliably detect that the vehicle is stationary, we can feed the filter the information "velocity is currently zero" as if it were a strong measurement. This is called ZUPT (Zero Velocity Update), and it's the cheapest opportunity available for reining in INS errors. The odometer is a good witness here: if the wheel isn't turning, the vehicle is most likely stopped. From the fusion's point of view, every wait at a traffic light is a gain rather than a loss; the filter corrects itself during that time.

What Happens When an Aiding Source Is Lost?

The value of using them together shows most clearly when one source is lost. When you enter a tunnel, GNSS goes away; but the INS keeps giving direction and the odometer keeps giving distance. The combination of the two performs dead reckoning: the error grows slowly but the solution stays reasonable, and when GNSS comes back at the tunnel exit, the filter corrects the accumulated error. Reading the scenarios in reverse is also instructive. With GNSS alone under open sky you're in good shape; but in an urban canyon the position jumps, and during an outage you're left completely blind. With the odometer alone you can count the distance traveled; but since there's no directional information, you can't plot a route on the map — the odometer doesn't know whether you went straight or turned.

Sensor fusion is not about inventing a better sensor; it is about knowing, at any given moment, how wrong the sensors you have might be.

Each member of this trio is incomplete on its own, but together they form a resilient whole. The habit I've picked up in practice is this: when evaluating a positioning solution, I first ask "how reliable is each sensor right now?"; I don't feed a measurement into the filter if I can't answer that question. Looking at satellite count and geometry, catching stationary periods, thinking through outage scenarios from the start — these aren't flashy tasks. But what makes the difference in the field is, more often than not, this plain discipline.

{{ T.nav.icerigeAtla }}
sercan ◆
© 2026

{{ T.palet.sonucYok }}

{{ T.palet.baskaAra }}

{{ it.label }}

{{ it.label }} {{ it.hint }}
↑↓ {{ T.palet.gezin }} ↵ {{ T.palet.sec }} esc {{ T.palet.kapat }}

{{ T.hero.kicker }}

{{ T.hero.baslikOn }}{{ T.hero.baslikVurgu }}{{ T.hero.baslikSon }}

{{ T.hero.altyazi }}

{{ T.home.tanitim1 }}

{{ T.home.tanitim2 }}

{{ T.home.oneCikanlar }}

{{ buyuk.tarih }} · {{ buyuk.dkOkuma }}

{{ buyuk.baslik }}

{{ buyuk.ozet }}

{{ T.kart.yaziyiOku }}
{{ p.katAd }}

{{ p.baslik }}

{{ p.ozet }}

{{ p.tarih }} · {{ p.dkText }}

{{ T.home.seciliProjeler }}

{{ pr.gorselAlt }}
{{ pr.durumGorunen }} {{ pr.yil }}

{{ pr.ad }}

{{ pr.ozet }}

{{ pr.tekno }}

{{ T.home.simdiBaslik }}

{{ T.home.guncelleme }}{{ simdiGuncel }}

{{ k.etiket }}

  • {{ m }}

{{ simdiNot }}

{{ T.home.bultenEtiket }}

{{ T.home.bultenBaslik }}

{{ T.home.bultenAciklama }}

{{ T.home.bultenGecerliOn }}sercanfidan06@gmail.com

{{ T.home.bultenBasarili }}

{{ T.home.bultenBasariAciklama }}

{{ T.blog.etiket }}

{{ T.blog.baslik }}

{{ T.blog.aciklama }}

{{ T.blog.etiketEtiket }} {{ tagChip }}

{{ sonucText }}

{{ p.katAd }}

{{ p.baslik }}

{{ p.ozet }}

{{ p.tarih }} · {{ p.dkText }}

{{ T.blog.sonucYokEtiket }}

{{ T.blog.sonucYokBaslik }}

{{ T.blog.sonucYokAciklama }}

{{ yukleMetni }}

{{ pp.katAd }} {{ T.yazi.yazarEtiket }}: {{ pp.yazar }} · {{ pp.tarih }} · {{ pp.dkOkuma }}

{{ pp.baslik }}

{{ pp.lede }}

{{ pp.gorselAlt }}

{{ b.x }}

{{ b.x }}

{{ b.x }}

{{ b.dosya }}
{{ b.dil }}
{{ b.kod }}
  • {{ m }}
{{ b.alt }}
{{ b.altyazi }}

{{ T.yazi.paylasEtiket }}

{{ T.yazi.yorumlarEtiket }} ({{ yorumN }})

{{ T.yazi.yukleniyor }}

{{ T.yazi.yorumHata }}

{{ T.yazi.yorumYok }}

  • {{ y.ad }} {{ y.tarih }}

    {{ y.govde }}

{{ T.yazi.yorumBasarili }}

{{ yAdHata }}

{{ yEmailHata }}

{{ yMetinHata }}

{{ yKvkkHata }}

{{ T.yazi.ilgiliYazilar }}

{{ p.katAd }}

{{ p.baslik }}

{{ p.tarih }} · {{ p.dkText }}

{{ yukleMetni }}

{{ prp.durumGorunen }} {{ prp.yil }}

{{ prp.ad }}

{{ prp.ozet }}

{{ prp.gorselAlt }}

{{ T.proje.calismaKapsami }}

  • {{ d }}
{{ tk.t }}

{{ T.yazi.paylasEtiket }}

{{ T.yazi.yorumlarEtiket }} ({{ yorumN }})

{{ T.yazi.yukleniyor }}

{{ T.yazi.yorumHata }}

{{ T.yazi.yorumYok }}

  • {{ y.ad }} {{ y.tarih }}

    {{ y.govde }}

{{ T.yazi.yorumBasarili }}

{{ yAdHata }}

{{ yEmailHata }}

{{ yMetinHata }}

{{ yKvkkHata }}

{{ T.projeListe.etiket }}

{{ T.projeListe.baslik }}

{{ T.projeListe.aciklama }}

{{ pr.gorselAlt }}
{{ pr.durumGorunen }} {{ pr.yil }}

{{ pr.ozet }}

{{ pr.tekno }}

  • {{ d }}

{{ T.kaynak.etiket }}

{{ T.kaynak.baslik }}

{{ T.kaynak.aciklama }}

{{ T.kaynak.favoriAraclarim }}

{{ g.grup }}

{{ g.aciklama }}

{{ T.kaynak.oneriVarMi }}{{ T.kaynak.iyiKaynak }}

{{ T.hakkimda.etiket }}

Hi, I'm Sercan.

{{ pa }}

{{ dg }}

{{ T.hakkimda.nasilCalisirim }}

{{ c.baslik }}

{{ c.not }}

{{ T.hakkimda.zamanCizelgesi }}

{{ z.yil }}

{{ z.baslik }}

{{ z.not }}

Sercan Fidan — portrait

{{ T.hakkimda.uzmanlik }}

{{ u.alan }} {{ u.seviye }}

{{ T.hakkimda.etiketCumlesi }}

{{ T.hakkimda.iletisimEtiket }}

{{ T.hakkimda.iletisimBaslik }}

{{ T.hakkimda.iletisimAciklama }}

{{ adHata }}

{{ emailHata }}

{{ mesajHata }}

{{ kvkkHata }}

{{ T.iletisim.ulastiBaslik }}

{{ T.iletisim.ulastiAciklama }}

{{ T.kayip.etiket }}

{{ T.kayip.baslik }}

{{ T.kayip.aciklama }}