Inference uses the whole map, not a single winning unit.
This work presents an embodied internal model based on self-organizing maps (SOMs), hierarchically connected through Hebbian weights. The model is trained to capture sensorimotor contingencies — that is, how motor commands affect the perceptual state of the robot. Once trained, it serves both as an inverse and a forward model.
One of the main contributions is the Full Activation method for propagating activation through the architecture. This propagation relies on the activation of the whole map, contrary to traditional methods relying on Best Matching Units. The system is tested in a fovealization task and a pre-grasping task with high rates of success. The use of distributed representations across the maps allows the model to maintain high success rates even under significant stochastic perturbations, effectively buffering against sensor inaccuracies and actuator uncertainty.
Finally, the model could serve as a curiosity-driven guide, encouraging the robot to explore regions of its sensory space where it has less experience, or as a baseline controller refined in real time through continuous learning.
The model is trained entirely in simulation using PyBullet and deployed directly onto a physical robot arm — no fine-tuning, no additional real-world data. The video below shows the real robot performing the pre-grasping task zero-shot.
The architecture is built on the SOIMA framework and extends it with the Full Activation method. Instead of selecting a single Best Matching Unit (BMU) to propagate information, every neuron in the map contributes to the output, weighted by its activation level. This distributes computation across the entire representational space, granting the system emergent generalization capabilities that BMU-based methods cannot achieve.
The Full Activation propagation for the inverse model proceeds in three steps: stereo activation is computed via element-wise intersection of the two visual streams; both current and goal stereo activations are propagated to the MMR and intersected; and the motor output is obtained by projecting the MMR activation onto the motor SOM.
The robotic arm is initialized in front of a table with an object of interest (a 5 × 5 cm cube), and synthetic image rendering simulates visual input. The arm then performs a series of completely random movements and records the sensory consequences — motor babbling. If the object leaves the robot's visual field, the arm is reset.
To sample the visual experience space as thoroughly as possible, the reset position is not fixed. Two reference configurations are defined, one close to the object and one farther away, and at each reset the arm is placed at a position interpolated between them. The object itself stays in the same place throughout. This intentionally limits the variability of the dataset, so that generalization can be evaluated under controlled conditions. The final dataset contains 80k sensorimotor contingencies, corresponding to 80k random motor commands.
The model is evaluated on 125 object positions arranged in a 5 × 5 × 5 cuboid within the workspace. All of them are unseen: training used a single fixed object position.
| Task | Full Activation | Best Match |
|---|---|---|
| Fovealization | 89.6% (112/125) | 89.6% (112/125) |
| Pre-grasping | 100% (125/125) | 0% (0/125) |
Both strategies solve fovealization, where initial states sit close to the target configuration. The pre-grasping task separates them completely. Best Match commits to the single MMR neuron whose stored triplet most closely matches the query, so the motor command it returns is always one that was actually experienced during training — with the object at one fixed position, no stored triplet corresponds to the displaced goals, and the strategy cannot interpolate towards them. Full Activation instead reads out a weighted average over the whole motor map, which lets a combination of stored contingencies produce commands that were never individually learned.
Visual and motor noise were swept independently, not jointly. Under visual noise the success rate stays above 80% up to σ = 0.8; under multiplicative motor noise it stays above 80% up to σ = 0.5, where each joint command is perturbed by up to 50% of its intended magnitude.
Because the architecture encodes both a forward and an inverse model in the same neural substrate, it can predict the sensory consequences of its own actions before executing them. The discrepancy between predicted and actual sensory state yields a prediction error that grows significantly under injected noise, suggesting it could serve as an online detector for hardware failures or environmental interference.
The architecture keeps evolving. Below is a more recent zero-shot sim-to-real transfer, with two changes over the version described above:
@inproceedings{trinidad2026embodied,
author = {Trinidad Barnech, Guillermo and Valle Lisboa, Juan and
Tejera, Gonzalo and Ciria, Alejandra and Lara, Bruno},
title = {Embodied Internal Models for Exploration and Control
via Hierarchical Self-Organizing Maps},
booktitle = {IEEE International Conference on Development
and Learning (ICDL)},
address = {Kyoto, Japan},
year = {2026},
}