Keyboard shortcuts

Press ← or β†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Documentation Overview

πŸ“š About This Documentation

This documentation covers the complete miniROS-rs robotics middleware system, built with the philosophy of maximum robotics performance, minimum complexity.

πŸ› οΈ Local Development

Prerequisites

# Install mdbook
cargo install mdbook

Build and Serve

cd docs

# Serve with live reload (recommended for development)
mdbook serve --open

# Or just build static files
mdbook build

The documentation will be available at http://localhost:3000

πŸ“ Documentation Structure

Core Concepts

User Guide

Package Development

Advanced Topics

Development

🎯 Key Features Documented

Focused Robotics Middleware

  • Core ROS2 Patterns: Pub/Sub, Services, Actions, Parameters
  • 3D Visualization: Built-in Rerun integration
  • Multiple Transports: DDS, TCP, UDP support
  • Python Compatibility: ROS2 rclpy-compatible API
  • High Performance: Rust-based async implementation

Real-World Examples

  • TurtleBot Control System: Complete robotics package
  • Multi-Language Integration: Rust + Python workflows
  • Performance Benchmarks: Production-ready optimizations
  • Package Management: Professional development patterns

πŸ“Š Documentation Coverage

The miniROS-rs documentation provides:

Coverage AreaContent
Examples8 progressive tutorials from basic to complete systems
API ReferenceComplete coverage of all public APIs
LanguagesRust and Python with ROS2 compatibility
VisualizationBuilt-in 3D visualization with Rerun
ArchitectureMulti-transport system design
PerformanceBenchmarks and optimization guides
Package DevelopmentReal-world package examples
CLI ToolsComprehensive tooling documentation

πŸš€ Getting Started Paths

For Beginners

  1. Introduction - Understand what miniROS-rs is
  2. Quick Start - Build your first system
  3. Examples - Learn step by step
  4. Package Examples - Real-world implementations

For ROS2 Users

  1. Core Concepts - Architecture differences
  2. Python Bindings - Familiar rclpy API
  3. DDS Transport - ROS2 compatibility
  4. Package Examples - Migration patterns

For System Architects

  1. Transport Architecture - Multi-transport design
  2. Performance Optimization - Production tuning
  3. Package Examples - System design patterns
  4. API Reference - Complete system interfaces

For Developers

  1. CLI Usage Guide - Development tools
  2. Scripts Guide - Build automation
  3. CI/CD Automation - Development workflow
  4. API Reference - Implementation details

🎯 Best Practices Documented

Development Workflow

  • Smart CLI Tools: Dual Rust/Python CLI with intelligent routing
  • Package Structure: Modular design patterns
  • Testing Strategy: Unit and integration testing
  • Performance Monitoring: Built-in benchmarking

Production Deployment

  • Multi-Transport Setup: DDS, TCP, UDP configurations
  • Safety Patterns: Emergency stops and validation
  • System Integration: Cross-language communication
  • Monitoring: Health checks and diagnostics

Code Quality

  • Type Safety: Rust type system benefits
  • Error Handling: Robust error patterns
  • Async Programming: High-performance async patterns
  • Cross-Language: Seamless Rust-Python integration

✏️ Contributing to Documentation

Content Guidelines

  1. Complete Coverage: Document all features and APIs
  2. Progressive Learning: Start simple, build complexity
  3. Real Examples: Use actual working code
  4. ROS2 Compatibility: Emphasize familiar patterns
  5. Performance Focus: Include benchmarks and tips

Writing Style

  • Clear and Concise: Easy to understand explanations
  • Code-Heavy: Show don’t just tell
  • Beginner Friendly: Assume basic robotics knowledge only
  • Production Ready: Include real-world considerations

Philosophy: Maximum robotics performance, minimum complexity πŸ€–πŸ“š