rclnodejs/tutorials at develop ยท RobotWebTools/rclnodejs

This directory contains comprehensive tutorials explaining various ROS 2 features and concepts using rclnodejs. Each tutorial provides practical examples and best practices for building robust ROS 2 applications in JavaScript/Node.js.

Getting Started

If you're new to ROS 2, start with the Basic Concepts tutorial to understand fundamental communication patterns, then explore other tutorials based on your specific needs.

Available Tutorials

๐Ÿ“š Fundamentals

ROS 2 Basic Concepts

Introduction to fundamental ROS 2 communication patterns: Topics (publish/subscribe) and Services (request/response). Essential for beginners to understand the core building blocks of ROS 2 applications.

๐Ÿ”ง Node Management

Lifecycle Nodes

Learn about managed nodes with state machines for controlled startup, shutdown, and error handling. Covers lifecycle states, transitions, and implementing robust, production-ready nodes.

Parameter Service

Dynamic configuration management using ROS 2 parameters. Covers parameter declaration, validation, runtime updates, and callbacks for building configurable applications.

๐Ÿš€ Advanced Communication

ROS 2 Actions

Implement long-running, cancellable tasks with progress feedback using the ROS 2 action system. Learn to create action servers and clients for complex robot behaviors.

Service Introspection

Debug and monitor service interactions in real-time. Learn to observe service calls, responses, and performance metrics for troubleshooting distributed systems.

Content Filtering Subscription

Reduce network traffic and improve performance by filtering messages at the DDS middleware level using SQL-like expressions. Essential for high-frequency data streams.

Observable Subscriptions with RxJS

Use RxJS Observables for reactive programming with ROS 2 subscriptions. Apply operators like throttleTime(), combineLatest(), and filter() to process message streams declaratively.

๐Ÿ” Introspection & Debugging

Type Description Service

Introspect message and service types used by nodes at runtime. Learn to query type definitions, field descriptions, and dependencies for better system understanding.

Additional Resources


These tutorials are part of the rclnodejs project. For the latest updates and more examples, visit the GitHub repository.