Skip to content

Latest commit

 

History

History

README.md

rclnodejs Tutorials

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

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

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

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

🚀 Advanced Communication

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.

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

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

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

🔍 Introspection & Debugging

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.