Φτιάξε και προγραμμάτισε από την αρχή  το δικό σου Self-driving Car!

Ο Κύκλος 1 υπάγεται στην εκπαιδευτική δράση Self-driving Cars & AI και επικεντρώνεται στην ανάλυση, επεξήγηση και σύνθεση:

  1. των ηλεκτρομηχανολογικών μερών του οχήματος
  2. τον βασικό προγραμματισμό κίνησης και τηλεχειρισμό
  3. τον προγραμματισμό και τη λήψη εικόνας από ενσωματωμένη κάμερα
  4. τον βασικό προγραμματισμό των οχημάτων για παρακολούθηση κινούμενου στόχου (face detection and tracking) 

Ο Κύκλος 1 αποτελείται από τα ακόλουθα σεμινάρια:

Σεμινάριο 1: Γενική περιγραφή Κύκλου και Σύνθεση Μηχανολογικών Υποσυστημάτων του Self-driving Car

Περιγραφή μηχανοτρονικής κατασκευής  του self-driving car καθώς και των αυτόνομων λειτουργιών που επιθυμούμε να εκτελεί. Επεξήγηση του kit υλικών και των εργαλείων  που θα χρησιμοποιηθούν για την κατασκευή του οχήματος. Συναρμολόγηση του σκελετού του οχήματος. Τοποθέτηση κινητήρων και συγκόλληση των  καλωδίων τους.

Σεμινάριο 2: Σύνθεση Ηλεκτρολογικών Υποσυστημάτων του Self-driving Car

Περιγραφή του κυκλώματος τροφοδοσίας του self-driving car. Τοποθέτηση διακόπτη, μπαταριοθήκης, σταθεροποιητή τάσης. Υλοποίηση απαιτούμενων ηλεκτρολογικών κολλήσεων για την τοποθέτηση και λειτουργία των ηλεκτρολογικών υποσυστημάτων. Υλοποίηση συνδεσμολογίας σταθεροποιητή τάσης - motor driver - κινητήρων. Υλοποίηση συνδεσμολογίας σταθεροποιητή τάσης -  ESP32-CAM.

Σεμινάριο 3: Σύνθεση Ενσωματωμένου Υπολογιστικού Συστήματος (ESP32-CAM) του Self-driving Car

Τοποθέτηση υπολογιστικού συστήματος ESP32-CAM στο ρομπότ.  Εισαγωγή στο υπολογιστικό σύστημα  ESP32-CAM και τις δυνατότητές του. Περιγραφή του περιβάλλοντος προγραμματισμού του ESP32-CAM, ρυθμίσεις, κατέβασμα κώδικα στο μικροεπεξεργαστή. Υλοποίηση του πρώτου διαδικαστικού κώδικα βήμα προς βήμα. Εξοικείωση με βασικές εντολές του ESP32 CAM.

Σεμινάριο 4: Προγραμματισμός Βασικών Κινήσεων του  Self-driving Car

Λογική κίνησης οχήματος (ευθύγραμμη, περιστροφική, τμήμα κύκλου) και περιστροφής κινητήρων. Επεξήγηση στάθμης πόρτας διεπαφής κινητήρα - υπολογιστικού συστήματος ESP32-CAM. Βασικός έλεγχος ταχύτητας self-driving car σε δύο διαστάσεις. Προγραμματισμός ρουτίνων για ευθύγραμμη κίνηση, περιστροφική, στάση. Υλοποίηση βασικής εφαρμογής, ώστε το όχημα να εκτελεί σειρά προγραμματισμένων κινήσεων στο χώρο.

Σεμινάριο 5: Συνδεσιμότητα και λογική προγραμματισμού client/server του Self-driving Car.

Επεξήγηση κώδικα σύνδεσης του υπολογιστικού συστήματος ESP32-CAM με το WiFi και προγραμματισμός εύρεσης της ποιότητας του σήματος. Εισαγωγή στην λογική προγραμματισμού client/server και στην έννοια του web server. Υλοποίηση  δοκιμαστικού κώδικα για την λήψη εικόνας και των βασικών ρυθμίσεων σχετικά με αυτή.

Σεμινάριο 6: Σχεδίαση βάσης στήριξης του υπολογιστικού συστήματος ESP32-CAM του Self-driving Car

Εύρεση κλίσης της υπολογιστικής πλατφόρμας ESP32-CAM πάνω στο ρομπότ για την βέλτιστη οπτική κάλυψη. Σχεδιασμός της κατάλληλης βάσης στήριξης του ESP32-CAM και εκτύπωση αυτής με χρήση τρισδιάστατου εκτυπωτή. Κατασκευή και τοποθέτηση εξωτερικού περιβλήματος οχήματος.

Σεμινάριο 7: Προγραμματισμός λειτουργίας τηλεχειρισμού του Self-driving Car

Τεχνικές προγραμματισμού server/client για μεταφορά δεδομένων. Προγραμματισμός λειτουργίας τηλεχειρισμού οχήματος μέσω πληκτρολογίου. Προγραμματισμός server/client services για την αποστολή εντολών κίνησης στo self-driving car.

Σεμινάριο 8: Προγραμματισμός και Διαχείριση  Οπτικής Πληροφορίας στο Self-driving Car

Προγραμματισμός λειτουργίας λήψης live video από την κάμερα του ESP32-CAM. Εμφάνιση live video σε παράθυρο απομακρυσμένου (remote) υπολογιστή. Τηλεχειρισμός του οχήματος για την παρακολούθηση κινούμενου στόχου μέσω video σε απομακρυσμένο υπολογιστή. Προγραμματισμός αλγορίθμων αυτόνομης παρακολούθησης προσώπου (face detection and tracking). 

Βιβλιογραφία - Πρόσθετο υλικό

  1. https://randomnerdtutorials.com/esp32-cam-video-streaming-face-recognition-arduino-ide/
  2. https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/
  3. https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/
  4. https://www.youtube.com/watch?v=q-KIpFIbRMk
  5. https://www.youtube.com/watch?v=RCtVxZnjPmY
  6. https://www.youtube.com/watch?v=O6sDBmK3qho
  7. https://all3dp.com/2/esp32-cam-arduino-tutorial/
  8. https://www.youtube.com/watch?v=-g6Q9lSHDzg
  9. https://www.youtube.com/watch?v=7-3piBHV1W0
  10. https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html
  11. https://www.arduino.cc/
  12. https://www.arduino.cc/reference/en/
  13. https://playground.arduino.cc/

Βιβλιογραφία - Πρόσθετο υλικό

  1. https://randomnerdtutorials.com/esp32-cam-video-streaming-face-recognition-arduino-ide/
  2. https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/
  3. https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/
  4. https://www.youtube.com/watch?v=q-KIpFIbRMk
  5. https://www.youtube.com/watch?v=RCtVxZnjPmY
  6. https://www.youtube.com/watch?v=O6sDBmK3qho
  7. https://all3dp.com/2/esp32-cam-arduino-tutorial/
  8. https://www.youtube.com/watch?v=-g6Q9lSHDzg
  9. https://www.youtube.com/watch?v=7-3piBHV1W0
  10. https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html
  11. https://www.arduino.cc/
  12. https://www.arduino.cc/reference/en/
  13. https://playground.arduino.cc/

ιε