This repository contains the Zephyr RTOS-based port of Wall-E, originally developed using FreeRTOS on the ESP32 platform. The current implementation targets the BeagleConnect Freedom board and demonstrates Zephyr’s flexibility in handling real-time robotics applications.
Wall-E is an autonomous line-following and self-balancing robot designed by the Student Robotics Association at VJTI (SRA-VJTI). It features:
- A TCRT5000-based line-sensing array
- PID-based self-balancing control
- Real-time decision making
- Debug communication via UART
Originally implemented using FreeRTOS on ESP32, this port leverages the modularity of Zephyr RTOS for better portability and system design.
This repository includes key components to enable Wall-E’s functionality on the BeagleConnect Freedom platform:
- Adds support for:
- ADC: Required for the line-sensing array (TCRT5000)
- UART: Used to output debug information and sensor readings
- ADC Driver:
- Used to read analog output from the TCRT5000 sensors
- Enables Wall-E to follow lines based on reflected IR intensity
- UART Interface:
- Provides real-time debug output
- Used to monitor sensor values and control loop behavior
- Example applications provided to test:
- ADC reading and processing
- UART communication for debugging
- Platform-specific initialization and GPIO configuration