This system uses parallel task management to independently control the upper and lower body movements, ensuring synchronized and dynamic motion. Servo movements are smoothed with step delays, incorporating acceleration and deceleration adjustments for more natural motion.
Version 2.1 (left) Version 1.0 (right)
Key Features:
- Parallel Control: Independently manages upper and lower body movements.
- Smooth Motion: Servo movements are gradually slowed and smoothed with adjustable delays for acceleration and deceleration.
- Modular Design: The object-oriented programming (OOP) structure abstracts parallel servo steps and organizes servos into logical body part groups (e.g., leg, legs, arm, arms), simplifying control and improving code maintainability.
Components:
- ESP32-WROOM-32D
- x12 MG90S Metal Gear Micro Servos
- Adafruit 16-Channel 12-bit PWM/Servo Driver (I2C)
- MPU-6050 Accelerometer and Gyroscope (I2C)
- 6V Power Supply for Servo Driver
- 3.3V Power Supply for Servo Driver logic, MPU-6050 logic, and ESP32
Key Features:
- Wireless Communication: Utilizes ESP-NOW for low-latency, reliable communication between the remote control and the robot.
- Skid Steering Control: Implements skid-steering logic using data from dual joysticks on the remote control.
- Support for Heavy Loads: Equipped with 4 support wheels to distribute weight, reduce strain, and ensure stable heavy load handling.
RoboCar and Remote Control
Components:
- x2 ESP32-WROOM-32D
- L298N Dual H-Bridge Motor Driver
- x2 DC Gearbox Motor "TT Motor"
- x2 Dual-Axis Joystick Module
- 3.3V, 5V, and 9V Power Supplies
RoboCar Schematic and Remote Control Schematic
The IoT system employs a centralized architecture with a single server managing communication and control for multiple ESP32 clients. It uses Wi-Fi for seamless connectivity and WebSocket for low-latency, real-time bidirectional communication, ensuring efficient command execution. Additional communication protocols include Bluetooth Low Energy (BLE) and ESP-NOW, providing versatile and efficient options for data exchange.
- Web Interface Clients initiate commands via a user-friendly interface.
- ESP32 Server acts as a central controller, hosting the web interface and relaying commands (JSON) to the appropriate ESP32 clients.
- ESP32 Clients execute hardware-specific actions based on commands received from the server.