Table of Contents

Braț Robotic Autonom pentru X și 0

Introducere

Acest proiect constă în realizarea unui braț robotic de tip Pen Plotter cu 4 grade de libertate (4-DOF), echipat cu un pix ca efector final. Sistemul este capabil să joace fizic X și 0 împotriva unui om pe o tablă verticală, analizând mutările prin intermediul unui algoritm de Computer Vision.

Descriere generală

Arhitectura proiectului este distribuită pe 2 module principale: un modul high-level responsabil cu rularea algoritmilor complecși de viziune și AI (Raspberry Pi) și un modul low-level dedicat controlului fizic și generării semnalelor PWM (microcontrolerul AVR). Cele două comunică bidirecțional printr-o interfață serială.

Schema Bloc a Sistemului:

  1. Modulul de percepție și decizie (Raspberry Pi): O cameră video preia imagini cu tabla de joc. Software-ul procesează imaginea, deduce starea jocului, rulează algoritmul Minimax pentru a găsi mutarea optimă și calculează coordonatele spațiale (Inverse Kinematics).
  2. Interfața de comunicare (Cablu USB): Comenzile de poziționare (unghiurile articulațiilor) sunt transmise sub formă de șiruri de caractere prin protocolul UART over USB. Utilizarea acestei interfețe asigură compatibilitatea nivelurilor logice, protejând nativ porturile GPIO de 3.3V ale Raspberry Pi-ului împotriva tensiunii de 5V specifice microcontrolerului AVR.
  3. Modulul de execuție (Arduino Uno + Sensor Shield V5.0): Arduino citește comanda de pe portul serial și o transformă în semnale PWM.
  4. Modulul de forță (Sursa de Putere 5V 5A): Sursa externă alimentează direct servomotoarele prin blocul cu șuruburi al Sensor Shield-ului. Jumper-ul SEL de pe shield este ELIMINAT pentru a izola complet alimentarea motoarelor de alimentarea logică a plăcii Arduino (protejând astfel portul USB).

 Schema Bloc a Sistemului

Hardware Design

Designul hardware este structurat pentru a susține un flux complet de tip percepție-acțiune. Acesta integrează o componentă de achiziție și procesare vizuală (Camera web și Raspberry Pi) cu un subsistem robust de execuție mecanică (Arduino Uno și brațul 4-DOF), asigurând totodată o distribuție sigură și stabilă a puterii pentru servomotoare.

Listă de piese:

Detalii de design electric: Servomotoarele MG995 pot avea un curent de vârf (stall current) de până la 1.5A - 2.5A fiecare. S-a ales o sursă externă de 5V/5A pentru a acoperi consumul simultan al brațului în mișcare (aprox. 2.5A - 3A). Aceasta este conectată exclusiv la bornele albastre ale Sensor Shield-ului, cu jumper-ul SEL scos, garantând că Arduino Uno primește doar semnal logic 5V din USB, iar motoarele primesc forță brută independent.

Software Design

Proiectul utilizează două medii de dezvoltare și limbaje distincte, împărțind sarcinile pe baza capabilităților hardware.

1. Software High-Level (Raspberry Pi / PC) - Python:

2. Firmware Low-Level (AVR ATmega328P) - Bare-metal C/C++: