Papers › Unsupervised Emergence of Egocentric Spatial Structure from Sensorimotor Prediction

Unsupervised Emergence of Egocentric Spatial Structure from Sensorimotor Prediction

4 Jun 2019NeurIPS 2019 12arXiv:1906.01401archive 2025-07-28

Alban Laflaquière, Michael Garcia Ortiz

Despite its omnipresence in robotics application, the nature of spatial knowledge and the mechanisms that underlie its emergence in autonomous agents are still poorly understood. Recent theoretical works suggest that the Euclidean structure of space induces invariants in an agent's raw sensorimotor experience. We hypothesize that capturing these invariants is beneficial for sensorimotor prediction and that, under certain exploratory conditions, a motor representation capturing the structure of the external space should emerge as a byproduct of learning to predict future sensory experiences. We propose a simple sensorimotor predictive scheme, apply it to different agents and types of exploration, and evaluate the pertinence of these hypotheses. We show that a naive agent can capture the topology and metric regularity of its sensor's position in an egocentric spatial frame without any a priori knowledge, nor extraneous supervision.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1906.01401")

Code

Syntology Ran 0 of 16 code samples harvested from 1 repository linked to this paper; 16 have no recorded run.

By repository: official repository: 16 samples from 1 repository, 0 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

alaflaquiere/learn-spatial-structure officialmentioned in papermentioned on GitHubtfMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

16 samples harvested; 0 ran; 0 honoured the contract we drafted; 16 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

16unverified

Licence: 0 of the 16 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from alaflaquiere/learn-spatial-structure. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

check_savability alaflaquiere/learn-spatial-structure/generate_sensorimotor_data.py official repository unverified MIT (permissive) · 7b96a764747985bc · report
compute_yaw_and_pitch alaflaquiere/learn-spatial-structure/gqn_renderer/bullet_tools.py official repository unverified MIT (permissive) · 0ac8905b73b4afc7 · report
create_directory alaflaquiere/learn-spatial-structure/tools.py official repository unverified MIT (permissive) · c548708ccee68214 · report
display_all_projections_of_a_single_run alaflaquiere/learn-spatial-structure/analyze_network.py official repository unverified MIT (permissive) · 0f18608976845162 · report
display_data alaflaquiere/learn-spatial-structure/display_progress.py official repository unverified MIT (permissive) · da992feb99476646 · report
get_colors alaflaquiere/learn-spatial-structure/gqn_renderer/bullet_tools.py official repository unverified MIT (permissive) · f449c1a2566eada5 · report
load_compressed_sensorimotor_transitions alaflaquiere/learn-spatial-structure/tools.py official repository unverified MIT (permissive) · 5edba394179a59f5 · report
load_sensorimotor_transitions alaflaquiere/learn-spatial-structure/tools.py official repository unverified MIT (permissive) · 669e9e80fc63cb41 · report
load_subdirectory_data alaflaquiere/learn-spatial-structure/analyze_network.py official repository unverified MIT (permissive) · 28c99f6bc48412f5 · report
mlp alaflaquiere/learn-spatial-structure/Networks.py official repository unverified MIT (permissive) · 2420edc5273f2b91 · report
opengl_to_bullet_frame alaflaquiere/learn-spatial-structure/gqn_renderer/bullet_tools.py official repository unverified MIT (permissive) · a2fa0b636edc229c · report
read_and_display_results alaflaquiere/learn-spatial-structure/analyze_network.py official repository unverified MIT (permissive) · 088bc220d3d50ca0 · report
save_compressed_dictionary alaflaquiere/learn-spatial-structure/generate_sensorimotor_data.py official repository unverified MIT (permissive) · 55e4fde63c2fbf8b · report
save_dictionary alaflaquiere/learn-spatial-structure/generate_sensorimotor_data.py official repository unverified MIT (permissive) · 6812386eab351693 · report
save_training alaflaquiere/learn-spatial-structure/train_network.py official repository unverified MIT (permissive) · 38da9e9b4293a600 · report
split_filename alaflaquiere/learn-spatial-structure/gqn_renderer/urdf/obj_to_urdf_converter.py official repository unverified MIT (permissive) · 97ea824910a8f489 · report

Tasks

Prediction

1 archive task tag without a task page not shown.

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections