This shows you the differences between two versions of the page.
pm:prj2022:ndrogeanu:scanner_3d [2022/04/30 01:11] ioan_teodor.teugea [Descriere generală] |
pm:prj2022:ndrogeanu:scanner_3d [2022/06/02 12:40] (current) ioan_teodor.teugea [Rezultate Obţinute] |
||
---|---|---|---|
Line 9: | Line 9: | ||
Proiectul permite scanarea unor obiecte si transformarea lor in modele OBJ ce pot fi integrate in jocuri video sau animatii 3D. | Proiectul permite scanarea unor obiecte si transformarea lor in modele OBJ ce pot fi integrate in jocuri video sau animatii 3D. | ||
- | Scopul proiectului este de a reduce timpul si costul de dezvoltare a jocurilor video prin eliminarea nevoii de a modela de la zero diferitele elemente necesare. Astfel, si cei care nu au cunostiinte de modelare 3D sau talent artistic pot crea rapid modele pentru jocurile lor. | + | Scopul proiectului este de a reduce timpul si costul de dezvoltare a jocurilor video prin eliminarea nevoii de a modela de la zero diferitele elemente necesare. Astfel, si cei care nu au cunoștiinte de modelare 3D sau talent artistic pot crea rapid modele pentru jocurile lor. |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
Line 21: | Line 21: | ||
==== Schemă bloc ==== | ==== Schemă bloc ==== | ||
- | {{ :pm:prj2022:ndrogeanu:teugea_ioan-teodor_diagrama_bloc.png?500 |}} | + | {{ :pm:prj2022:ndrogeanu:teugea_ioan-teodor_diagrama_bloc.png?600 |}} |
+ | |||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | <note tip> | + | ==== Listă componente ==== |
- | Aici puneţi tot ce ţine de hardware design: | + | * Arduino Uno |
- | * listă de piese | + | * Senzor laser VL53L0X |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | * Placă DRV8825 (2x) |
- | * diagrame de semnal | + | * Motor stepper (2x) |
- | * rezultatele simulării | + | * Condensator 100uF 50V (2x) |
- | </note> | + | * Sursă alimentare 12V 5A |
+ | ==== Schemă ==== | ||
+ | {{ :pm:prj2022:ndrogeanu:teugea_ioan-teodor_circuit_schem.png?600 |}} | ||
+ | |||
+ | ==== Implementare finala ==== | ||
+ | {{:pm:prj2022:ndrogeanu:proiect_implementat.jpg?600|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Arduino trimite datele catre laptop, impreuna cu anumite coduri cu diferite semnificatii: | ||
+ | * -2 - eroare initializare senzor | ||
+ | * 5 - senzorul a fost initializat cu succes | ||
+ | * 20 - a fost efectuata o noua masuratoare. Impreuna cu acest cod se trimit numarul de pasi efectuati de motoarele de rotire si deplasare verticala si distanta masurata | ||
+ | * 10 - s-a terminat scanarea obiectului | ||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
- | * (etapa 3) surse şi funcţii implementate | ||
- | </note> | ||
+ | Centrul de referinta al modelului este centrul platformei pe care sta acesta. Centrul se afla la o distanta cunoscuta **D** fata de senzor. Senzorul intoarce distanta **d1** de la marginea obiectului la senzor. Pe baza acestor doua distante, putem calcula distanta de la centru la marginea obiectului scazand **D - d1**. | ||
+ | |||
+ | Specificatiile motoarelor folosite arata ca 200 de pasi de rotatie corespund cu o rotatie completa de 360 de grade. Astfel, se calculeaza unghiul din care este privit obiectul prin regula de 3 simpla. Pentru deplasarea pe verticala, specificatiile arata ca o rotatie completa a unui motor corespunde cu o deplasare verticala de 8mm. | ||
+ | |||
+ | Astfel, prin aceste 3 masuratori am obtinut pozitia punctului de pe obiect in coordonate cilindrice. Acestea sunt transformate in coordonate carteziene si scrise intr-un fisier .ply | ||
+ | |||
+ | Repository GitHub: [[https://github.com/John-Ted/Scanner-3D-PM]] | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Proiectul executa scanari, insa faptul ca obiectul este vazut doar din lateral, problemele cu senzorul si algoritmii de conversie din point cloud in mesh 3D nu permit o rezolutie extraordinara. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
+ | |||
+ | {{:pm:prj2022:ndrogeanu:point_cloud.png?600|}} | ||
+ | |||
+ | {{:pm:prj2022:ndrogeanu:model_obj.png?100|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul are potential, creeaza modele 3D, insa mai trebuie lucrat pentru imbunatatirea rezolutiei rezultatelor | ||
+ | |||
+ | == Posibile imbunatatiri == | ||
+ | * Schimbarea senzorului de distanta cu unul mai bun | ||
+ | * Rotirea obiectului si pe alte axe in afara de OY | ||
===== Download ===== | ===== Download ===== | ||