|
Smart Camera ESP32
An AI-driven, real-time Sentry Turret platform leveraging asynchronous I/O and computer vision to deliver high-precision autonomous motion tracking on resource-constrained embedded hardware.
|
Handles logic for object detection and movement calculations. More...
#include <controller.h>
Public Member Functions | |
Lifecycle Management | |
| Controller (BaseMovementManager &movement_manager, BaseDetectionModule &detection_module, Joystick &joystick, Camera &camera) | |
| Construct a new Controller object. | |
| ~Controller () | |
| Destroy the Controller object. | |
Core Execution | |
| void | run () |
| Main processing cycle for the turret system. | |
| const std::tuple< MoveX, MoveY > | user_mode () const |
Handles logic for object detection and movement calculations.
The Controller implements a State-Driven architecture. It acts as the bridge between the Computer Vision pipeline and the physical servos.
|
inline |
Construct a new Controller object.
| movement_manager | Reference to the movement implementation. |
| detection_module | Reference to the detection implementation. |
| joystick | Reference to the Joystick input handler. |
| camera | Reference to the Camera object. |
AI_MODE upon initialization.
|
inline |
Destroy the Controller object.
Ensures the turret is safely parked and motor signals are neutralized.
| void Controller::run | ( | ) |
Main processing cycle for the turret system.
This method should be called inside the primary loop() of the application.
SystemControl state._joystick for X/Y offsets._movement_manager.move()._camera._detection_module.THIS is my problem and I need to find a way to solve it, too tired though :X