This shows you the differences between two versions of the page.
|
pm:prj2026:andrei.batasev:vlad.hosu [2026/05/04 18:59] vlad.hosu created |
pm:prj2026:andrei.batasev:vlad.hosu [2026/05/05 13:50] (current) vlad.hosu [Descriere generală] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Nume proiect ====== | + | ====== Wearable Running Monitoring System: GPS Tracker with Inertial Correction ====== |
| - | ===== Introducere ===== | + | |
| - | <note tip> | + | ===== Introduction ===== |
| - | Prezentarea pe scurt a proiectului vostru: | + | |
| - | * ce face | + | |
| - | * care este scopul lui | + | |
| - | * care a fost ideea de la care aţi pornit | + | |
| - | * de ce credeţi că este util pentru alţii şi pentru voi | + | |
| - | </note> | + | |
| - | ===== Descriere generală ===== | + | |
| - | <note tip> | + | The project consists of the design and implementation of a wearable embedded system for monitoring running activity, with the primary objective of accurately estimating the distance traveled by the user. Inspired by commercial fitness tracking applications such as Strava, the project aims to evaluate how closely a similar level of functionality and accuracy can be achieved using low-cost hardware and a resource-constrained platform. |
| - | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | |
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | A key motivation behind this work is addressing the inherent limitations of standalone GPS-based measurements, particularly the phenomenon of GPS drift, which leads to error accumulation during stationary periods. To mitigate this issue, the system integrates a sensor fusion approach that combines absolute positioning data with inertial measurements, enabling the validation of real user movement and the filtering of spurious displacement. |
| - | </note> | + | |
| + | Beyond its technical objectives, the system is also designed as a practical alternative to smartphone-based tracking, allowing the user to monitor running activity without relying on a mobile device, which may be inconvenient or prone to damage during physical activity. At the same time, the project serves as an exploration of the trade-offs between cost, hardware limitations, and performance, providing insight into how closely a low-budget embedded solution can approximate the behavior of commercial-grade systems. | ||
| + | |||
| + | [[https://github.com/vladhsu/PM_Project|GitHub Repository]] | ||
| + | |||
| + | ===== General Description ===== | ||
| + | |||
| + | The system is composed of multiple hardware and software modules that interact to achieve the final functionality. | ||
| + | |||
| + | **Main modules:** | ||
| + | |||
| + | * **Microcontroller (ATmega328P):** coordinates the entire system, processes data, and implements the filtering algorithm. | ||
| + | * **GPS Module (NEO-6M):** provides geographic coordinates in the form of NMEA sentences via UART. | ||
| + | * **Inertial Sensor (MPU-6050):** detects user movement using the accelerometer (Z-axis). | ||
| + | * **OLED Display (SSD1306):** displays information to the user. | ||
| + | * **Power Supply:** 5V power bank for portability. | ||
| + | |||
| + | **Module interaction:** | ||
| + | |||
| + | - GPS sends coordinate data to the microcontroller | ||
| + | - MPU-6050 sends acceleration data | ||
| + | - The microcontroller processes data and applies the sensor fusion algorithm | ||
| + | - Distance is updated only if movement is validated | ||
| + | - Results are displayed on the OLED | ||
| + | |||
| + | A key contribution of this project is a lightweight sensor fusion mechanism that validates GPS-based displacement using inertial step detection. This approach significantly reduces GPS drift without relying on computationally expensive filtering algorithms, making it suitable for resource-constrained microcontrollers. | ||
| + | |||
| + | {{:pm:prj2026:andrei.batasev:vlad.hosu:schema_blocv2.png?700| Schema Bloc}} | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| - | <note tip> | + | **List of components:** |
| - | Aici puneţi tot ce ţine de hardware design: | + | |
| - | * listă de piese | + | ^ Component ^ Model / Specifications | |
| - | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | | Microcontroller | ATmega328P Xplained Mini | |
| - | * diagrame de semnal | + | | GPS Module | u-blox NEO-6M V2 + 25x25mm ceramic antenna | |
| - | * rezultatele simulării | + | | Inertial Sensor (IMU) | MPU-6050 (Accelerometer + Gyroscope) | |
| - | </note> | + | | Display | 0.96" OLED, SSD1306 (I2C) | |
| + | | Power Supply | 5V Powerbank | | ||
| + | | Breadboard | 400 points | | ||
| + | | Wires | 10cm DuPont wires | | ||
| + | | Mounting elements | Spacers / Patafix / pins | | ||
| + | | Enclosure | 3D printed case | | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| Line 31: | Line 55: | ||
| <note tip> | <note tip> | ||
| - | Descrierea codului aplicaţiei (firmware): | + | Description of the firmware: |
| - | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * development environment (if any) (e.g. AVR Studio, CodeVisionAVR) |
| - | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * libraries and 3rd-party sources (e.g. Procyon AVRlib) |
| - | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * algorithms and data structures to be implemented |
| - | * (etapa 3) surse şi funcţii implementate | + | * (stage 3) implemented sources and functions |
| </note> | </note> | ||
| Line 41: | Line 65: | ||
| <note tip> | <note tip> | ||
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Describe the results obtained after completing the project. |
| </note> | </note> | ||
| Line 49: | Line 73: | ||
| <note warning> | <note warning> | ||
| - | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | Archive(s) containing all project files: source code, schematics, etc. A README, ChangeLog, and build/upload script are strongly recommended. |
| - | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | Files should be uploaded using **Add Images or other files**. Namespace format: **:pm:prj20??:c?** or **:pm:prj20??:c?:student_name**. |
| </note> | </note> | ||
| Line 57: | Line 81: | ||
| <note tip> | <note tip> | ||
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | You may include a journal section to track project progress. |
| </note> | </note> | ||
| Line 63: | Line 87: | ||
| <note> | <note> | ||
| - | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | List of documents, datasheets, and online resources used, grouped into **Software Resources** and **Hardware Resources** if applicable. |
| </note> | </note> | ||
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||
| - | |||
| - | |||