|
1 | 1 | # rclnodejs - The ROS 2 Client Library for JavaScript |
2 | 2 |
|
3 | | -[](https://www.npmjs.com/package/rclnodejs) [](https://coveralls.io/github/RobotWebTools/rclnodejs?branch=develop) [](https://www.npmjs.com/package/rclnodejs) [](https://github.com/RobotWebTools/rclnodejs/blob/develop/LICENSE) [](https://nodejs.org/en/download/releases/) [](https://www.npmjs.com/package/rclnodejs) [](https://github.com/prettier/prettier) |
| 3 | +[](https://www.npmjs.com/package/rclnodejs) |
| 4 | +[](https://www.npmjs.com/package/rclnodejs) |
| 5 | +[](https://github.com/RobotWebTools/rclnodejs/stargazers) |
| 6 | +[](https://coveralls.io/github/RobotWebTools/rclnodejs?branch=develop) |
| 7 | +[](https://nodejs.org/en/download/releases/) |
| 8 | +[](https://www.npmjs.com/package/rclnodejs) |
4 | 9 |
|
5 | | -| **ROS Distro\*** | **Status** | |
6 | | -| :----------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | |
7 | | -| Rolling<br>Kilted<br>Jazzy<br>Humble | [](https://github.com/RobotWebTools/rclnodejs/actions/workflows/linux-x64-push-test.yml?query=branch%3Adevelop)<br>[](https://github.com/RobotWebTools/rclnodejs/actions/workflows/linux-arm64-push-test.yml?query=branch%3Adevelop)<br>[](https://github.com/RobotWebTools/rclnodejs/actions/workflows/windows-push-test.yml?query=branch%3Adevelop)<br>[](https://github.com/RobotWebTools/rclnodejs/actions/workflows/linux-x64-asan-test.yml?query=branch%3Adevelop) | |
8 | | - |
9 | | -> **Note:** Supported ROS 2 distributions include Humble, Jazzy, Kilted, and Rolling. |
| 10 | +| **ROS 2 Distro** | **CI Status** | |
| 11 | +| :---: | :---: | |
| 12 | +| [](https://www.ros.org/) | [](https://github.com/RobotWebTools/rclnodejs/actions/workflows/linux-x64-push-test.yml?query=branch%3Adevelop)<br>[](https://github.com/RobotWebTools/rclnodejs/actions/workflows/linux-arm64-push-test.yml?query=branch%3Adevelop)<br>[](https://github.com/RobotWebTools/rclnodejs/actions/workflows/windows-push-test.yml?query=branch%3Adevelop)<br>[](https://github.com/RobotWebTools/rclnodejs/actions/workflows/linux-x64-asan-test.yml?query=branch%3Adevelop) | |
10 | 13 |
|
11 | 14 | **rclnodejs** is a Node.js client library for [ROS 2](https://www.ros.org/) that provides comprehensive JavaScript and TypeScript APIs for developing ROS 2 solutions. |
12 | 15 |
|
| 16 | +**Key features:** Topics, Services, Actions, Parameters, Lifecycle Nodes, TypeScript support, RxJS Observables, Electron integration, and prebuilt binaries for Linux x64/arm64. |
| 17 | + |
13 | 18 | ```javascript |
14 | 19 | const rclnodejs = require('rclnodejs'); |
15 | 20 | rclnodejs.init().then(() => { |
@@ -229,15 +234,15 @@ npm run generate-messages-idl |
229 | 234 |
|
230 | 235 | ## Performance Benchmarks |
231 | 236 |
|
232 | | -Benchmark results for 1000 iterations with 1024KB messages (Ubuntu 24.04.3 WSL2, i7-1185G7): |
233 | | - |
234 | | -These numbers are workload- and environment-specific. See [benchmark/README.md](./benchmark/README.md) for the full setup and methodology. |
| 237 | +Benchmark results for 1000 iterations with 1024 KB messages (Ubuntu 24.04 WSL2, i7-1185G7): |
235 | 238 |
|
236 | 239 | | Library | Topic (ms) | Service (ms) | |
237 | | -| ----------------------- | ---------- | ------------ | |
238 | | -| **rclcpp (C++)** | 168 | 627 | |
239 | | -| **rclnodejs (Node.js)** | 744 | 927 | |
240 | | -| **rclpy (Python)** | 1,618 | 15,380 | |
| 240 | +| ----------------------- | ---------: | -----------: | |
| 241 | +| **rclcpp** (C++) | 168 | 627 | |
| 242 | +| **rclnodejs** (Node.js) | 744 | 927 | |
| 243 | +| **rclpy** (Python) | 1,618 | 15,380 | |
| 244 | + |
| 245 | +These numbers are workload- and environment-specific. See [benchmark/README.md](./benchmark/README.md) for the full setup and methodology. |
241 | 246 |
|
242 | 247 | ## Contributing |
243 | 248 |
|
|
0 commit comments