Robot Wiki

Scene Representation and Mapping

What a robot remembers about the space around it, and why the map that renders best is not the map a planner can use.

Last reviewed
Reading time
17 min
Citations
24

Perception answers where an object is right now. This module answers the other question a robot needs settled before it can move: what does it remember about the space it is standing in, and what can it ask of that memory.

The answers form a ladder. Each rung stores something different, and the choice is not a matter of fidelity, because a rung that draws the scene beautifully may be unable to answer the one question a planner needs.

The ladder, and what each rung can answer

Three questions separate the rungs. Can the map say whether a given cell is free, so a planner can route through it. Can it supply a surface normal, so a contact solver knows which way the surface faces. Can it render the scene from a viewpoint the sensor never occupied. No representation on this ladder answers all three well, and the disagreements are structural rather than a matter of implementation quality.

Switch the representation selector below from the occupancy grid to the Gaussian splat and watch what happens to the region behind the occluder, which no sensor ray ever reached. Then move the resolution slider and notice what does not change.

Occupancy gridsensorsensorback walltransparentthin post

footprint 2.2 KB2,250 voxels at 20 cm

  • Is this cell free: yes
  • Surface normal for contact: no
  • Render a novel view: no

An occupancy grid stores: One occupancy probability per voxel, held as log-odds and updated by every ray that passes through. Behind the occluder it holds: An explicit unknown label, held apart from free and from occupied, which is the property the planner needs.

  • Is this cell free: free, occupied and unknown are three distinct cell states.
  • Surface normal for contact: the surface sits somewhere inside an occupied voxel and the grid never says where.
  • Render a novel view: no appearance is stored, only occupancy.

Stored as an occupancy grid at 20 cm, the same scene costs 2.2 KB across 2,250 voxels, and answers 1 of the 3 queries: free space yes, a contact normal no, a novel view no.

Current representation, resolution and footprint
representation
Occupancy grid
resolution
20 cm
footprint
2.2 KB
voxels
2,250
answers
1 of 3

Scene and models, stated rather than hidden: a 3.0 by 3.0 by 2.0 m cell holding a 2 cm post, a transparent bottle and an occluder, with the sensor at the near edge. The footprints are declared storage models rather than measurements of any implementation, volumetric stores billed over the whole volume and surface stores over the observed area only, which is why a narrow-band signed-distance field is cheaper than the occupancy grid it appears to resemble Curless 1996. The transparent bottle is drawn 16 cm behind its true face in every panel, because that is what a depth sensor reports through it, and the thin post survives only while the spacing can resolve it. Things worth trying: park the resolution at 10 cm and step the selector from the occupancy grid to the Gaussian splat, and watch the region behind the occluder change from an explicit unknown to confidently rendered geometry nothing ever measured Moravec 1985.

The occupancy grid holds that region as an explicit unknown. The splat fills it with plausible geometry, rendered at the same confidence as the surfaces that were actually measured. Nothing in the splat's store distinguishes the two, and that single difference is the reason the rest of this module is worth reading.

Point clouds and occupancy grids

A point cloud is an unordered set of 3D points. PointNet treats its input this way and requires invariance to the order in which those points are supplied Qi 2017. Its weakness is silence. A region with no points might be empty or might be unobserved, and the store cannot tell you which.

Moravec and Elfes projected wide-angle sonar measurements onto a two-dimensional horizontal occupancy grid, combining readings from different sensors and robot positions. Each reading represented a probably empty beam interior and uncertainty about the reflecting point somewhere near the measured range. Overlapping readings refined these constraints Moravec 1985. In their sonar map, a cell with no information is unknown. Zero represents unknown occupancy; negative and positive cell values represent probably empty and probably occupied regions, respectively Moravec 1985.

Signed-distance fields

Curless and Levoy replaced the occupancy value with a distance. Their volumetric method fuses range images into a cumulative weighted signed distance function, from which the surface is recovered as the zero crossing Curless 1996. The sign convention must be named. KinectFusion describes positive values toward visible free space and negative values on the non-visible side Newcombe 2011. Curless and Levoy's hole-filling construction instead encodes empty space with negative DminD_{min} and unseen space with positive DmaxD_{max}, both at zero weight Curless 1996.

KinectFusion's author-hosted paper describes a Kinect supplying 11-bit, 640×480 depth frames at 30 Hz. Its coarse-to-fine ICP tracks the live depth frame against the fused global model; the commodity-GPU implementation tracks and maps at the sensor frame rate. A large planar scene filling most of the field of view can cause tracking drift or failure Newcombe 2011.

Curless and Levoy truncate the distance ramps and weights near observed range points Curless 1996. KinectFusion uses a projective TSDF: visible-space values beyond the truncation distance μ\mu are capped at μ\mu, while non-visible points farther than μ\mu from the surface are not measured Newcombe 2011. KinectFusion distinguishes its projective TSDF from a true discrete signed-distance field. Its projective measurement is correct exactly at the surface or for an isolated point measurement; fusion produces an approximate pseudo-Euclidean distance metric. Near the zero level set, the method assumes the field gradient is orthogonal to the surface and estimates normals using numerical derivatives. Surface prediction marches along each ray to a zero crossing, then approximates the intersection using trilinearly interpolated field values Newcombe 2011.

Meshes, and then neural fields

A mesh adds connectivity, which buys a normal per face and a renderable surface, and costs you a hole wherever nothing was observed. Filling that hole invents geometry, which is fine for a rendering and a problem for a gripper.

NeRF fits a separate radiance field to a static scene. Its MLP predicts density from position and colour from position and viewing direction. Classical volume rendering accumulates those predictions along camera rays, and differentiability lets image error drive optimisation. The inputs include RGB photographs, camera poses, intrinsics and scene bounds; differentiability is not a guarantee that the recovered geometry is correct Mildenhall 2020. The neural radiance field line then bought three separate things in three steps.

First, view-synthesis quality, which is what the original result demonstrated. Second, lower optimisation cost: Instant NGP combines a trainable multiresolution hash encoding, smaller networks and fully fused CUDA kernels. Its NeRF model still learns from posed RGB images through a differentiable ray marcher; the speedup is not due to the encoding alone. Rendering settings matter too: Figure 12 reports a modular-synthesizer image accumulated over 128 samples in 5 seconds at 1080p on one RTX 3090, and a separate large natural 360-degree scene running at 10 frames per second on the same GPU. Those are two rendering settings, not a robot reconstruction or control rate Müller 2022. Third, rasterisation without a neural network in the rendering loop. 3D Gaussian splatting optimises Gaussian positions, anisotropic covariances, opacities and spherical-harmonic appearance from static-scene photographs with calibrated cameras. It projects the Gaussians to the image plane and alpha-blends sorted splats. The paper evaluates novel-view quality and rendering speed on established datasets using an A6000 GPU. Its abstract reports real-time rendering at 1080p, while the evaluation retains each dataset's native image resolution; those are not a single fixed-resolution benchmark Kerbl 2023.

DUSt3R's network predicts dense pointmaps from a pair of RGB images without camera intrinsics or poses supplied at inference. The pointmaps share the first image's coordinate frame and have an unknown scale. The network is trained with geometric supervision and starts from pretrained CroCo weights. For an image collection, the pipeline then optimises the alignment of pairwise pointmaps in 3D; the feed-forward pairwise prediction is not an optimisation-free multiview reconstruction Wang 2024.

MASt3R extends the same network with a dense local-feature head so matching is grounded in the same 3D prediction Leroy 2024.

A radiance field is geometry for rendering

This wiki has already staked out the verdict, in the world-models taxonomy: a splat reconstruction is a learned renderer, so appearance is learned and physics is not, and a renderer alone has no answer to what happens under an action. The same conclusion follows from the other direction here. In the original 3DGS model, learned opacity participates in image-space alpha compositing; it is not a calibrated free/occupied/unknown cell classification. The stored primitive is a volumetric Gaussian, not an explicit triangle surface carrying contact normals. That does not make surface extraction impossible: the paper explicitly leaves mesh reconstruction as future work Kerbl 2023.

That makes the appropriate uses specific rather than general. SplatSim replaces mesh primitives in the rendering pipeline with Gaussian splats; PyBullet still supplies the physics. The authors report zero-shot real-world transfer of diffusion policies trained on simulated demonstrations in four tasks using a UR5 and Robotiq 2F-85 gripper. Scene preparation includes manual robot segmentation, CAD-derived link bounds and ICP alignment. Figure 2 lists RGB observations plus end-effector position and orientation as policy inputs, while Section IV-A describes solely RGB at test time. The paper gives both descriptions. Its experiments concern rigid-body manipulation Qureshi 2024.

RoboGSim combines a Gaussian Reconstructor, Digital Twins Builder, Scene Composer and Interactive Engine. Multi-view images and supplied robot MDH parameters feed reconstruction; mesh assets and measured layout alignment connect the reconstruction to Isaac Sim. In its closed-loop evaluator, a policy acts on splat-rendered images, Isaac Sim handles inverse kinematics and physical interactions, and the resulting state drives the next rendering Li 2024. Novel-view augmentation, and scene memory. A rendering representation alone does not specify a contact model; geometric conversion and contact modelling are separate requirements.

Dex-NeRF is the honest bridge and worth reading as the exception that proves the shape of the rule. It uses a radiance field for geometry rather than for pictures, exploiting the view-independent learned density to render transparency-aware depth, then feeds that depth to a grasp planner. In their RealSense comparison, the camera failed to compute depth for most transparent objects in the tested scenes Ichnowski 2021. The field earned its place by producing a depth map, which is to say by being converted into the kind of representation a planner already knew how to use.

The symbolic end of the ladder deserves a mention for the same reason. OccWorld predicts how a 3D occupancy grid evolves rather than how pixels do, and gets competitive planning results without instance or map supervision Zheng 2023. Occupancy, again, because occupancy is the thing a planner can act on.

SLAM: the system that builds the map

Every representation above assumes somebody produced it, from sensor data, while the robot was moving and did not know precisely where it was. That is simultaneous localisation and mapping, and state estimation supplies its machinery without ever assembling the system.

In Section II, Cadena and colleagues separate a sensor-dependent front end, which abstracts measurements into models suitable for estimation and associates observations with state variables, from a back end that performs inference on those abstractions. The back end can feed information back to support loop-closure detection and validation Cadena 2016.

Front ends divide into feature-based and direct. A feature-based front end detects repeatable keypoints, describes them, and matches descriptors between frames; the 2015 monocular ORB-SLAM system uses ORB features for tracking, local mapping, relocalisation and loop closing. Tracking matches features and refines camera pose; mapping triangulates matched ORB features and runs local bundle adjustment. A DBoW2 vocabulary built from ORB descriptors supplies relocalisation and loop candidates, which require geometric validation Mur-Artal 2015.

ORB-SLAM3 supports visual SLAM with monocular, stereo and RGB-D inputs, and monocular-inertial and stereo-inertial SLAM with pinhole or fisheye cameras. Its IMU initialization uses MAP estimation and refinement. Tracking loss first triggers recovery attempts; persistent loss can start a new active map, while early loss after inertial initialization can discard an immature map. A revisit can trigger map merging only after place-recognition candidates pass geometric and covisibility checks; mature visual-inertial maps also undergo gravity-direction checks. Low texture remains a failure case, and slow motion can leave inertial initialization poorly constrained. Campos 2021

A direct front end skips the detector entirely and optimises photometric error over sampled pixels jointly with the geometry, which is Direct Sparse Odometry's formulation Engel 2018. The trade is legible: features are robust to brightness change and throw away most of the image, while direct methods use weakly textured regions a detector would ignore, and gain accuracy and robustness from a calibration of the camera's exposure, vignetting and response.

Cadena and colleagues describe odometric drift and explain that revisiting mapped landmarks can reduce and possibly correct trajectory drift; they also distinguish wheel odometry from lower-drift visual-inertial methods Cadena 2016. In monocular ORB-SLAM, loop closure requires geometric validation, then uses similarity alignment and Essential Graph optimization to distribute loop-closing error along the graph Mur-Artal 2015. This is not a guarantee that every revisit removes all error. For visual navigation, place recognition asks whether the current image matches a place already stored in the map; Lowry and colleagues note that motion information can also inform this belief. Viewpoint, illumination and seasonal changes can alter the same place’s appearance, while different places can look alike (perceptual aliasing) Lowry 2016.

In Cadena and colleagues' robustness argument, perceptual aliasing can produce false-positive data associations that lead to wrong back-end estimates; false negatives instead discard useful measurements and reduce estimation accuracy. Robust losses and loop-closure validation can mitigate outliers, but the survey describes remaining failures that depend on initialization and subsequent outlier rejection. This is not a universal ranking of the cost of every false match against every missed match. Cadena 2016

The back end is where the smoothing formulations from state estimation do their work. Square Root SAM jointly estimates the trajectory and landmark map by maximum a posteriori (MAP) inference. Under Gaussian process and measurement models with known data associations, this becomes a nonlinear least-squares problem. With the reference frame fixed, nonlinear optimisation solves successive sparse linearised systems using QR of the measurement Jacobian or Cholesky of the information matrix; variable ordering controls fill-in Dellaert 2006. iSAM2 uses a Bayes tree for incremental reordering and relinearisation: it re-eliminates affected cliques and their ancestors, then reattaches unaffected subtrees. Thresholded state updates trade some accuracy for speed, and large loop closures can cost as much as a batch solve Kaess 2012. Loop closure is precisely why smoothing displaced filtering here: relinearising the past is only possible if the past is still in the graph.

Cadena and colleagues describe sparse landmark maps built from discriminative features and dense geometric models better suited to obstacle avoidance and planning; dense models also appear in visual SLAM. They assess representations by storage size, construction cost and usefulness for the task, and describe more efficient volumetric storage schemes such as octrees and voxel hashing Cadena 2016.

Sensor choice depends on the sensor-environment pair: Cadena and colleagues note that two rooms may look identical to a 2D laser scanner yet be distinguishable by appearance to a camera. Severe illumination changes defeat the bag-of-words methods discussed in the review, while active range cameras can work in dark, untextured scenes but face range and external-light limitations Cadena 2016.

iMAP learns a scene-specific MLP from scratch from a handheld RGB-D stream, without prior training data. The network maps 3D coordinates to colour and volume density; rendering uses camera intrinsics. Tracking optimises the current camera pose against a fixed network, while mapping updates the network and selected keyframe poses. The MLP is the dense scene map, not the system's only stored data: RGB-D keyframes and poses are retained for replay, and network snapshots guide keyframe selection. The paper reports tracking at 10 Hz and mapping at 2 Hz on a single desktop CPU/GPU system. Live operation drops images arriving between processed frames; fine map detail takes minutes to develop. The demonstrated scope is room-scale mapping, and meshes are extracted for evaluation and visualisation rather than used by SLAM Sucar 2021.

NICE-SLAM uses hierarchical feature grids with three fixed, pretrained geometry decoders for coarse-, mid- and fine-scale occupancy, plus a separate colour grid and a colour decoder optimised online. The geometry decoders are pretrained using ConvONet's Synthetic Indoor Scene Dataset; scene grids are then optimised from RGB-D observations, with camera intrinsics used for rendering. Tracking estimates the current camera pose; the static-scene mapping formulation performs local bundle adjustment over scene features, the colour decoder and selected keyframe poses. The paper demonstrates reconstruction of a self-captured multi-room apartment, rather than unlimited scene scale. Geometric updates are local, but a global keyframe list is retained, colour can suffer forgetting and remain consistent only locally, and the system does not perform loop closure. Its reported 47 ms tracking and 130 ms mapping timings use 200 tracking pixels and 1,000 mapping pixels on an RTX 3090/Intel i7-10700K desktop. The large-scene experiments use higher sample counts, so those timings are not a latency guarantee for the apartment Zhu 2022.

The deployed answer: costmaps and two planners

Navigation2 provides one concrete mobile-robot implementation of this pipeline. The map a navigation stack plans over is a costmap: occupancy from the map and the live sensors, inflated by the robot's footprint, marked up with whatever else should influence the route. Lu, Hershberger and Smart proposed and implemented layered costmaps in the ROS Navigation stack. The method keeps an ordered list of semantically separate layers and accumulates their data into a master 2D costmap for path planning. Each update first gathers the layers' update bounds, then lets each layer update the master grid within those bounds. Some layers keep private grids, while others operate directly on the master; separating static-map and sensed-obstacle data does not prohibit overwriting static-map costs, which remains configurable Lu 2014. Navigation2 uses a layered costmap Macenski 2020.

Navigation2 separates global planning from local control: the global planner computes a shortest route to a goal, while the controller uses local information to compute a local path and control signals. The two are plugins delegated to task-specific asynchronous servers. Navigation2, built on ROS 2, is the implementation used as the example here Macenski 2020. The algorithms inside both are the ones in motion planning, applied to a 2D grid rather than a robot arm's configuration space.

Notice what the deployed stack chose. Not the representation that renders best, and not the one with the most parameters, but the one that answers the question the planner asks, which is whether a cell is free.

A representation is a service contract

Choose a scene representation by the queries its consumers issue. Localization needs stable landmarks and uncertainty. Collision checking needs occupied volume, resolution and a conservative update rule. Grasping may need surface pose and object identity. Rendering needs view-dependent appearance. One representation can support several queries, but no reconstruction should be promoted merely because it looks complete.

For deployment, publish the frame, timestamp, resolution, confidence or unknown-state convention, update rate and invalidation rule with the map. Test that attached objects and removed obstacles propagate to the planning view before motion begins. The ROS 2 guide describes this handoff through transforms and planning-scene updates. The distinction from a learned world model is equally important: a scene representation answers what is present now, while a world model must answer how the state changes under an action. The simulator comparison makes that boundary explicit.

See also

Linked from

  • What Is a World Model?

    An editorial comparison of six world-model example groups: what they predict, in what representation, and for what purpose. The survey-defined functional criterion is decision-relevant prediction, not visual plausibility alone.

  • State Estimation

    Kalman filters, factor graphs, and pose estimation from noisy sensors.

  • ROS 2 for Machine Learning Engineers

    Topics, services, actions, QoS, tf2, rosbag2 and MoveIt explained as the production boundary around a learned policy.

References

  1. Hans P. Moravec, Alberto Elfes, ICRA 1985.

    https://doi.org/10.1109/ROBOT.1985.1087316

  2. Brian Curless, Marc Levoy, SIGGRAPH 1996.

    https://doi.org/10.1145/237170.237269

  3. Richard A. Newcombe, Shahram Izadi, Otmar Hilliges, David Molyneaux, David Kim, Andrew J. Davison, Pushmeet Kohli, Jamie Shotton, and 2 more, ISMAR 2011.

    https://doi.org/10.1109/ISMAR.2011.6092378

  4. Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, Ren Ng, ECCV 2020.

    https://arxiv.org/abs/2003.08934

  5. Thomas Müller, Alex Evans, Christoph Schied, Alexander Keller, ACM Trans. Graph. (SIGGRAPH 2022).

    https://arxiv.org/abs/2201.05989

  6. Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, George Drettakis, ACM Trans. Graph. 42(4), author manuscript (2023).

    https://arxiv.org/abs/2308.04079

  7. Shuzhe Wang, Vincent Leroy, Yohann Cabon, Boris Chidlovskii, Jerome Revaud, CVPR 2024.

    https://arxiv.org/abs/2312.14132

  8. Vincent Leroy, Yohann Cabon, Jérôme Revaud, ECCV 2024.

    https://arxiv.org/abs/2406.09756

  9. Cesar Cadena, Luca Carlone, Henry Carrillo, Yasir Latif, Davide Scaramuzza, José Neira, Ian Reid, John J. Leonard, IEEE Transactions on Robotics, 2016.

    https://arxiv.org/abs/1606.05830

  10. Raúl Mur-Artal, J. M. M. Montiel, Juan D. Tardós, IEEE Transactions on Robotics, 2015.

    https://doi.org/10.1109/TRO.2015.2463671

  11. Carlos Campos, Richard Elvira, Juan J. Gómez Rodríguez, José M. M. Montiel, Juan D. Tardós, IEEE Transactions on Robotics, 2021.

    https://doi.org/10.1109/TRO.2021.3075644

  12. Jakob Engel, Vladlen Koltun, Daniel Cremers, IEEE TPAMI, 2018.

    https://doi.org/10.1109/TPAMI.2017.2658577

  13. Stephanie Lowry, Niko Sünderhauf, Paul Newman, John J. Leonard, David Cox, Peter Corke, Michael J. Milford, IEEE Trans. Robotics, 2016.

    https://doi.org/10.1109/TRO.2015.2496823

  14. Edgar Sucar, Shikun Liu, Joseph Ortiz, Andrew J. Davison, ICCV 2021.

    https://arxiv.org/abs/2103.12352

  15. Zihan Zhu, Songyou Peng, Viktor Larsson, Weiwei Xu, Hujun Bao, Zhaopeng Cui, Martin R. Oswald, Marc Pollefeys, CVPR 2022.

    https://arxiv.org/abs/2112.12130

  16. Jeffrey Ichnowski, Yahav Avigal, Justin Kerr, Ken Goldberg, CoRL 2021.

    https://arxiv.org/abs/2110.14217

  17. Mohammad Nomaan Qureshi, Sparsh Garg, Francisco Yandun, David Held, George Kantor, Abhisesh Silwal, 2024.

    https://arxiv.org/abs/2409.10161

  18. Xinhai Li, Jialin Li, Ziheng Zhang, Rui Zhang, Fan Jia, Tiancai Wang, Haoqiang Fan, Kuo-Kun Tseng, and 1 more, 2024.

    https://arxiv.org/abs/2411.11839

  19. Wenzhao Zheng, Weiliang Chen, Yuanhui Huang, Borui Zhang, Yueqi Duan, Jiwen Lu, 2023.

    https://arxiv.org/abs/2311.16038

  20. Frank Dellaert, Michael Kaess, Int. J. Robotics Research, 2006.

    https://doi.org/10.1177/0278364906072768

  21. Michael Kaess, Hordur Johannsson, Richard Roberts, Viorela Ila, John J. Leonard, Frank Dellaert, Int. J. Robotics Research, 2012.

    https://doi.org/10.1177/0278364911430419

  22. David V. Lu, Dave Hershberger, William D. Smart, IROS 2014.

    https://doi.org/10.1109/IROS.2014.6942636

  23. Steve Macenski, Francisco Martin, Ruffin White, Jonatan Gines Clavero, IROS 2020.

    https://doi.org/10.1109/IROS45743.2020.9341207

  24. Charles R. Qi, Hao Su, Kaichun Mo, Leonidas J. Guibas, CVPR 2017.

    https://arxiv.org/abs/1612.00593

Spot a factual error or missing qualification? Report a content correction.