{"id":8631,"date":"2026-10-28T10:00:55","date_gmt":"2026-10-28T10:00:55","guid":{"rendered":"https:\/\/blog.filio.io\/?p=8631"},"modified":"2026-10-28T10:01:04","modified_gmt":"2026-10-28T10:01:04","slug":"slam-in-construction","status":"publish","type":"post","link":"https:\/\/blog.filio.io\/slam-in-construction\/","title":{"rendered":"What Is SLAM in Construction? Mapping, Tracking, and Real-World Limits"},"content":{"rendered":"\n<div id=\"blog-099-reader\">\n<p>The practical question is not simply whether a system uses SLAM. It is what the system estimates, which reference it uses, and what a reviewer can reasonably conclude from the resulting record.<\/p>\n<h2 id=\"two-estimates-that-help-each-other\">Two estimates that help each other<\/h2>\n<p>Localization asks, \u201cWhere is the sensor, and which way is it facing?\u201d Mapping asks, \u201cWhat spatial structure can be inferred from the observations?\u201d The estimates are coupled: recognizable surroundings help estimate movement, while estimated movement helps place observations into a map. <a href=\"https:\/\/www.mathworks.com\/discovery\/slam.html\" target=\"_blank\" rel=\"noopener\">MathWorks&#8217; SLAM overview<\/a> describes this joint problem.<\/p>\n<p>A map in this context is not necessarily a finished floor plan or a model of every surface. It may be a sparse collection of landmarks, a point cloud or another representation useful to the system. A trajectory is the estimated path through that representation. Neither should be mistaken for a complete construction record.<\/p>\n<h3 id=\"position-is-only-part-of-camera-pose\">Position is only part of camera pose<\/h3>\n<p>Camera pose combines position and orientation. Imagine standing at a corridor junction: without moving your feet, you can photograph a doorway ahead or a service riser behind you. The camera position is similar; the views are not.<\/p>\n<p>For a field record, also distinguish the camera&#8217;s position from the subject&#8217;s location. A marker may indicate where a person stood, not the coordinates of the valve or doorway in the photograph. Before comparing records, establish what each marker means.<\/p>\n<figure class=\"wp-block-image size-full\" id=\"vis-099-01\"><picture><source media=\"(max-width:600px)\" srcset=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-099-v1M-r2-final-HQ.png\" width=\"390\" height=\"613\"><img loading=\"lazy\" src=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-099-v1D-r2-final-HQ.png\" width=\"1200\" height=\"920\" alt=\"An estimated capture path, facing direction and observed landmarks illustrate the coupled pose-and-map problem.\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:auto\"><\/picture><figcaption>Pose and map are estimated together. This diagram is conceptual, not a surveyed floor plan.<\/figcaption><\/figure>\n<h2 id=\"cameras-inertial-sensors-and-lidar-play-different-roles\">Cameras, inertial sensors and LiDAR play different roles<\/h2>\n<p>Visual SLAM uses images to estimate motion and map structure. In a feature-based approach, the system matches recognizable image features across views; other approaches use image intensity information more directly. This is computational estimation, not a person manually placing every photograph.<\/p>\n<p>An inertial measurement unit, or IMU, supplies acceleration and angular-motion observations. Visual-inertial systems combine these with camera observations. <a href=\"https:\/\/onlinelibrary.wiley.com\/doi\/full\/10.1155\/2021\/2054828\" target=\"_blank\" rel=\"noopener\">Servi\u00e8res and colleagues&#8217; 2021 review<\/a> explains the distinction between visual and visual-inertial approaches. Its experiments concern particular algorithms and datasets, not every construction product.<\/p>\n<p>LiDAR is a sensing technology, not another name for SLAM. It measures ranges using light. A moving LiDAR system may use a localization and mapping process to relate successive observations. A camera-based system may use no LiDAR at all.<\/p>\n<p>The <a href=\"https:\/\/arxiv.org\/abs\/2007.11898\" target=\"_blank\" rel=\"noopener\">ORB-SLAM3 research paper<\/a> illustrates how one implementation can support several camera configurations and visual-inertial operation. That range of configurations is a property of the researched system. It is not evidence that Filio uses that algorithm or supports every listed sensor.<\/p>\n<p>When evaluating a workflow, ask about the actual sensor combination, calibration, processing and supported operating conditions. A label such as \u201cmobile mapping\u201d is not enough to answer those questions.<\/p>\n<h2 id=\"why-a-route-can-drift\">Why a route can drift<\/h2>\n<p>Successive motion estimates contain errors. As a system relates each new observation to earlier ones, those errors can accumulate. The resulting drift may affect estimated position, orientation or the consistency of the map.<\/p>\n<p>Visual odometry focuses on estimating motion from images. A SLAM system can additionally use longer-term map relationships and recognized revisits to constrain the estimate. That distinction matters when a route returns to an area observed earlier.<\/p>\n<p><a href=\"https:\/\/www.mathworks.com\/help\/vision\/ug\/visual-simultaneous-localization-and-mapping-slam-overview.html\" target=\"_blank\" rel=\"noopener\">MathWorks&#8217; visual SLAM workflow<\/a> separates tracking, local mapping, loop detection and drift correction. In a successful loop closure, the system recognizes a previously mapped place and uses the added relationship to refine its estimates. Returning to the starting door does not guarantee that this will happen, and not every product exposes or implements the same process.<\/p>\n<p>Do not interpret a smooth-looking route as proof of accuracy. Nor should a corrected-looking loop be presented as an independently surveyed result. Ask what checks support the intended use.<\/p>\n<figure class=\"wp-block-image size-full\" id=\"vis-099-02\"><picture><source media=\"(max-width:600px)\" srcset=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-099-v2M-r2-HQ.png\" width=\"390\" height=\"511\"><img loading=\"lazy\" src=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-099-v2D-r2-HQ.png\" width=\"1200\" height=\"958\" alt=\"A gold estimated route diverges from a dashed comparison path in a schematic corridor.\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:auto\"><\/picture><figcaption>Illustrative paths show why an estimate needs checks against an appropriate reference; no scale or measured error is shown.<\/figcaption><\/figure>\n<h2 id=\"why-indoor-construction-is-demanding\">Why indoor construction is demanding<\/h2>\n<p>An unfinished corridor may offer repeated doorways, broad untextured surfaces and changing illumination. People or equipment can block the view. A sharp turn can blur the images or interrupt useful correspondences. Material stacks can hide the feature that made a location recognizable on the previous visit.<\/p>\n<p>These are relevant operating conditions, not a universal list of failure outcomes. MathWorks&#8217; <a href=\"https:\/\/www.mathworks.com\/help\/vision\/ug\/how-to-improve-accuracy-in-slam.html\" target=\"_blank\" rel=\"noopener\">tracking and loop-closure troubleshooting guidance<\/a> identifies insufficient features, rapid movement, brightness changes and false or missed place matches among the problems its workflows must handle.<\/p>\n<p>Construction benchmarks help researchers test such systems beyond a tidy laboratory. The <a href=\"https:\/\/hilti-challenge.com\/dataset-2023\" target=\"_blank\" rel=\"noopener\">Hilti SLAM Challenge 2023<\/a> includes active-site data collected across sessions and platforms. The <a href=\"https:\/\/hilti-challenge.com\/dataset-2026\" target=\"_blank\" rel=\"noopener\">2026 Hilti\u2013Trimble\u2013Oxford dataset<\/a> uses 360-degree visual-inertial input with floor-plan priors and distinguishes trajectory estimation from localization in the plan&#8217;s reference frame.<\/p>\n<p>These datasets are evidence that construction localization is a serious technical problem. Their results do not establish Filio&#8217;s positioning performance, device requirements or implementation.<\/p>\n<h2 id=\"a-corridor-walk-what-the-route-explains-and-what-it-does-not\">A corridor walk: what the route explains and what it does not<\/h2>\n<p>Consider a fictional office fit-out. A field engineer records a route from the lift lobby into an east corridor, pauses at doorway D-24 and returns through a similar-looking corridor. The team wants a remote reviewer to locate a photographed wall junction before the next coordination meeting.<\/p>\n<p>The route helps explain how the views relate spatially. But three separate questions still need answers: was the route associated with the intended level and drawing; is the photograph actually of D-24; and does the image show the junction needed for review?<\/p>\n<p>Suppose the drawing used during capture is revision C, while the coordination team now refers to revision D. Do not silently move the photo to the newer plan and treat the association as established. Retain the capture reference, identify the revision difference and ask the responsible person to confirm the location.<\/p>\n<p>Likewise, if two doorways look alike, a convincing path is not enough to choose between them. A wider view with a readable identifier or a documented reference may settle the location question. If the junction is concealed, no amount of route refinement reveals it.<\/p>\n<h3 id=\"keep-these-three-checks-separate\">Keep these three checks separate<\/h3>\n<figure class=\"wp-block-table\" role=\"region\" aria-label=\"Tracking, reference and condition review checks\" tabindex=\"0\"><table><thead><tr><th scope=\"col\"><strong>Check<\/strong><\/th><th scope=\"col\"><strong>Question<\/strong><\/th><th scope=\"col\"><strong>Evidence to retain<\/strong><\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">Tracking<\/th><td>How were poses related through the capture session?<\/td><td>Source session and any available tracking limitations; no invented accuracy score.<\/td><\/tr><tr><th scope=\"row\">Reference<\/th><td>Which level, drawing and spatial convention does the record use?<\/td><td>Drawing identifier\/revision and the basis for the location association.<\/td><\/tr><tr><th scope=\"row\">Condition<\/th><td>What does the relevant view actually establish?<\/td><td>Identifiable source photo, visible observation, missing information and responsible follow-up.<\/td><\/tr><\/tbody><\/table><\/figure>\n<p>The table is a proposed human review aid, not a Filio interface or a tracking-performance test. It prevents one kind of confidence from being borrowed to answer a different question.<\/p>\n<h2 id=\"turn-the-trajectory-into-a-reviewable-record\">Turn the trajectory into a reviewable record<\/h2>\n<figure class=\"wp-block-image size-full\" id=\"vis-099-03\"><picture><source media=\"(max-width:600px)\" srcset=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-099-VIS-03-Mobile-r1-Provisional-review-candidate.png\" width=\"390\" height=\"1128\"><img loading=\"lazy\" src=\"https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-099-VIS-03-Desktop-r1-Provisional-review-candidate.png\" width=\"1200\" height=\"1139\" alt=\"A Filio sample record shows a window photograph and existing Measure and Sheet 1 tags.\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:auto\"><\/picture><figcaption>Authentic Filio Web App sample record, separate from the fictional D-24 scenario. It illustrates record review, not tracking, alignment or technical acceptance.<\/figcaption><\/figure>\n<p>A reviewer needs more than a moving line. Keep the relevant source images, subject and location references, capture context, drawing revision where applicable, and unresolved limitations connected. Preserve the distinction between recorded values and information confirmed later.<\/p>\n<p>For timestamps and location fields, the <a href=\"https:\/\/www.filio.io\/blog\/construction-photo-metadata-review\" target=\"_blank\" rel=\"noopener\">construction photo metadata guide<\/a> explains what those values can and cannot establish. The <a href=\"https:\/\/www.filio.io\/blog\/searchable-construction-project-records\" target=\"_blank\" rel=\"noopener\">searchable project-record guide<\/a> covers organizing the evidence so another person can retrieve it.<\/p>\n<p>Filio&#8217;s verified project organization, contextual fields, tags, retrieval and selected-record reporting can support that documentation handoff. These capabilities do not identify Filio&#8217;s underlying localization algorithm or turn a photo review into technical acceptance.<\/p>\n<p>A useful handoff note for the example would say: \u201cD-24 wall-junction review; source photos P-07 and P-08; capture reference Level 2, drawing C; association with revision D awaits confirmation. The concealed connection is not shown.\u201d This tells the next reviewer what they have and what they still need.<\/p>\n<h2 id=\"start-with-the-question-then-assess-the-spatial-record\">Start with the question, then assess the spatial record<\/h2>\n<p>SLAM helps explain where a capture system moved and how its observations can fit together. A responsible construction workflow also asks whether the reference is dependable, the relevant subject is visible, and the evidence is sufficient for the intended decision.<\/p>\n<p>Before the next capture walk, agree on the reference and the review question. Afterwards, inspect one record from the receiving person&#8217;s perspective. Can they locate the subject, distinguish observation from inference and identify the next action?<\/p>\n<p>To assemble selected records into a documented handoff, use the <a href=\"https:\/\/www.filio.io\/academy\/how-to-create-a-report-in-filio-web-app\" target=\"_blank\" rel=\"noopener\">Filio Academy report-creation guide<\/a>. The record supports the decision; the responsible professional retains it.<\/p>\n<p>Reader note: The corridor example and diagrams are illustrative. This article explains industry concepts and documentation practice, not a Filio algorithm, survey specification, inspection procedure or feature-release announcement.<\/p>\n<\/div>\n<style>#blog-099-reader h2[id],#blog-099-reader h3[id]{scroll-margin-top:210px}#blog-099-reader .wp-block-table{max-width:100%;overflow-x:auto}#blog-099-reader table{border-collapse:collapse;width:100%;min-width:640px}#blog-099-reader th,#blog-099-reader td{vertical-align:top;overflow-wrap:normal;word-break:normal;padding:12px;border:1px solid #ddd}#blog-099-reader th:first-child{min-width:110px}#blog-099-reader figure{margin:32px 0}#blog-099-reader picture{display:block}#blog-099-reader figcaption{font-size:14px;line-height:1.5;margin-top:10px}<\/style>\n<script>\n(function(){\nfunction init(){\nif(!document.getElementById('blog-099-reader'))return;\nvar content=document.querySelector('.elementor-widget-theme-post-content');\nvar hero=document.querySelector('.elementor-element-c67bacb img');\nif(hero&&!hero.closest('picture')){\nvar picture=document.createElement('picture'),source=document.createElement('source');\nsource.media='(max-width:600px)';source.srcset='https:\/\/blog.filio.io\/wp-content\/uploads\/sites\/6\/2026\/10\/BLOG-099-Hero-Mobile-r1-Provisional-review-candidate.png';source.width=390;source.height=260;\nhero.parentNode.insertBefore(picture,hero);picture.appendChild(source);picture.appendChild(hero);\nvar caption=document.createElement('p');caption.className='wp-element-caption';caption.textContent='Illustrative construction capture scene. Route and landmarks are conceptual, not measured results.';picture.parentNode.appendChild(caption);\n}\nfunction move(target,smooth){\nvar header=document.querySelector('header'),bar=document.getElementById('wpadminbar');\nvar clearance=Math.max(header?header.getBoundingClientRect().bottom:0,bar?bar.getBoundingClientRect().bottom:0,0)+20;\nwindow.scrollTo({top:Math.max(0,window.scrollY+target.getBoundingClientRect().top-clearance),behavior:smooth&&!window.matchMedia('(prefers-reduced-motion:reduce)').matches?'smooth':'instant'});\n}\ndocument.querySelectorAll('.elementor-widget-table-of-contents').forEach(function(toc){\ntoc.addEventListener('click',function(e){\nvar a=e.target.closest('a[href*=\"#\"]');if(!a||!content)return;\nvar url=new URL(a.href,location.href);if(url.pathname!==location.pathname||!url.hash)return;\nvar target=document.getElementById(decodeURIComponent(url.hash.slice(1)));\nif(!target||!content.contains(target))return;\ne.preventDefault();e.stopImmediatePropagation();history.pushState(null,'',url.hash);move(target,true);\n},true);\n});\nfunction fragment(){if(!location.hash||!content)return;var target=document.getElementById(decodeURIComponent(location.hash.slice(1)));if(target&&content.contains(target))move(target,false);}\nwindow.addEventListener('popstate',fragment);window.addEventListener('hashchange',fragment);window.addEventListener('load',fragment);\n}\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>SLAM stands for simultaneous localization and mapping: estimating where a moving sensor is while building or updating a representation of its surroundings. In construction, that can help connect a capture route to the space being recorded. It does not, on its own, verify a dimension, identify a defect or establish that work meets the design.<\/p>\n","protected":false},"author":2,"featured_media":8623,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"class_list":["post-8631","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-construction"],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/posts\/8631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/comments?post=8631"}],"version-history":[{"count":5,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/posts\/8631\/revisions"}],"predecessor-version":[{"id":8665,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/posts\/8631\/revisions\/8665"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/media\/8623"}],"wp:attachment":[{"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/media?parent=8631"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/categories?post=8631"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.filio.io\/wp-json\/wp\/v2\/tags?post=8631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}