Robotics

Rclnodejs 2.0.0 beta — ROS 2 Lyrical (beta) and Node.js 26 support

First preview of 2.x line with Node.js 26 and rosocket for browser-based ROS 2.

Deep Dive

The rclnodejs team has released version 2.0.0-beta.0, the first preview of the 2.x line for the Node.js client library of ROS 2. This release adds first-class support for the upcoming ROS 2 Lyrical Luth distribution on Ubuntu 26.04, alongside existing distros like Humble, Jazzy, Kilted, and Rolling. It also supports Node.js 26.x, with Linux x64 and arm64 prebuilt binaries so npm install works without a local toolchain. This update modernizes the library for the latest ROS 2 ecosystem and Node.js runtime.

The standout new feature is rosocket—a lightweight WebSocket bridge that lets web browsers communicate directly with ROS 2 topics and services using only native WebSocket and JSON APIs. No rosbridge or roslibjs library is required; a browser tab can subscribe and publish with simple URL conventions like ws://host:port/topic/name. The release also includes Electron demos for cross-platform desktop applications, enabling rich HTML/CSS/Three.js UIs with real ROS 2 nodes running in the main process. These demos cover topics, a car controller, a manipulator, and a turtle TF2 visualizer.

Key Points
  • Supports ROS 2 Lyrical Luth on Ubuntu 26.04 and Node.js 26 with prebuilt binaries for Linux x64 and arm64.
  • New rosocket WebSocket bridge enables browser-side pub/sub and service calls using only native WebSocket and JSON APIs.
  • Includes Electron demos for cross-platform desktop UIs with real ROS 2 nodes, featuring a car controller, manipulator, and TF2 visualizer.

Why It Matters

Enables developers to control ROS 2 robots directly from browsers and modern Node.js runtimes—faster prototyping.