Skip to content

Aggelusi/oop_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# README

## 1) Στοιχεία φοιτητών
- Ονοματεπώνυμο: ΑΓΓΕΛΟΣ ΑΡΙΣΤΕΙΔΟΠΟΥΛΟΣ
- ΑΜ: 1115202400009
- Ονοματεπώνυμο: ΑΡΙΣΤΟΤΕΛΗΣ ΒΑΣΙΛΕΙΟΣ ΓΕΩΡΓΟΥΛΗΣ
- ΑΜ: 1115202400024

## 2) Εντολή μεταγλώττισης
```
g++ -std=c++17 -O2 source/*.cpp -Iheaders -o oopproj_2025
```

## 3) Εντολή εκτέλεσης
```
./oopproj_2025 --gps Χ Υ
```

## 4) Μεθοδολογία / Παραδοχές / Αναπαραστάσεις
- Αναπαράσταση δεδομένων: Χρησιμοποιούμε grid dimX×dimY. Κάθε κελί μπορεί να έχει πολλά αντικείμενα, οπότε κρατάμε λίστα με προτεραιότητες για το τι φαίνεται. Έχουμε κινούμενα/στατικά οχήματα, σήματα και φανάρια. Οι αποστάσεις για τους αισθητήρες είναι Manhattan.
- Βασικές παραδοχές: Όλα μπαίνουν τυχαία με seed, το αυτοκίνητο ξεκινάει από (5,5) και κινείται μόνο οριζόντια/κάθετα. Οι στόχοι GPS δίνονται ανά ζεύγη (x,y). Οι αισθητήρες έχουν θόρυβο και περιορισμένο range.
- Περιορισμοί/όρια: Πεπερασμένο μέγεθος κόσμου, fixed FOV/range για κάθε αισθητήρα, μόνο 3 επίπεδα ταχύτητας, μέγιστος αριθμός ticks, και φίλτρο confidence.
- Σημαντικές επιλογές σχεδιασμού: Κλάσεις για κόσμο/αντικείμενα/αισθητήρες/όχημα. Κάνουμε sensor fusion με σταθμισμένο μέσο και κρατάμε μόνο ό,τι περνάει το κατώφλι. Λίστα προτεραιοτήτων στο ίδιο κελί για να μη χάνεται πληροφορία.

## 5) Βήματα μεθοδολογίας
1) Διαβάζουμε τα args και στήνουμε το grid.
2) Γεμίζουμε τον κόσμο με αντικείμενα και ξεκινάμε το αυτοκίνητο.
3) Προσθέτουμε αισθητήρες και περνάμε τους στόχους GPS.
4) Σε κάθε tick: ενημέρωση κόσμου → αισθητήρες → fusion → απόφαση → κίνηση.
5) Σταματάμε όταν πιάσουμε όλους τους στόχους ή τελειώσουν τα ticks.

About

oop project my guy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors