# šŸ’» Source Code This folder contains the source code for the **Robotic Dog (Quadruped Robot)**. The software is responsible for controlling the robot's locomotion, sensor integration, balancing, and future autonomous navigation. ## Current Platform - **Microcontroller:** ESP32 - **Development Environment:** Arduino IDE - **Programming Language:** C++ > **Note:** The current implementation is based on the ESP32 for rapid prototyping and testing. Once the software is fully validated, the project will be migrated to an **STM32** platform for improved real-time performance and advanced control capabilities. ## Folder Structure ``` Code/ ā”œā”€ā”€ ESP32/ │ └── RoboticDog.ino │ └── README.md ``` ## Current Features - Servo motor control - Basic robot initialization - I²C communication - Sensor testing - Hardware integration - PWM control using PCA9685 ## Planned Features - Walking gait generation - Inverse kinematics - Self-balancing - Sensor fusion - Obstacle detection - Terrain adaptation - Power monitoring - Autonomous navigation - Wireless control - ROS2 integration ## Libraries Used - Wire - Adafruit PWM Servo Driver - Adafruit MPU6050 / MPU6500 - VL53L0X - ESP32 Arduino Core ## Development Roadmap ### Phase 1 – Hardware Bring-up - āœ… ESP32 setup - āœ… Servo driver integration - āœ… Basic servo testing - āœ… Sensor communication ### Phase 2 – Motion Control - 🚧 Servo calibration - 🚧 Standing posture - 🚧 Walking gait - 🚧 Motion optimization ### Phase 3 – Stability - ā³ IMU-based balancing - ā³ Sensor fusion - ā³ Foot contact detection ### Phase 4 – Intelligence - ā³ STM32 migration - ā³ Computer vision - ā³ LiDAR integration - ā³ Autonomous navigation ## Future Repository Structure As the project grows, the source code will be organized as follows: ``` Code/ ā”œā”€ā”€ ESP32/ │ ā”œā”€ā”€ Main/ │ ā”œā”€ā”€ Servo_Control/ │ ā”œā”€ā”€ Sensors/ │ ā”œā”€ā”€ Walking/ │ ā”œā”€ā”€ Balancing/ │ └── Utilities/ │ ā”œā”€ā”€ STM32/ │ ā”œā”€ā”€ Core/ │ ā”œā”€ā”€ Drivers/ │ ā”œā”€ā”€ Middleware/ │ ā”œā”€ā”€ Sensors/ │ ā”œā”€ā”€ Control/ │ └── Navigation/ │ └── README.md ``` --- > **Note:** This codebase is actively under development. New features, optimizations, and hardware support will be added as the project progresses.