Wall-E
Welcome to Wall-E’s comprehensive documentation. This project provides an integrated development environment combining ESP32 firmware, FreeRTOS, and ROS 2 Humble for advanced embedded robotics applications.
The published site is built automatically from the docs/source tree on pushes to main.
Contents
Project Overview
Wall-E is a complete, production-ready workspace for developing intelligent embedded robot systems. It seamlessly integrates:
Modern Robotics: Full ROS 2 Humble support on host systems
Embedded Systems: FreeRTOS-based ESP32 controller firmware
Containerization: Docker Compose for reproducible development environments
Professional Documentation: Comprehensive guides covering all aspects of the system
Development Tools: VS Code integration with IntelliSense and debugging
Core Capabilities
Real-time Sensor Integration
IMU Sensor (MPU6050): 6-axis inertial measurement via I2C
Range Sensor (HC-SR04): Ultrasonic distance measurement with GPIO control
Configurable Publishing: ROS 2 topics with sensor_msgs interface
Distributed Architecture
Host System: ROS 2 development environment in Docker
Embedded Node: FreeRTOS-based ESP32 running micro-ROS client
Network Communication: Reliable UDP messaging through micro-ROS agent
Extensible Design: Easy to add new sensors and publishers
Development Infrastructure
Docker Compose: Multi-service orchestration (workspace + agent)
Build Tools: colcon for packages, ESP-IDF for firmware
Source Control: Git-based version management
Documentation: Sphinx with professional PDF generation
Key Features & Benefits
Production Ready: Complete Docker setup with tested configurations
Well Documented: Comprehensive guides for setup, development, and troubleshooting
Extensible Architecture: Modular design for adding custom sensors and behaviors
Professional Workflow: Docker containers for reproducible development across machines
ROS 2 Integration: Full compatibility with ROS 2 Humble ecosystem
Embedded Security: FreeRTOS best practices with micro-ROS security features
Quick Start
To get started with Wall-E:
Clone the repository and navigate to the workspace
Start the Docker containers:
docker compose up -dBuild packages in the workspace container:
colcon buildBuild and flash the ESP32 firmware
Monitor the micro-ROS agent and ESP32 communication
For detailed instructions, see the Getting Started guide.
System Architecture
Wall-E’s architecture consists of:
Host System: ROS 2 Humble development environment with visualization tools
Middleware: micro-ROS agent for reliable UDP communication
Embedded Controller: FreeRTOS-based ESP32 with sensor interface
Documentation: Complete guides and API references
For a detailed technical overview, see the Architecture documentation.
Technical Stack
Component |
Technology |
|---|---|
Host Robotics Framework |
ROS 2 Humble (Ubuntu 20.04) |
Embedded OS |
FreeRTOS + micro-ROS |
Microcontroller |
ESP32 (Espressif Systems) |
Communication |
UDP via micro-ROS agent |
Build System |
colcon, ESP-IDF v5.0+ |
Documentation |
Sphinx with RTD theme |
Containerization |
Docker & Docker Compose |
Version Control |
Git |
Support & Documentation
This documentation provides:
Getting Started Guide - Setup and initial configuration
ESP32 Controller Documentation - Hardware and firmware details
System Architecture - Design overview and data flow
Troubleshooting Guide - Solutions to common issues
References - IEEE-formatted books and research papers
For additional information, see the project’s GitHub repository.