Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:atoader:mircea.braguta [2026/05/25 08:04]
mircea.braguta
pm:prj2026:atoader:mircea.braguta [2026/05/25 08:07] (current)
mircea.braguta
Line 1: Line 1:
-====== Tracker Turret ======+====== Tracker Turret ======
  
-## ===== Introducere =====+===== Introducere =====
  
 Tracker Turret este un sistem embedded capabil să detecteze și să urmărească automat o persoană folosind procesare video în timp real și control hardware al unei turete motorizate. Proiectul combină algoritmi de computer vision, comunicație serială și control hardware low-level într-o platformă integrată. Tracker Turret este un sistem embedded capabil să detecteze și să urmărească automat o persoană folosind procesare video în timp real și control hardware al unei turete motorizate. Proiectul combină algoritmi de computer vision, comunicație serială și control hardware low-level într-o platformă integrată.
Line 25: Line 25:
 Elementul de noutate al proiectului constă în integrarea unui sistem Linux embedded capabil de procesare video avansată cu un microcontroler dedicat controlului hardware în timp real, utilizând mai multe protocoale hardware și tehnici low-level studiate în laborator. Elementul de noutate al proiectului constă în integrarea unui sistem Linux embedded capabil de procesare video avansată cu un microcontroler dedicat controlului hardware în timp real, utilizând mai multe protocoale hardware și tehnici low-level studiate în laborator.
  
---- +===== Descriere generală =====
- +
-===== Descriere generală =====+
  
 Sistemul este împărțit în două componente principale: Sistemul este împărțit în două componente principale:
Line 34: Line 32:
 * modulul de control hardware * modulul de control hardware
  
-## Modulul de procesare video+==== Modulul de procesare video
  
 Procesarea video este realizată pe placa Avnet MaaXBoard i.MX8M care rulează Linux embedded. Pe aceasta rulează un program Python bazat pe OpenCV responsabil pentru: Procesarea video este realizată pe placa Avnet MaaXBoard i.MX8M care rulează Linux embedded. Pe aceasta rulează un program Python bazat pe OpenCV responsabil pentru:
Line 52: Line 50:
 Comenzile sunt transmise prin UART către microcontroler. Comenzile sunt transmise prin UART către microcontroler.
  
---- +==== Modulul de control hardware
- +
-## Modulul de control hardware+
  
 Controlul hardware este realizat folosind Arduino Nano ESP32 programat folosind ESP-IDF și drivere hardware low-level. Controlul hardware este realizat folosind Arduino Nano ESP32 programat folosind ESP-IDF și drivere hardware low-level.
Line 84: Line 80:
 * SEARCHING -> atunci când nu există țintă detectată * SEARCHING -> atunci când nu există țintă detectată
  
---- +===== Schema bloc =====
- +
-===== Schema bloc =====+
  
 * Cameră USB -> MaaXBoard i.MX8M * Cameră USB -> MaaXBoard i.MX8M
Line 97: Line 91:
 * OLED SSD1306 -> Afișare stare sistem * OLED SSD1306 -> Afișare stare sistem
  
---- +===== Arhitectura sistemului =====
- +
-===== Arhitectura sistemului =====+
  
-## Fluxul complet de funcționare+==== Fluxul complet de funcționare
  
 1. Camera transmite imagini către MaaXBoard. 1. Camera transmite imagini către MaaXBoard.
Line 113: Line 105:
 Acest proces rulează continuu în timp real. Acest proces rulează continuu în timp real.
  
----+===== Implementare hardware =====
  
-===== Implementare hardware ===== +==== Stadiul actual al implementării hardware
- +
-## Stadiul actual al implementării hardware+
  
 În momentul actual au fost implementate și validate: În momentul actual au fost implementate și validate:
Line 134: Line 124:
 * actualizare display * actualizare display
  
---- +===== Componente hardware =====
- +
-===== Componente hardware =====+
  
 ^ Componentă ^ Rol în proiect ^ ^ Componentă ^ Rol în proiect ^
Line 149: Line 137:
 | Convertor UART | Debugging și testare comunicație | | Convertor UART | Debugging și testare comunicație |
  
---- +===== Conexiuni hardware =====
- +
-===== Conexiuni hardware =====+
  
-## UART MaaXBoard -> ESP32+==== UART MaaXBoard -> ESP32
  
 ^ MaaXBoard ^ ESP32 ^ Funcție ^ ^ MaaXBoard ^ ESP32 ^ Funcție ^
Line 164: Line 150:
 * comenzi text de forma C0/C1/C2/C3 * comenzi text de forma C0/C1/C2/C3
  
---- +==== Servo motor
- +
-## Servo motor+
  
 ^ Servo ^ ESP32 ^ ^ Servo ^ ESP32 ^
Line 175: Line 159:
 Servo motorul este controlat folosind PWM hardware la 50Hz. Servo motorul este controlat folosind PWM hardware la 50Hz.
  
---- +==== Display OLED SSD1306
- +
-## Display OLED SSD1306+
  
 ^ OLED ^ ESP32 ^ ^ OLED ^ ESP32 ^
Line 187: Line 169:
 Display-ul utilizează protocolul I2C și a fost detectat la adresa 0x3C. Display-ul utilizează protocolul I2C și a fost detectat la adresa 0x3C.
  
----+===== Functionalități utilizate din laborator =====
  
-===== Functionalități utilizate din laborator ===== +==== PWM
- +
-## PWM+
  
 PWM-ul hardware este utilizat pentru controlul servo motorului. PWM-ul hardware este utilizat pentru controlul servo motorului.
Line 201: Line 181:
 * utilizare eficientă a hardware-ului * utilizare eficientă a hardware-ului
  
---- +==== UART
- +
-## UART+
  
 UART este utilizat pentru comunicația dintre MaaXBoard și ESP32. UART este utilizat pentru comunicația dintre MaaXBoard și ESP32.
Line 213: Line 191:
 * latență redusă * latență redusă
  
---- +==== I2C
- +
-## I2C+
  
 I2C este utilizat pentru controlul display-ului OLED SSD1306. I2C este utilizat pentru controlul display-ului OLED SSD1306.
Line 225: Line 201:
 * compatibilitate ridicată * compatibilitate ridicată
  
---- +==== Timere hardware
- +
-## Timere hardware+
  
 Timerele hardware sunt utilizate pentru: Timerele hardware sunt utilizate pentru:
Line 235: Line 209:
 * sincronizarea task-urilor FreeRTOS * sincronizarea task-urilor FreeRTOS
  
---- +===== Implementare software =====
- +
-===== Implementare software =====+
  
-## Stadiul actual al implementării software+==== Stadiul actual al implementării software
  
 Au fost implementate:​ Au fost implementate:​
Line 252: Line 224:
 * task-uri FreeRTOS pentru paralelizare * task-uri FreeRTOS pentru paralelizare
  
---- +===== Biblioteci utilizate =====
- +
-===== Biblioteci utilizate =====+
  
 ^ Bibliotecă ^ Rol ^ ^ Bibliotecă ^ Rol ^
Line 265: Line 235:
 | FreeRTOS | Task scheduling | | FreeRTOS | Task scheduling |
  
---- +===== Motivarea alegerii tehnologiilor =====
- +
-===== Motivarea alegerii tehnologiilor =====+
  
-## OpenCV+==== OpenCV
  
 OpenCV oferă: OpenCV oferă:
Line 278: Line 246:
 * integrare simplă cu Python * integrare simplă cu Python
  
-## ESP-IDF+==== ESP-IDF
  
 ESP-IDF permite: ESP-IDF permite:
Line 287: Line 255:
 * utilizarea driverelor hardware oficiale * utilizarea driverelor hardware oficiale
  
-## UART+==== UART
  
 UART a fost ales deoarece: UART a fost ales deoarece:
Line 296: Line 264:
 * oferă latență mică * oferă latență mică
  
---- +===== Optimizări realizate =====
- +
-===== Optimizări realizate =====+
  
 Pentru creșterea performanței au fost realizate următoarele optimizări:​ Pentru creșterea performanței au fost realizate următoarele optimizări:​
Line 309: Line 275:
 * reducerea latenței UART prin scăderea baudrate-ului și stabilizarea comunicației * reducerea latenței UART prin scăderea baudrate-ului și stabilizarea comunicației
  
---- +===== Validare și testare =====
- +
-===== Validare și testare =====+
  
 Sistemul a fost validat prin: Sistemul a fost validat prin:
Line 329: Line 293:
 * funcționarea în timp real a sistemului * funcționarea în timp real a sistemului
  
---- +===== Calibrare =====
- +
-===== Calibrare =====+
  
 Calibrarea sistemului a fost realizată prin: Calibrarea sistemului a fost realizată prin:
Line 343: Line 305:
 Scopul calibrării a fost obținerea unei mișcări stabile și reducerea oscilațiilor sistemului. Scopul calibrării a fost obținerea unei mișcări stabile și reducerea oscilațiilor sistemului.
  
---- +===== Structura software =====
- +
-===== Structura software =====+
  
 Software-ul este împărțit în: Software-ul este împărțit în:
  
-## MaaXBoard Linux+==== MaaXBoard Linux
  
 * captură video * captură video
Line 356: Line 316:
 * generare comenzi UART * generare comenzi UART
  
-## ESP32+==== ESP32
  
 * task UART * task UART
Line 366: Line 326:
 Componentele comunică folosind un protocol UART simplu bazat pe comenzi text. Componentele comunică folosind un protocol UART simplu bazat pe comenzi text.
  
---- +===== Demonstrarea funcționalității =====
- +
-===== Demonstrarea funcționalității =====+
  
 Pentru demonstrarea proiectului vor fi prezentate: Pentru demonstrarea proiectului vor fi prezentate:
Line 384: Line 342:
 * demonstrație video a proiectului * demonstrație video a proiectului
  
---- +===== Concluzii =====
- +
-===== Concluzii =====+
  
 Tracker Turret demonstrează integrarea cu succes a: Tracker Turret demonstrează integrarea cu succes a:
pm/prj2026/atoader/mircea.braguta.1779685488.txt.gz · Last modified: 2026/05/25 08:04 by mircea.braguta
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0