Πίνακας περιεχομένων:

Self Walking Robot: 7 Βήματα
Self Walking Robot: 7 Βήματα

Βίντεο: Self Walking Robot: 7 Βήματα

Βίντεο: Self Walking Robot: 7 Βήματα
Βίντεο: How to Moonwalk 2024, Νοέμβριος
Anonim
Ρομπότ Self Walking
Ρομπότ Self Walking

Τι έφτιαξα;

● Ένα bot που μπορεί να εκπαιδευτεί να περπατά (να προχωράει) σε διαφορετικές επιφάνειες. Το bot απεικονίζει ένα απλό πλάσμα με 4 πόδια «χωρίς γόνατο» που παλεύει να προχωρήσει. Γνωρίζει ότι μπορεί να προσανατολίσει κάθε ένα από τα πόδια με 3 δυνατούς τρόπους μόνο. Τώρα πρέπει να βρει τα καλύτερα δυνατά βήματα που μπορεί να κάνει για να συνεχίσει να κινείται. Δεδομένου ότι η κίνησή του εξαρτάται επίσης από την τριβή με την επιφάνεια, πιστεύουμε ότι για κάθε διαφορετική επιφάνεια που περπατά, θα υπάρχει ένα διαφορετικό (όχι απαραίτητα μοναδικό αλλά πιθανότατα παρόμοιο) σύνολο βημάτων για να μεγιστοποιήσει την προσπάθειά του να προχωρήσει.

Σε τι χρησιμεύει?

Best Χρησιμοποιείται καλύτερα για την απεικόνιση των προτύπων περπατήματος για AI ROBOT.

Βήμα 1: Το διάγραμμα ροής

Το διάγραμμα ροής
Το διάγραμμα ροής

Εδώ μια ανάλυση ολόκληρου του έργου. Σε γενικές γραμμές το έργο είναι σε 2 μέρη ηλεκτρονικά με μηχανική δομή του ρομπότ και το άλλο είναι ο αλγόριθμος που τρέχει σε υπολογιστή και ο κώδικας τρέχει στο arduino.

Βήμα 2: ΒΑΣΙΚΑ ΣΥΣΤΑΤΙΚΑ ΠΟΥ ΠΕΡΙΛΑΜΒΑΝΟΝΤΑΙ:

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

Arduino UNO (!)

Αισθητήρας υπερήχων

Σερβοκινητήρες

Μονάδα Bluetooth

Κωδικοποίηση

Arduino IDE

Teraterm

Σημειωματάριο Jupyter

Q- αλγόριθμος εκμάθησης

Βήμα 3: ΕΝΟΤΗΤΑ V1:

ΕΝΟΤΗΤΑ V1
ΕΝΟΤΗΤΑ V1

Μάθηση Ενίσχυσης: Χρησιμοποιώντας το ANN (Τεχνητό Νευρικό Δίκτυο) σχεδιάσαμε να εκπαιδεύσουμε το ρομπότ μας και καταλήξαμε σε δύο πιθανές μεθόδους.

Περιορισμοί: Κάθε σκέλος (σερβοκινητήρας) είναι υποχρεωμένος να παίρνει μόνο 3 δυνατές θέσεις 60, 90 & 120 μοίρες. Υποθέσεις: Θεωρούμε ότι η κίνηση bot θα αποτελείται από 4 καταστάσεις (μια κατάσταση είναι ένας ορισμένος προσανατολισμός και των τεσσάρων servos), δηλαδή θα υπάρχουν 4 διαφορετικές καταστάσεις του ρομπότ τις οποίες θα θεωρήσουμε ως 4 βήματα αντίστοιχα δίνοντάς μας έναν κύκλο κίνησης, το οποίο το bot θα προχωρήσει κάποια απόσταση μπροστά. Αυτός ο κύκλος θα επαναληφθεί άπειρα για να διατηρήσει το bot σε κίνηση.

Αλλά το μόνο πρόβλημα ήταν ο αριθμός των επαναλήψεων που έπρεπε να αξιολογηθούν - Έχουμε 3 πιθανούς προσανατολισμούς για κάθε κινητήρα και υπάρχουν 4 διαφορετικοί κινητήρες που το κάνουν 3^4 = 81 καταστάσεις στις οποίες το ρομπότ μπορεί να υπάρχει σε ένα μόνο βήμα ή κατάσταση. Πρέπει να κάνουμε 4 διαφορετικά βήματα για να ολοκληρώσουμε μια πολύπλοκη κίνηση, που σημαίνει 81^4 = 43, 046, 721 πιθανοί συνδυασμοί που πρέπει να ελεγχθούν για μέγιστη απόδοση για έναν κύκλο κίνησης. Ας υποθέσουμε ότι χρειάζονται 5 δευτερόλεπτα για να εκπαιδεύσετε ένα μόνο κράτος θα χρειαστούν 6,8250 χρόνια για να ολοκληρωθεί η εκπαίδευση!

Βήμα 4: ΕΝΟΤΗΤΑ V2:

Αλγόριθμος Q-learning

Ένας αλγόριθμος μάθησης πρώιμης ενίσχυσης αναπτύχθηκε για την εκπαίδευση πραγμάτων με πεπερασμένη κατάσταση και την εύρεση των συντομότερων διαδρομών. πηγή:

Μαθηματικός αλγόριθμος: Υπάρχουν 81 πιθανές καταστάσεις για κάθε βήμα στο οποίο μπορεί να βρίσκεται το bot, ονομάζουμε αυτές τις καταστάσεις ως αριθμούς από το 1 έως το 81 και τώρα αυτό που θέλουμε να γνωρίζουμε είναι η τιμή μετάβασης, που σημαίνει την αλλαγή στη θέση του ρομπότ (μετακινήθηκε απόσταση) ενώ μετακινείται από μια τυχαία κατάσταση s1 σε κάποια άλλη κατάσταση s2 (s1, s2 από αυτές τις 81 καταστάσεις). Μπορούμε να το δούμε ως πίνακα με 81 σειρές και 81 στήλες όπου ένα στοιχείο μήτρας θα είναι ίσο με την τιμή της απόστασης που μετακινήθηκε από το αντίστοιχο με τον αριθμό γραμμής και στήλης. Αυτές οι τιμές μπορεί να είναι θετικές ή αρνητικές ανάλογα με τη δράση του ρομπότ σε πραγματική λέξη. Τώρα θα βρούμε έναν κλειστό βρόχο καταστάσεων όπου η απόσταση που διανύει είναι πάντα θετική. Θα αξιολογήσουμε τιμές μήτρας 81x81 που είναι 81^2 = 6561, τώρα αν χρειαστούμε 5 δευτερόλεπτα για να αποθηκευτεί αυτή η τιμή στον πίνακα τότε χρειάζεστε 9,1125 ώρες μόνο για να δημιουργήσετε ένα σύνολο μήτρας και στη συνέχεια θα μπορούσατε να καταλάβετε εύκολα μια σειρά βημάτων για τη μεγιστοποίηση της κινητικής απόδοσης.

Βήμα 5: ΠΡΟΒΛΗΜΑΤΑ ΠΟΥ ΠΕΡΙΛΑΜΒΑΝΟΝΤΑΙ -

  1. Για κάποια κατάσταση, η κίνηση του bot ήταν πολύ άνιση και επηρέαζε την τιμή του αισθητήρα υπερήχων, το bot έγειρε και έπαιρνε απόσταση από έναν μακρινό τοίχο.
  2. Το πρόβλημα της αποσύνδεσης από το φορητό υπολογιστή και της επανεκκίνησης του arduino ήταν να προκαλέσει προπόνηση από την τιμή 0 ήταν πολύ εκνευριστικό.
  3. Η παρακολούθηση του τρένου ρομπότ για συνεχείς 5 ώρες ήταν πολύ εξαντλητική.

Βήμα 6: ΕΝΟΤΗΤΑ Α1 και Α2:

  • Το μηχανικό μέρος περιλαμβάνει τον πίνακα πλαισίου με τέσσερις σερβομηχανισμούς στερεωμένους σε αυτό. Χρησιμοποιήσαμε μπαστούνια παγωτού για να φτιάξουμε πόδια.
  • Το βασικό μας καθήκον - να παρακολουθούμε την απόσταση του bot από την αρχική του θέση.
  • Η πρώτη μας προσέγγιση ήταν να χρησιμοποιήσουμε γυροσκόπιο και να χρησιμοποιήσουμε την επιτάχυνση του bot καθώς κινείται για να εξαγάγει την ταχύτητά του και στη συνέχεια τη θέση του.
  • Πρόβλημα - Αποδείχθηκε πολύ περίπλοκο για εφαρμογή! Εναλλακτική - Περιορίσαμε την κίνηση του bot μόνο σε 1 διάσταση και χρησιμοποιήσαμε αισθητήρα υπερήχων για να μετρήσουμε την απόσταση από έναν τοίχο ακριβώς μπροστά.
  • Η μονάδα HC05-Bluetooth χρησιμοποιήθηκε κατά τη διάρκεια της περιόδου εκπαίδευσης για τη μετάδοση του ρυθμού μετάβασης απόστασης μεταξύ δύο βημάτων στον υπολογιστή και εκεί τα δεδομένα αποθηκεύτηκαν σε μια μήτρα.

Βήμα 7: Σύνδεση με βίντεο:

Σύνδεσμος για βίντεο
Σύνδεσμος για βίντεο

Βήματα για μωρά:

Πυροβολισμός προπόνησης:

Σχεδόν ευθεία:

Βίντεο ρομπότ χορού:

Τελικό βίντεο0:

Συνιστάται: