Skip to content
ROS Discourse — Community updates· Alessandro_Pistella·· 2 days agoSignalEditorial score75

A robot controller written directly into neural-network weights, in ROS 2 and Gazebo

A robot controller written directly into neural-network weights, in ROS 2 and Gazebo

Summary

The author implements a reactive navigation controller using a small multi-layer perceptron with directly authored weights in ROS 2 and Gazebo. The system achieves doorway crossing and completes three laps without gradient-based training or a full navigation stack. The implementation includes recorded trajectories, failures, and a configured Nav2 reference for context, currently limited to simulation.

Editorial context

The author demonstrates a reactive navigation controller implemented as a small multi-layer perceptron with directly authored weights in ROS 2 and Gazebo, achieving doorway crossing and three-lap completion without gradient-based training or full navigation stack components.

Source: ROS Discourse — Community updates · Read original article ↗

Article text · Original source · English

After reading Sparks of Weight-Space Programming by Rikiya Takehi, Jayden Teoh, Alex Zhang and Omar Khattab, I wanted to try the idea on a robotics problem: could directly authored neural-network weights produce useful navigation behavior?

I set up two rooms, a doorway and a lidar-equipped robot in Gazebo. Fable 5.1 wrote and revised the weights of a small network; a ROS 2 node ran it and turned its outputs into motion.

Recorded trajectory through the two-room world

Recorded Gazebo trajectory at 16× playback. A separate pose-based scheduler advances the three-lap mission.

The network is a 26 → 16 → 16 → 2 tanh MLP: 738 stored coefficients and biases, 78 nonzero in the final version. It takes reduced lidar readings and produces speed and steering signals, with no map, path planner or LLM call in the steering loop.

navigation-stack-vs-neural-policy

navigation-stack-vs-neural-policy1600×1430 159 KB

The crossed-out components are absent from this experiment’s steering loop. The network supplies reactive motion; it does not reproduce every capability of a full navigation stack. ROS 2, the drive interface and supporting command logic remain.

What made this interesting to debug was the connection between the weights and the resulting behavior. In one failed doorway run, a proximity unit was responding correctly, but other terms still dominated the turn. The activation trace pointed to the steering priority that needed changing.

After feedback-guided revisions, the controller crossed the doorway from several starts. With an external lane scheduler, it also completed three laps through both rooms.

Scan processing, command safeguards and that scheduler remain ordinary code outside the network. There was no gradient-based training, but there was iteration; the longer mission uses Gazebo true pose for lap closure.

I’ve published the implementation, recorded trajectories and failures, plus a configured Nav2 reference for context.

For now, this is simulation only. Over the next few days I’ll put it on the actual dum-e and see what happens. :joy:

Suggestions, opinions and criticism are all welcome!

Article, replay and method · Code and evidence

What the source reports

Publisher-reported claims, with original evidence. These results have not been independently verified by RoboSignal.

Reported numbers

  • stored coefficients and biases

    738

    View original evidence
    on. Recorded Gazebo trajectory at 16× playback. A separate pose-based scheduler advances the three-lap mission. The network is a 26 → 16 → 16 → 2 tanh MLP : 738 stored coefficients and biases, 78 nonzero in the final version. It takes reduced lidar readings and produces speed and steering signals, with no map, path planner or LLM call in the steering loop. navigation-stack-vs-neural-policy 1600×1430 159 KB The crosse
    Open source S3
  • nonzero coefficients and biases

    78

    View original evidence
    on. Recorded Gazebo trajectory at 16× playback. A separate pose-based scheduler advances the three-lap mission. The network is a 26 → 16 → 16 → 2 tanh MLP : 738 stored coefficients and biases, 78 nonzero in the final version. It takes reduced lidar readings and produces speed and steering signals, with no map, path planner or LLM call in the steering loop. navigation-stack-vs-neural-policy 1600×1430 159 KB The crosse
    Open source S3
  • laps

    3

    Reported trials

    View original evidence
    rms still dominated the turn. The activation trace pointed to the steering priority that needed changing. After feedback-guided revisions, the controller crossed the doorway from several starts. With an external lane scheduler, it also completed three laps through both rooms. Scan processing, command safeguards and that scheduler remain ordinary code outside the network. There was no gradient-based training, but ther
    Open source S5

Dataset details reported by the source

Modalities
lidar Open source S3
Tasks
navigation Open source S2
Embodiments
dum-e Open source S6
  • paper: not_reported
  • code: Reported pending Open source S6
  • dataset: not_reported
  • code: not_reported

What remains unknown

Dataset licensing and commercial-use rights are not established here.

Source excerpts and review record

Automatically extracted; no manual editorial approval recorded.

After reading Sparks of Weight-Space Programming by Rikiya Takehi, Jayden Teoh, Alex Zhang and Omar Khattab, I wanted to try the idea on a robotics problem: could directly authored neural-network weights produce useful navigation behavior? I set up two rooms, a doorway and a lidar-equipped robot in Gazebo. Fable 5.1 wrote and revised the weights of a small network; a ROS 2 node ran it and turned its outputs into moti

Open source S2

on. Recorded Gazebo trajectory at 16× playback. A separate pose-based scheduler advances the three-lap mission. The network is a 26 → 16 → 16 → 2 tanh MLP : 738 stored coefficients and biases, 78 nonzero in the final version. It takes reduced lidar readings and produces speed and steering signals, with no map, path planner or LLM call in the steering loop. navigation-stack-vs-neural-policy 1600×1430 159 KB The crosse

Open source S3

e was iteration; the longer mission uses Gazebo true pose for lap closure. I’ve published the implementation, recorded trajectories and failures, plus a configured Nav2 reference for context. For now, this is simulation only. Over the next few days I’ll put it on the actual dum-e and see what happens. Suggestions, opinions and criticism are all welcome! Article, replay and method · Code and evidence

Open source S6

rms still dominated the turn. The activation trace pointed to the steering priority that needed changing. After feedback-guided revisions, the controller crossed the doorway from several starts. With an external lane scheduler, it also completed three laps through both rooms. Scan processing, command safeguards and that scheduler remain ordinary code outside the network. There was no gradient-based training, but ther

Open source S5

Implications for data suppliers

RoboSignal interpretation and collection questions, not statements of buyer demand.

  • Confirm the required data type and collection setting with the buyer; this source does not establish a complete collection specification.
  • Compare the reported units and scope before using these quantities in a budget. Recording hours, sensor-hours and trajectories are different measures.
  • Check the exact dataset version, license, modalities and task coverage against the intended use.
  • Validate demand and acceptance criteria with a buyer before scaling. Publication, popularity and a research result do not establish a purchase commitment.

Source:ROS Discourse — Community updates · discourse.openrobotics.org

Timezone · UTC

Article dates follow your selected timezone. Briefing editions use Hong Kong time (UTC+8).