ROS 2 experiment replaces Nav2 planner with hand-authored neural network weights in Gazebo
A researcher used Fable 5.1 to iteratively author 78 nonzero weights in a 738-parameter tanh MLP that directly maps reduced lidar scans to speed and steering commands, bypassing conventional mapping, path planning, and gradient-based training in a ROS 2 navigation stack.
Summary
Alessandro Pistella has published a ROS 2 and Gazebo experiment demonstrating direct weight-space programming of a neural network controller for mobile robot navigation. Inspired by the research paper "Sparks of Weight-Space Programming," the project replaces traditional Nav2 components with a small multilayer perceptron whose weights were authored and revised by the Fable 5.1 model through feedback-guided iteration rather than gradient descent. The 26-input, 16-hidden, 16-hidden, 2-output tanh network processes reduced lidar readings and outputs speed and steering signals directly, with no map, path planner, or LLM inference in the control loop.
The experiment was conducted in a two-room Gazebo simulation with a doorway and lidar-equipped robot. While scan processing, command safeguards, and a pose-based mission scheduler remain conventional code, the core reactive navigation behavior emerges from the 78 nonzero weights in the final network. The author documented debugging through activation traces to identify which weights dominated steering decisions, and the controller successfully crossed the doorway from multiple starting positions and completed three laps with external scheduling. The implementation, recorded trajectories, failure cases, and a Nav2 reference configuration are all published as open source, with physical robot testing planned.
Weight-space programming architecture and ROS 2 integration
- Network topology: The controller uses a 26 → 16 → 16 → 2 tanh MLP with 738 total stored coefficients and biases, of which only 78 are nonzero in the final version, yielding a highly sparse hand-tuned policy.
- Input-output mapping: The network takes reduced lidar scan readings as input and directly produces speed and steering signals, eliminating the conventional perception-planning-actuation pipeline including mapping, localization, and path planning modules.
- Training methodology: No gradient-based training was employed; instead, Fable 5.1 authored and revised weights through iterative feedback based on observed Gazebo behavior, with activation traces used to diagnose why a proximity unit's correct response was overridden by competing steering terms.
- System boundaries: ROS 2, the drive interface, scan preprocessing, command safeguards, and a pose-based three-lap scheduler remain as ordinary code outside the network, with the neural policy confined to reactive motion generation.
- Evaluation environment: All validation is currently simulation-only in Gazebo at 16× playback speed, using true pose data for lap closure, with physical deployment on a "dum-e" robot planned but not yet completed.
Why it matters
This experiment challenges the prevailing assumption that neural robot controllers require large-scale gradient-based training or LLM inference loops, potentially opening a path for lightweight, interpretable policies on resource-constrained platforms like Raspberry Pi or RISC-V SBCs running ROS 2. For the ROS and open robotics community, the published methodology and Nav2 comparison provide a concrete reference for researchers exploring hybrid architectures where traditional navigation stacks are partially or fully replaced by directly programmed network weights. If the approach transfers to physical hardware, it could reduce computational requirements for autonomous navigation and offer more transparent debugging than black-box learned policies.
Original reference: discourse.openrobotics.org →