-
-
Notifications
You must be signed in to change notification settings - Fork 0
06 servo motors and robot logic
Στα robot projects συναντάμε συχνά λέξεις όπως servo, state machine, mode, obstacle avoidance, line tracking. Όλα αυτά μπορεί να ακούγονται προχωρημένα, αλλά στην ουσία περιγράφουν πολύ λογικές και κατανοητές ιδέες.
Το servo είναι ένα μοτεράκι που δεν γυρίζει απλώς ελεύθερα. Μπορεί να τοποθετηθεί σε συγκεκριμένη γωνία. Αυτό το κάνει πολύ χρήσιμο όταν θέλουμε ελεγχόμενη κίνηση, όπως:
- κλίση πλατφόρμας
- στροφή αισθητήρα
- κίνηση κεφαλιού
- άνοιγμα και κλείσιμο ενός μηχανισμού
Για αυτό βλέπουμε servo στο Gravity Maze, στο robot car, στο R2inoD2ino και στον Pacman Piggy Bank.
Στον Pacman Piggy Bank, το servo δεν κάνει την κατασκευή να “τρέχει”. Κάνει κάτι πιο μικρό αλλά πολύ εκφραστικό: ανοίγει το στόμα του Pacman όταν ο αισθητήρας υπερήχων καταλάβει ότι κάποιος πλησιάζει.
Ένα απλό DC motor είναι καλύτερο όταν θέλουμε συνεχή περιστροφή, όπως στους τροχούς ενός ρομπότ. Ένα servo είναι καλύτερο όταν θέλουμε ελεγχόμενη θέση.
Είναι η ικανότητα ενός ρομπότ να ακολουθεί μια γραμμή στο πάτωμα, συνήθως με ειδικούς αισθητήρες. Το ρομπότ διαβάζει τι “βλέπουν” οι αισθητήρες και διορθώνει την πορεία του.
Είναι η αποφυγή εμποδίων. Δηλαδή το ρομπότ μετρά αποστάσεις και αποφασίζει προς τα πού να κινηθεί χωρίς να χτυπήσει.
Είναι ένας πολύ οργανωμένος τρόπος να γράφουμε συμπεριφορά. Αντί να έχουμε έναν κώδικα που μπερδεύεται εύκολα, χωρίζουμε τη λειτουργία σε “καταστάσεις”.
Για παράδειγμα, ένα robot μπορεί να είναι σε:
MANUALLINE TRACKINGOBSTACLE AVOIDANCESTOP
Αυτό βοηθά πολύ, γιατί το project γίνεται πιο καθαρό, πιο αξιόπιστο και πιο εύκολο στη βελτίωση.
Η ίδια ιδέα ισχύει και σε μικρότερες κατασκευές. Ο Pacman μπορεί να θεωρηθεί ότι έχει απλές καταστάσεις όπως:
-
IDLE, όταν περιμένει -
OPEN, όταν ανοίγει το στόμα -
WAIT, όταν κρατά το στόμα ανοιχτό -
CLOSE, όταν επιστρέφει στην αρχική θέση
Σημαίνει ότι το project έχει προβλέψει τι θα κάνει όταν κάτι πάει στραβά. Για παράδειγμα:
- αν δεν λάβει σωστά δεδομένα
- αν κολλήσει
- αν δεν βρίσκει ασφαλή διαδρομή
Σε εκπαιδευτικά projects αυτό είναι πολύ σημαντικό, γιατί δεν θέλουμε μια κατασκευή να κινείται απρόβλεπτα.
Το πιο βασικό που αξίζει να κρατήσει ένας αρχάριος είναι ότι τα robot projects δεν είναι “μαγικά”. Συνήθως κάνουν τρία πράγματα:
- Διαβάζουν αισθητήρες.
- Παίρνουν αποφάσεις με βάση κανόνες.
- Στέλνουν εντολές σε motors ή servos.
Αυτό είναι, σε γενικές γραμμές, όλο το βασικό τους νόημα.
Επιστροφή στην Αρχική σελίδα · Δες τα Projects · Άρθρα για μικροελεγκτές · Άνοιγμα του Repository στο GitHub
Code and Circuits Experiments
Σύλλογος Τεχνολογίας Θράκης · MakerLab
Απλές επεξηγήσεις, πραγματικά projects και υλικό του MakerLab.