|
| 1 | +# rclnodejs Tutorials |
| 2 | + |
| 3 | +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. |
| 4 | + |
| 5 | +## Getting Started |
| 6 | + |
| 7 | +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. |
| 8 | + |
| 9 | +## Available Tutorials |
| 10 | + |
| 11 | +### 📚 Fundamentals |
| 12 | + |
| 13 | +#### [ROS 2 Basic Concepts](ros2-basic-concepts.md) |
| 14 | + |
| 15 | +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. |
| 16 | + |
| 17 | +### 🔧 Node Management |
| 18 | + |
| 19 | +#### [Lifecycle Nodes](lifecycle-nodes.md) |
| 20 | + |
| 21 | +Learn about managed nodes with state machines for controlled startup, shutdown, and error handling. Covers lifecycle states, transitions, and implementing robust, production-ready nodes. |
| 22 | + |
| 23 | +#### [Parameter Service](parameter-service.md) |
| 24 | + |
| 25 | +Dynamic configuration management using ROS 2 parameters. Covers parameter declaration, validation, runtime updates, and callbacks for building configurable applications. |
| 26 | + |
| 27 | +### 🚀 Advanced Communication |
| 28 | + |
| 29 | +#### [ROS 2 Actions](actionlib.md) |
| 30 | + |
| 31 | +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. |
| 32 | + |
| 33 | +#### [Service Introspection](service-introspection.md) |
| 34 | + |
| 35 | +Debug and monitor service interactions in real-time. Learn to observe service calls, responses, and performance metrics for troubleshooting distributed systems. |
| 36 | + |
| 37 | +#### [Content Filtering Subscription](content-filtering-subscription.md) |
| 38 | + |
| 39 | +Reduce network traffic and improve performance by filtering messages at the DDS middleware level using SQL-like expressions. Essential for high-frequency data streams. |
| 40 | + |
| 41 | +### 🔍 Introspection & Debugging |
| 42 | + |
| 43 | +#### [Type Description Service](type-description-service.md) |
| 44 | + |
| 45 | +Introspect message and service types used by nodes at runtime. Learn to query type definitions, field descriptions, and dependencies for better system understanding. |
| 46 | + |
| 47 | +## Additional Resources |
| 48 | + |
| 49 | +- [rclnodejs API Documentation](https://robotwebtools.github.io/rclnodejs/) |
| 50 | +- [ROS 2 Official Documentation](https://docs.ros.org/) |
| 51 | +- [rclnodejs GitHub Repository](https://github.com/RobotWebTools/rclnodejs) |
| 52 | +- [ROS 2 Examples](../example/) |
| 53 | + |
| 54 | +--- |
| 55 | + |
| 56 | +_These tutorials are part of the rclnodejs project. For the latest updates and more examples, visit the [GitHub repository](https://github.com/RobotWebTools/rclnodejs)._ |
0 commit comments