RoboDSL

Domain-Specific Language for GPU-Accelerated Robotics

RoboDSL Developer Guide

Welcome to the RoboDSL developer guide! This document provides comprehensive information about the project's architecture, code organization, and development workflow to help you understand and contribute effectively.

Table of Contents

  1. Project Overview
  2. Architecture
  3. Core Components
  4. Data Flow
  5. Build System Integration
  6. Module Reference
  7. CLI Module
  8. Parser Module
  9. Generator Module
  10. Template System
  11. Code Organization
  12. Source Code Structure
  13. Build System
  14. Testing Framework
  15. Development Workflow
  16. Environment Setup
  17. Building from Source
  18. Running Tests
  19. Debugging
  20. Extending RoboDSL
  21. Adding New Node Types
  22. Custom Code Generators
  23. Template Customization
  24. Performance Optimization
  25. Code Generation
  26. Runtime Performance
  27. Memory Management

Project Overview

RoboDSL is a domain-specific language designed for building GPU-accelerated robotics applications. It provides a high-level, declarative syntax for defining robot behaviors, data processing pipelines, and hardware interfaces.

Key Features

  • Declarative Syntax: Define robot behaviors and data flows in a clean, readable format
  • GPU Acceleration: Seamless integration with CUDA for high-performance computing
  • Modular Architecture: Easily extendable with custom components and templates
  • Cross-Platform: Works on Linux, Windows, and macOS with consistent behavior
  • ROS2 Integration: Native support for ROS2 nodes and communication patterns