In most built environments the geometry pins down four or five degrees of freedom and leaves one or two almost free. That free axis is nearly always the one the building labelled, because somebody had to number the repeating modules, and MultiSet VPS reads those labels.What a VPS is and how it works
Pick the one that looks like your site. Each opens to the mechanics, the mechanism MultiSet uses, and what to send us if you want it tested on your own building.
Bounded, lit, predictable, and still the hardest class of site to localize in.
Bay numbers, signage and asset tags sit on the axis the geometry leaves free, and they are still there next week. Nothing gets installed, so the scan is the deployment.
The static-world assumption fails on day one. Fusing more evidence per query is how MultiSet VPS absorbs it.
Transient objects are filtered when the map is built, and stronger query modes fuse more evidence at query time, so one obstructed view cannot decide the pose.
Every map goes stale. Refreshing it should cost a scan, not a re-authoring project.
Map Versioning aligns a new scan to the old one using the VPS itself, not ICP. The base scan stays the frame of record, so your content never moves.
MultiSet VPS never touches a satellite, and still reports a global position from below deck.
No satellite is involved at any point, so the denied case is the default case. Georeference once and it still returns global coordinates with the antenna disconnected.
Light, heat and airborne water degrade every sensor. Escalating query modes are how MultiSet VPS absorbs it.
Escalate through query modes as conditions worsen, and gate on the confidence value returned with every pose rather than trusting whichever view arrived.
No walls, no corners, no reliable planes. MultiSet VPS localizes on appearance instead.
Serial plates, row markers and ground texture stay stable where the geometry is uniform. Appearance has no equivalent of geometric degeneracy.
Featureless describes two different problems. MultiSet VPS solves the more common one.
Attention-based matching weights the few distinctive pixels and ignores the generic ones. Object Tracking on a rigid, textured, asymmetric asset is a cheaper first move.
Two levels look identical from inside. MultiSet VPS lets you rule one out before matching begins.
Numbering, graphics and wear differ level to level where the footprint does not. Pass in the level you already know from a lift button, a beacon or a barometer.
MultiSet VPS has no drift budget, because there is no trajectory in the estimate.
Each pose is computed against a server-side map from one observation, so the error carries no trajectory term. Rebuilding one map leaves the rest of the site untouched.
The structure repeats, the labelling does not, and MultiSet VPS reads the labelling.
Distinctive labelling is weighted over the repeated module, and recall improves every generation. Supplying a rough position first is the single most effective fix.
The surfaces that define the space are the ones a sensor cannot trust.
Capture the mullions, signage and structure, not the pane. A heavily reflective space with no fixed graphics is genuinely hard, and worth finding before a pilot.
When half the field of view is people, what is left has to be enough.
Crowded scenes against years-old scans are benchmarked directly and improve every generation. Capture high: the soffit and gantry are never occluded.
Reads signage, labels, wear and texture, the cues sitting on the axis geometry leaves free. A 6-DoF pose from one camera frame, with no drift term.
Attention-based matching weights distinctive pixels and down-weights the repeated ones. Every engine generation raises recall and cuts false positives on the hardest, most repetitive scenes, without changing the API you build against.
Trade latency for certainty per call, and gate on the confidence value returned with every pose. Simulate against your map in the portal to choose the right mode before you deploy.
Pass in a rough position, a floor level or a geo fix. Each one shrinks the candidate set before the ambiguous step, and most stacks already know all three.
Alignment computed by the VPS rather than ICP, so it survives drastic change between captures. Multiple scans active in one frame, merged into a single coordinate system.
Panoramas mandatory. Corridors both directions. Glass and mirrors out of centre frame. Capture high in crowds. Fixes more complaints than tuning does.
Use the survey you already own, or take one walk with a 360 camera.
Scan formats and scanners
Build the VPS map and filter transient objects. Query from APIs and SDKs.
Developer docs
Map Versioning for sites that change, MapSet for sites too big for one capture.
Map Versioning
Because the space repeats. Every aisle, bay or row was built the same way, so one view fits the map in several places and the error is one whole module. Capture each repeating run in both directions, and use an engine that weights the distinctive cues. MultiSet VPS does the second, with rejection gating aimed at the confident-wrong pose.
Easiest where a space is lit and visually distinctive: signage, labels, asset tags and painted markings. Hardest where visual cues are stripped out on purpose, like a cleanroom or a green-screen stage, or where there's no light. Repeating structures are the ones people had to label, so where geometry runs out, appearance is usually richest.
Accuracy degrades gradually, with no warning, and the fix is a re-scan. MultiSet aligns the new scan to the old one with the VPS itself, so the merge survives refits and a change of scanner. The original scan stays the frame of record, so anchored content never moves. An empty hall and a built-out hall can both be live.
Not with MultiSet. Systems that integrate motion build up error along the route, and a tenth of a per cent of drift is a metre over a kilometre. MultiSet computes each pose against the map from a single observation, so distance adds no error. What grows with site size is search cost, and a rough position or geo prior bounds it.
Two ways. Appearance, because room numbering, door graphics, notices, wayfinding and wear differ level to level even where the footprint does not. And explicit level knowledge, which you usually already have from a lift button, a beacon or a barometer: pass it in as a prior and the search is narrowed to that level before the ambiguous step runs.
It covers two opposite problems. The common one is a large uniform floor that gives geometry almost nothing, while its painted markings, labels and patch repairs pin the location down. The reverse is an unlit plant room or bare concrete in the dark. Visual positioning is built for the first case and needs a geometric layer for the second.
Usually yes, and mostly by capturing correctly. Glass and mirrors show geometry that isn't there. Keep them out of the centre of frame and frame the mullions, etched signage, floor and soffit instead, which are fixed and unaffected by reflection. A fully mirrored space with no fixed graphics is hard for any method, so find it before a pilot.
Yes, and it's measured. Crowded scenes queried against scans years older are part of MultiSet's standard benchmark, and recall has improved with every engine generation. Capture high, because crowds never block the upper third of a concourse, and use a stronger query mode so a crowd has to block several viewpoints at once.
Yes. No satellite is involved at any point, so there's no degraded mode to design for, and jamming and spoofing don't touch it. Georeference the map once and the pose still returns as GeoPose in WGS 84, so a device in a sub-basement reports a valid latitude, longitude and altitude. On a vessel, the map frame travels with the hull.
Usually not. Leica RTC360 and BLK360, NavVis, Faro, XGRIDS and Matterport Pro2 and Pro3 all record panoramic imagery with the point cloud. Check the export setting, because the panoramas carry the localization and must be included. If a capture has no imagery, one Insta360 X4 or X5 walk adds a visual layer at roughly a thousand square feet per minute.
GPS-denied is used loosely, and it covers four situations that fail in different ways.
Indoors. Satellite signals do not survive a roof and a steel frame. This is total denial, and it is the normal condition for warehouses, plants, hospitals and any covered facility.
Under structure. Pipe racks, sub-decks, vessel interiors, tunnels, bridge undersides. Partial sky view produces a fix that exists and is wrong, which is more dangerous than no fix.
Urban canyon. Signals arrive by reflection off buildings rather than directly. The receiver reports a confident position that can be tens of metres off, and it moves as you move.
Jamming and spoofing. Deliberate denial. Jamming removes the signal; spoofing replaces it with a false one, which the receiver cannot distinguish and will report as valid.
The common thread across all four is that the failure is rarely a clean absence of data. It is confident wrongness, which is why an independent absolute fix matters more than a better receiver.
The standard response to losing GNSS is to coast on inertial navigation: integrate accelerometer and gyroscope readings from the last known position and estimate where you must be now.
That works, briefly. Position is the double integral of acceleration, so a small accelerometer bias grows with the square of elapsed time. Seconds are fine. Minutes are not. Wheel odometry drifts the same way through slip.
An absolute visual fix breaks that loop. The camera recognises where it is against a map that already exists, and the error resets to the accuracy of that fix. In a fused stack the INS supplies smooth motion between fixes and the VPS supplies the correction.
Inside a building, under a deck, between tanks or close against a structure, GNSS is unreliable, and a drone with a degraded fix can't hold position where the inspection matters.
One capture flight produces the map. After that, any aircraft flying the space gets an absolute pose from its camera, and the same map serves the technician who walks the site afterwards.
Drone mapping and single-panorama localization shipped in v2.3.0. ArduPilot and PX4 take the pose as an external position estimate. Where a site has surveyed control points, RTK fixes the map to the world and the VPS fixes the aircraft to the map.
MultiSet publishes into the ROS 2 transform tree, so the VPS pose arrives as a standard frame alongside odometry and SLAM, and SLAM keeps the smooth tracking between frames. Query the VPS on a timer or when confidence drops, and gate on the confidence value each response carries.
The same map and API serve AMRs, AGVs, drones and cobots, in MultiSet Cloud, a private VPC, on-premises or fully on-device. The wider argument for one shared frame is on the robotics page.
AR training and simulation adds a requirement of its own: twelve or more headsets of mixed generations have to agree on one origin for the whole exercise.
One more environment worth naming: construction jobsites, which change weekly, so the map is built before the mechanical, electrical and plumbing goes in and still has to resolve in the finished room.