Skip to content

Commit 16d62f5

Browse files
authored
Add README for tutorials for indexing (#1272)
This PR adds a comprehensive README file for the tutorials directory to improve navigation and understanding of available rclnodejs tutorials. It also updates an image reference to use a local resource path instead of an external URL. - Creates a structured index of all available tutorials with descriptions and categories - Updates image reference in content-filtering tutorial to use local resource path - Provides clear navigation structure for users learning ROS 2 with rclnodejs Fix: #1271
1 parent 3220a56 commit 16d62f5

File tree

3 files changed

+57
-1
lines changed

3 files changed

+57
-1
lines changed

tutorials/README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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)._

tutorials/content-filtering-subscription.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ The DDS middleware evaluates filter expressions for each published message and o
2525

2626
The following animation illustrates how content filtering works with multiple publishers and a filtered subscriber:
2727

28-
![Content Filtering Animation](https://docs.ros.org/en/kilted/_images/keyed-topics-cft.gif)
28+
![Content Filtering Animation](resource/keyed-topics-cft.gif)
2929

3030
_This example shows sensors publishing data, with the controller (subscriber) only receiving messages that match the filter criteria. Note how unfiltered messages are dropped at the DDS level before reaching the subscriber._
3131

5.53 MB
Loading

0 commit comments

Comments
 (0)