Map-free drone nav, ARM cross-compiling
An aerial autonomy stack published with reproducible flight numbers, a cross-compiling tool for the ARM boards the ROS buildfarm does not cover, and active perception without hand-designed rewards.
Map-free 3D drone navigation, with numbers
A developer posting as formiat released px4-ros2-drone-nav on 16 September: an MIT-licensed ROS 2 workspace for a quadrotor given a start and a goal inside a multi-storey urban world, and no map at all. It builds obstacle memory from a simulated 3D lidar while flying, plans over it in full 3D, and executes through PX4 in offboard mode.
A Gazebo GPU lidar produces 360 by 181 beams at 10 Hz, and obstacle_memory_3d_node integrates those rays into a revisioned occupancy structure that consumers receive as deltas rather than whole grids. A persistent sparse D* Lite planner runs over an adaptive 26-connected 3D lattice and emits route geometry with a speed profile, then a CUDA MPPI controller samples a local horizon at 50 Hz, validates the swept footprint against raw occupancy and publishes a plan that mppi_offboard_node converts into PX4 setpoints. A Gazebo contact instead reaches collision_crash_node, which latches the offboard link into a disarm.
The repository ships evidence, which is rare. The v0.2.0 changelog records five consecutive flights on one commit through the DARPA Subterranean Challenge Urban Circuit Practice 01 world, imported from Gazebo Fuel under CC BY 4.0: 371.5 m to 417.2 m per mission at 2.58 m/s to 3.10 m/s, no crashes, planner p95 latency of 152 to 157 ms. Route availability came in at 88.9% to 95.1%, below the 97% the project’s own mission check requires. Release v0.2.1 adds a bootstrap script verified on a fresh clone: about 25 minutes of preparation, then a headless mission of 389.8 m in 123.3 s at 3.162 m/s.
Two constraints: it is simulation only and states it is not validated for real aircraft, and the CUDA optimizer needs an NVIDIA container runtime. Work merged since the release raises obstacle memory transport from 2 Hz to 10 Hz, cutting observation age at the planner to 184 to 200 ms at p50 against the 600 ms the braking contract charges.
Source: Open Robotics Discourse, repository.
colcon learns to cross-compile for small ARM boards
Sergio, posting as sapertuz, published colcon-buildx on 16 September: a colcon verb that builds a ROS 2 workspace inside a Docker image already carrying ROS 2 for the target board, so the result links against the same libc, ROS and DDS the board runs. The invocation is one line, colcon buildx --docker-image ghcr.io/smarobix/smarobix-buildx-images:k26-jazzy; arguments meant for colcon build are forwarded, output lands in cross_install/, and --deploy rsyncs it over.
The image repository is built by CI and published to GitHub Container Registry, covering Kria K26 (KV260 and KR260) on arm64 under Humble and Jazzy, Pynq-Z1 and Z2 under PYNQ v3.1.1 on armhf, and Raspberry Pi OS 12 and 13 on arm64 and armhf. For those boards, releases also ship the build as an /opt/ros/<distro> install tree in .deb and .tar.gz form, with runtime dependencies derived from the built tree.
The motivation is concrete: armhf is Tier 3 in REP-2000, the buildfarm publishes no ros-<distro>-* packages for Humble or Jazzy, and packages.ros.org carries bootstrap tooling for Debian suites rather than ROS itself, leaving you to build on the board or rebuild every time. Rough edges are stated up front: armhf images are built under QEMU and take hours from scratch, the package set is opinionated (roughly ros-base without the display stack), and the SSHFS sysroot backend is experimental. It is a community project, not an official ROS one.
Source: Open Robotics Discourse.
Active perception without reward shaping
arXiv:2609.17628, submitted on 15 September by Ü. Bora Gökbakan (WILLOW), Stéphane Caron (ISIR) and Philippe Souères (LAAS-GEPETTO), asks whether a policy can learn where to look without being told. The usual answer, a curiosity or coverage bonus, can fight the task itself. LEAP instead formulates goal-directed navigation over hazardous terrain where the goal must be discovered visually, and lets task pressure alone produce gaze control.
The mechanism is a gaze-invariant representation that integrates depth images into egocentric belief maps, so the policy reasons over remembered geometry rather than camera coordinates. Policies trained on a terrain curriculum reached a 92.7% success rate on held-out scenarios, against 74.2% for scripted gaze and 34.5% for passive perception, and came within 4.6 points of a privileged oracle. The second result is the practical one: the navigation policies, unchanged, could steer quadruped locomotion policies in physics simulation, suggesting the representation transfers across embodiments rather than baking in a camera rig. Everything here is simulation, so no hardware claim follows.
Source: arXiv:2609.17628.
Vera Rubin debuts in MLPerf Inference
NVIDIA published MLPerf Inference v6.1 results on 16 September with a first preview submission from its Vera Rubin NVL72 system: up to 3.7x higher throughput than GB300 NVL72 on Qwen3-VL across offline, server and interactive scenarios using vLLM with Dynamo, and up to 2.5x on DeepSeek-R1 with TensorRT-LLM. A separate GB300 NVL72 submission across four racks and 288 GPUs is reported at 99% scaling efficiency, and NVIDIA attributes up to 1.6x of the gain over its v6.0 submissions to software changes alone. Treat them as vendor submissions to a peer-reviewed division, with the qualifiers attached.
The robotics connection is indirect but real. Qwen3-VL belongs to the family of vision-language backbones adapted into vision-language-action policies, so throughput per rack sets the price of the datacenter half of a robot learning loop: synthetic data generation, rollout scoring, policy evaluation, fleet retraining. The robot itself runs on embedded compute, closer to the choice in our Jetson Orin Nano and Orin NX comparison.
Source: NVIDIA blog, MLCommons.
rosbag2 gets a dynamic recorder
JuanDanielSG published dynrec on 16 September, a recorder that can change which topics it records while running. The limitation is in rosbag2 itself: rosbag2_transport::Recorder fixes its topic set at construction from RecordOptions, so changing the set stops and restarts the writer, tears down every subscription and closes the bag, losing messages on unrelated topics and starting a new file.
dynrec keeps one continuous MCAP stream. A topic dropped and re-added becomes a sparse channel with a gap, which MCAP supports natively and ros2 bag play, mcap info and Foxglove all handle. It writes through rosbag2_cpp::Writer, so the output is a standard bag and only the control plane differs. Event topics mark when a topic was added, removed, paused or resumed. Compression is not implemented yet, and the project is days old, with a service API and three clients documented at juandanielsg.github.io. It targets Jazzy, Kilted and Rolling, and pairs with our guide to topics, services and actions.
Source: Open Robotics Discourse, repository.
Quick Bites
- The ROS medical community thread gathers teams running ROS in clinical devices. Vexev reports a 115-patient feasibility study for its 8 degree-of-freedom ultrasound robot at a 94% scan completion rate, and names the open questions: validation with software of unknown provenance, ROS in a software bill of materials, over-the-air updates for medical hardware. Company figures, from a November 2025 release.
- ros2-apt-source moved to v1.3.0, adding Fedora support and nothing else. If your deploy scripts pin 1.2.0, bump them. ROS Discourse
- Recordings of the ICRA 2026 keynotes, plenaries, panels and tutorials in Vienna are online, including Ken Goldberg on agentic coding, Barbara Mazzolai on bioinspired frugal robotics and Roland Siegwart on omnidirectional aerial flight. Robohub, IEEE TV
- arXiv:2609.17540, accepted at ICDL 2026, transfers tacit human judgments about grasp quality to a robot using a vision-language model as a semi-automated supervisor plus a lightweight predictor over tactile and force time series. Three deformable objects and a 25-participant study; the setup is small, the idea of anchoring subjective criteria with a few annotated trials is not.
Background reading
The explainers behind today's stories, if you want the fundamentals first.
How Nav2 works: planners, controllers, costmaps and behavior trees
Nav2 is the ROS 2 navigation stack: a behavior tree driving planner and controller servers over costmaps, with lifecycle nodes and recovery actions.
How to use rosbag2 to record and replay ROS 2 bags
rosbag2 captures ROS 2 topics, services and clock data into bags you can replay later. How recording, inspection, compression and playback work in ros2 bag.
Robot Model SOTA Now Ships With a Nationality Qualifier
Two open weight robot models landed the same week, both citing benchmarks that no longer separate them. The differentiator has moved to adaptation and control.
Related reading
Robot ID cards, weight space and drone noise
China drafts a lifetime ID code for every robot it builds, ros2_control ships Lyrical Luth breaking changes, and drone noise reaches the zoning board.
Helix 2.5, OpenArm, Arm capability levels
Figure's Helix 2.5 works in 30 homes it has never seen, an open humanoid arm ships CAD and ROS 2 packages, and Arm maps the physical AI stack.
Robot ID codes and patrol robots
China drafts a lifetime ID code for every robot it makes, Ring launches a patrol drone and security rover, and LiveKit bridges ROS 2 graphs over WebRTC.