This is an old revision of the document!


RoboTracker - Sistem Autonom de Navigație și Tracking

1. Introducere

RoboTracker este un robot mobil 4WD construit în jurul platformei Arduino Uno, proiectat să demonstreze integrarea senzorilor ultrasonici cu algoritmi de control în timp real.

  • Scopul: Realizarea unui vehicul capabil să mențină o distanță fixă față de un obiect (auto-tracking) și să execute manevre de precizie (cum ar fi cercul cu diametrul de 1m).
  • Ideea de bază: Combinarea controlului manual prin interfață Serială (UART) cu sisteme automate de siguranță de tip „hardware interrupt” pentru evitarea coliziunilor.
  • Utilitate: Proiectul servește ca bază pentru studiul sistemelor de asistență la conducere (ADAS), demonstrând cum un microcontroler poate prioritiza siguranța (frânarea de urgență) peste comenzile utilizatorului.

2. Descriere generală

Proiectul este organizat într-o structură ierarhică:

  • Modulul de Percepție: Utilizează senzorul HC-SR04 pentru a mapa distanța până la cel mai apropiat obiect.
  • Modulul de Control (FSM): O mașină de stări implementată în software care decide comportamentul robotului (INAINTE, INAPOI, CERC, TRACKING).
  • Modulul de Siguranță: O rutină de întrerupere hardware (ISR) care monitorizează pinul de Echo și poate opri motoarele independent de fluxul principal al programului.
  • Modulul de Execuție: Driverul L298N care traduce semnalele PWM de la Arduino în mișcare fizică prin cele 4 motoare DC.

3. Hardware Design

Listă de componente

  • Microcontroler: Arduino UNO R3
  • Modul Bluetooth: HC-05
  • Șasiu: 4 x motoare DC 5V cu reductor și roți de cauciuc
  • Driver Motoare: L298N Dual Bridge
  • Senzori distanță: 2 x HC-SR04
  • Alimentare: 2 x acumulatori Samsung 18650 Li-ion (7.4V serie)
  • Monitorizare: Modul nivel baterie 2S (8.4V)
  • Interacțiune: Întrerupător cu cheie, switch MTS-102, modul laser

Schemă Bloc

 Schema Bloc RoboTracker

4. Software Design

Mediu de dezvoltare

  • PlatformIO (Visual Studio Code Core)
  • Framework: Arduino

Algoritmi și Structuri

  • Mașina de Stări (Finite State Machine): Robotul navighează între 5 stări (STAI, INAINTE, INAPOI, CERC, TRACKING) folosind comenzi primite prin UART (Serial Monitor).
  • Pin Change Interrupt (PCINT): Spre deosebire de funcția standard pulseIn() care blochează procesorul, am configurat registrele PCICR și PCMSK2 pentru a detecta ecoul ultrasonic asincron.
  • Formula distanței utilizată: $distanta = durata\_puls / 58$
  • Algoritm de Tracking: Implementat sub forma unui controller de tip „dead-zone”:
    • $d < 7cm \rightarrow$ Retragere (INAPOI)
    • $7cm \le d \le 14cm \rightarrow$ Menținere (STAI)
    • $14cm < d < 25cm \rightarrow$ Urmărire (INAINTE)

5. Rezultate Obținute

  • Navigație: Robotul execută un cerc stabil cu diametrul de aproximativ 1m folosind un coeficient de viteză diferențială de 0.68.
  • Siguranță: Timpul de reacție al frânei de urgență la detectarea unui obstacol este de ordinul microsecundelor, prevenind impactul.
  • Tracking: Robotul „urmărește” cu succes un obiect, menținând zona de confort între 7 și 14 cm.

6. Concluzii

Proiectul RoboTracker a demonstrat că un sistem complex de robotică poate fi controlat eficient pe un hardware limitat (ATmega328p) dacă se folosesc întreruperile hardware în locul polling-ului. Cea mai mare provocare a fost sincronizarea motoarelor, rezolvată prin maparea corectă a pinilor PWM (3 și 9) pentru a permite o plecare liniară a șasiului 4WD.

7. Jurnal de Progres

  • Săptămâna 1: Asamblare șasiu și cablare driver L298N.
  • Săptămâna 2: Implementare logică UART și mașină de stări de bază.
  • Săptămâna 3: Rezolvare probleme sincronizare
  • Săptămâna 4: Configurare registre PCICR pentru întreruperi hardware pe senzorul ultrasonic. Calibrare diametru cerc 1m.
  • Săptămâna 5: Implementare mod Tracking și finisare documentație.

8. Bibliografie/Resurse

  • Datasheet ATmega328p
  • HC-SR04 User Guide - Specificații timpi de propagare.
pm/prj2026/bianca.popa1106/casian.drugea.1778357172.txt.gz · Last modified: 2026/05/09 23:06 by casian.drugea
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