RobotWebTools/rclnodejs
ROS 2 client library for Node.js, with browser integration
解決する問題
JavaScript と TypeScript を使用して ROS 2(Robot Operating System)アプリケーションを開発する方法を提供し、開発者がロボティクスソフトウェアに Node.js エコシステムを活用できるようにします。ロボティクスの高性能要件と Web ベースの言語の柔軟性の間のギャップを埋めます。
仕組み
rclnodejs は ROS 2 のクライアントライブラリとして機能し、Topics、Services、Actions、Parameters などの ROS 2 のコア概念の API を提供します。環境内で見つかった ROS 2 インターフェース(.msg、.srv、.action)の JavaScript バインディングと TypeScript 宣言を自動生成します。また、型付き Web SDK(rclnodejs/web)または軽量 WebSocket ゲートウェイ(rosocket)を介して ROS 2 機能をブラウザに公開するツールも含まれています。
対象者
C++ や Python よりも JavaScript/TypeScript を好むロボティクス開発者、およびロボット管理用のロボット制御インターフェース、Web ベースのダッシュボード、デスクトップアプリ(Electron を使用)の作成者。
ハイライト
- 包括的な ROS 2 サポート: Topics、Services、Actions、Parameters、Lifecycle Nodes の完全な API。
- Web 統合: 型付き SDK または軽量 WebSocket ゲートウェイを介したブラウザベースの制御の組み込みサポート。
- TypeScript ファースト: ROS 2 インターフェースの強力な型付けにより、実行時エラーを削減。
- リアクティブプログラミング: RxJS Observables との統合による宣言的なメッセージ処理パイプライン。
- Electron サポート: Electron と Three.js を使用したクロスプラットフォームのデスクトップ可視化ツールの構築が可能。
- 高性能: ベンチマークでは
rclpyよりも高速で、rclcppと競合します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト