Absolute position on a tablet in a GNSS-denied industrial environment

GPS-Denied Navigation: Absolute Position Without a Satellite Fix

For drones, robots and people operating where GNSS is blocked, degraded or spoofed.

Sub-5 cm median accuracy. Runs fully on-device and air-gapped.

The dangerous failure is not losing the signal. It is a receiver under partial sky that still reports a position, confidently, and is wrong by tens of metres.

What GNSS-Denied Actually Means

A GNSS-denied environment is any space where satellite positioning is unavailable or untrustworthy. Indoors and underground are the obvious cases. The ones that catch programmes out are the partial ones: under decks and pipe racks, inside vessels and tanks, alongside tall structures, in urban canyons where signals arrive by reflection, and anywhere subject to jamming or spoofing.

In all of those the receiver usually keeps producing output. A position that exists and is wrong is harder to handle than no position at all, because nothing downstream knows to stop trusting it.

Why dead reckoning runs out
The standard fallback is to integrate motion from the last good fix using inertial sensors. The mathematics decides how long that lasts. Position is the double integral of acceleration, so a small constant sensor bias becomes an error that grows with the square of elapsed time. It is excellent for seconds and unusable for minutes. Every GNSS-denied programme eventually needs a way to re-establish an absolute fix rather than a better way to extrapolate from an old one.

Buys you seconds: inertial dead reckoning, visual-inertial odometry
Resets the error:

- An absolute fix against a map that already exists
- Corrects drift against ground truth, not against its own history

How Visual Positioning Fills The Gap

Capturing a site once to build a map for GPS-denied operation
Map the space once
One capture flight, or one walked survey, or a scan the site already holds. Where surveyed control points exist they georeference the map to real-world coordinates, so RTK and a visual positioning system are complementary rather than competing.
Querying a prebuilt map for an absolute position fix without satellites
Query it for an absolute fix
A camera frame returns position and orientation in the map's coordinate frame. Every response carries a confidence value, and a correct integration gates on it rather than trusting every pose, because a wrong position stated confidently is the failure mode you are trying to remove.
Drones and ground crews sharing one coordinate frame where GNSS is degraded
Fuse, do not replace
Keep the onboard stack for continuous local motion and query the map on a timer or whenever confidence drops. ArduPilot and PX4 consume the result as an external position estimate; ROS 2 receives it through the transform tree alongside odometry.

Where GNSS Fails, And What It Costs

Indoor And Subsurface

Warehouses, plants, tunnels, mines and car parks. Signal does not survive a roof and a steel frame, so this is not degradation, it is absence. Indoors, GNSS-denied is the normal condition rather than an edge case.
Under Structure

Pipe racks, deck heads, gantries, bridge soffits, between tanks. Partial sky is the hardest case because the receiver keeps reporting, and the inspection you actually flew for is usually the part where the fix went bad.
Urban Canyon

Signals arrive by reflection off glass and concrete, so the receiver solves for a path that never existed. The position looks plausible and sits on the wrong side of the street.
Jamming And Spoofing

Jamming removes the fix. Spoofing replaces it with a false one, which is worse, because the system has no internal reason to doubt it. A positioning source that does not depend on a received signal at all is not affected by either.
Runs Where The Network Does Not

Localization can run on the device itself with no outbound call, which matters when the environment denying you GNSS is usually denying you connectivity too. Self-hosted and air-gapped deployments run the same binary with no licence check phoning home.
One Map, Air And Ground

The aircraft does not have to be the thing that captured the map. One capture serves the drone that flies the site and the technician who walks it afterwards, both resolving into the same coordinate frame.

Dead Reckoning Against An Absolute Fix

These are not alternatives. The question is what corrects the first column, and how often.
Talk It Through
DIMENSION
Inertial dead reckoning / VIO
Visual positioning against a map
Error over time
Grows with the square of elapsed time and never recovers
Does not accumulate. Each fix is independent
Coordinate frame
Relative to where the vehicle started. Private to the session
Absolute, shared, and the same after a restart
Useful duration
Seconds to a minute, depending on sensor grade
Indefinite, as long as the scene is visible
Affected by jamming or spoofing
No, but it inherits whatever error the last GNSS fix carried
No. It receives no signal to jam or falsify
What it needs
An inertial unit, and a good fix to start from
A camera and a prebuilt map of the area
Role in the stack
Continuous motion between fixes
The fix that resets the accumulated error
Frequently asked questions
How do drones navigate without GPS?

Most rely on inertial dead reckoning and visual-inertial odometry, which hold position for seconds to a minute before drift makes them unusable. To operate longer than that, the aircraft needs an absolute fix from something other than satellites. Matching the camera view against a prebuilt map of the site returns position and orientation directly, and ArduPilot and PX4 accept it as an external position estimate.

What counts as a GPS-denied environment?

Anywhere satellite positioning is unavailable or untrustworthy: indoors, underground, under decks and pipe racks, inside vessels, in urban canyons where signals arrive by reflection, and in areas subject to jamming or spoofing. Partial denial is more common than total denial and more dangerous, because the receiver keeps producing a position that nothing downstream knows to distrust.

How long can inertial navigation hold position without GPS?

Seconds for consumer-grade sensors, up to around a minute for better ones. Position is the double integral of acceleration, so a small constant bias becomes an error growing with the square of elapsed time. Better sensors change the constant, not the shape of the curve, which is why the answer is an absolute fix rather than a better estimate.

Does this replace RTK?

No, and the two work well together. RTK gives centimetre-level satellite accuracy outdoors with a base station and is still unavailable indoors or under structure. Where a site has surveyed control points, they georeference the map to real-world coordinates and the visual positioning system fixes the device to the map. One ties the map to the world, the other ties the vehicle to the map.

Is it resistant to jamming and spoofing?

It receives no signal, so there is nothing to jam and nothing to falsify. Position comes from comparing the camera view against a map held locally. That also means it does not degrade quietly the way a spoofed receiver does, and every response carries a confidence value the integration can gate on.

Does it need a network connection?

No. Localization runs on the device with the map held locally, which matters because environments that deny GNSS usually deny connectivity too. The same software runs self-hosted on your own hardware, and air-gapped with no outbound call at all, including no licence check.

What is needed to map a site for GPS-denied operation?

One capture, and it does not have to come from the vehicle that will later use it. A flight, a walked survey, or an existing scan of the site all work, and formats from E57 and LiDAR through to 360 video are accepted. If the site has been surveyed for engineering or facilities, that data is usually enough.