Πίνακας περιεχομένων:
- Βήμα 1: Η τοποθεσία εκμάθησης άλλαξε
- Βήμα 2: Δημιουργήστε το ρομπότ διαφορικής μονάδας SnappyXO
- Βήμα 3: Συνδέστε τα Ηλεκτρονικά
- Βήμα 4: Εγκατάσταση PreciseMovement Arduino Library
- Βήμα 5: Κωδικός
- Βήμα 6: Πώς λειτουργεί
Βίντεο: Ρομπότ SnappyXO Precise Mover: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Κάντε το ρομπότ Arduino να προχωρήσει ευθεία για μια καθορισμένη απόσταση ή στρίψτε σε μια συγκεκριμένη γωνία χρησιμοποιώντας τη βιβλιοθήκη PreciseMovement Arduino.
Το ρομπότ χρειάζεται έναν τροχό κυλίνδρου ή ισοδύναμο για να ελαχιστοποιήσει την τριβή ενώ στρίβει.
www.pololu.com/product/954
Μπορείτε να πείτε στο ρομπότ να προχωρήσει σε μια καθορισμένη απόσταση ή να στρίψει σε μια καθορισμένη γωνία. Το πρόγραμμα καθορίζει τη θέση του χρησιμοποιώντας νεκρούς υπολογισμούς. Δεδομένου ότι οι εκτιμήσεις θέσης βασίζονται μόνο στην ταχύτητα του τροχού, η ολίσθηση θα προκαλέσει σημαντικό σφάλμα. Ο σχεδιαστής του ρομπότ θα πρέπει να είναι προσεκτικός για να ελαχιστοποιήσει τον κίνδυνο ολίσθησης.
Έχει δοκιμαστεί ότι λειτουργεί με το ρομπότ SnappyXO.
Βήμα 1: Η τοποθεσία εκμάθησης άλλαξε
Το σεμινάριο μεταφέρθηκε στην παρακάτω σελίδα. Αυτό το σεμινάριο δεν διατηρείται πλέον.
sites.google.com/stonybrook.edu/premo
Βήμα 2: Δημιουργήστε το ρομπότ διαφορικής μονάδας SnappyXO
Η βιβλιοθήκη PreciseMovement που θα χρησιμοποιήσουμε είναι συμβατή μόνο με ρομπότ διαφορικής κίνησης. Μπορείτε να επιλέξετε να χρησιμοποιήσετε άλλα ρομπότ με κίνηση στους δύο τροχούς.
Βήμα 3: Συνδέστε τα Ηλεκτρονικά
Για τον τυπικό οπτικό κωδικοποιητή SnappyXO:
D0 (έξοδος κωδικοποιητή) -> Arduino Digital Pin
VCC -> Arduino 5V
GND -> GND
Κινητήρας και Arduino Power:
Η πηγή ισχύος του κινητήρα πρέπει να είναι κατάλληλη για τους κινητήρες που χρησιμοποιείτε. Για το κιτ SnappyXO, χρησιμοποιούνται μπαταρίες 4AA για την ισχύ του κινητήρα και μπαταρία 9V για την ισχύ του Arduino. Βεβαιωθείτε ότι όλοι έχουν ένα κοινό GND.
Βήμα 4: Εγκατάσταση PreciseMovement Arduino Library
Κατεβάστε:
github.com/jaean123/PreciseMovement-library/releases
Πώς να εγκαταστήσετε τη βιβλιοθήκη Arduino:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Βήμα 5: Κωδικός
Κωδικός Arduino:
create.arduino.cc/editor/hileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Αυτές οι παράμετροι απαιτούν προσαρμογή. Άλλες παράμετροι που επισημαίνονται ως συνιστώμενες στον κώδικα μπορούν να προσαρμοστούν για καλύτερη απόδοση.
- Ελέγξτε και ρυθμίστε τις καρφίτσες του κινητήρα κάτω από τους πείρους ARDUINO.
-
Ρυθμίστε LENGTH και RADIUS.
- ΜΗΚΟΣ είναι η απόσταση από τον αριστερό τροχό στον δεξιό τροχό.
- RADIUS είναι η ακτίνα του τροχού.
-
Ορίστε PULSES_PER_REV, που είναι ο αριθμός των παλμών που εξάγει ο κωδικοποιητής για μία περιστροφή ενός τροχού.
- Σημειώστε ότι αυτό διαφέρει από τον αριθμό των παλμών που εξάγει ο κωδικοποιητής για μία περιστροφή άξονα κινητήρα, εκτός εάν οι κωδικοποιητές είναι συνδεδεμένοι για ανάγνωση απευθείας από τον άξονα του τροχού.
- PULSES_PER_REV = (παλμοί ανά περιστροφή άξονα κινητήρα) x (λόγος μετάδοσης)
-
Ορίστε STOP_LENGTH εάν δείτε ότι το ρομπότ κάνει υπέρβαση μετά την κίνηση προς τα εμπρός.
Το ρομπότ θα σταματήσει μόλις η εκτιμώμενη θέση είναι STOP_LENGTH μακριά από τον στόχο. Έτσι, το STOP_LENGTH, είναι η κατά προσέγγιση απόσταση που απαιτείται για να σταματήσει το ρομπότ
-
Παραμέτρους PID
KP_FW: Αυτή είναι η αναλογική συνιστώσα της κίνησης προς τα εμπρός. Αυξήστε το μέχρι το ρομπότ να πάει ευθεία. Εάν δεν μπορείτε να το κάνετε να προχωρήσει κατευθείαν συντονίζοντας αυτό, τότε το υλικό είναι πιθανό να φταίει. (π.χ. κακή ευθυγράμμιση τροχών, κλπ)
KP_TW: Αυτό είναι το αναλογικό συστατικό του PID κίνησης περιστροφής. Απλώς ξεκινήστε από μια χαμηλή τιμή και αυξήστε την έως ότου η ταχύτητα περιστροφής, ή η γωνιακή ταχύτητα του ρομπότ κατά τη συστροφή, είναι αρκετά γρήγορη, αλλά δεν προκαλεί υπέρβαση. Για να κάνετε παρατηρήσεις, μπορείτε να έχετε το ρομπότ εναλλακτικό από 0 έως 90 και πίσω εισάγοντας τα ακόλουθα στη λειτουργία βρόχου
Τοποθετήστε αυτό το βρόχο για να συντονίσετε το KP_FW:
mover.forward (99999);
Τοποθετήστε αυτό το βρόχο για εναλλαγή από 0 έως 90 για ρύθμιση του KP_TW:
mover.twist (90); // Περιστροφή 90 CW
καθυστέρηση (2000).
mover.twist (-90) // Twist 90 CCW
καθυστέρηση (2000).
Σημειώστε ότι για να στρίψετε πραγματικά τη γωνιακή ταχύτητα στο TARGET_TWIST_OMEGA, το KI_TW πρέπει επίσης να συντονιστεί, καθώς ένας αναλογικός ελεγκτής δεν θα εγκατασταθεί ποτέ στον ακριβή στόχο. Ωστόσο, δεν είναι απαραίτητο να στρίψετε με αυτήν ακριβώς την γωνιακή ταχύτητα. Η γωνιακή ταχύτητα πρέπει απλώς να είναι αρκετά αργή.
Βήμα 6: Πώς λειτουργεί
Αν είστε περίεργοι για το πώς λειτουργεί, διαβάστε παρακάτω.
Η κίνηση προς τα εμπρός διατηρείται ευθεία χρησιμοποιώντας τον καθαρό αλγόριθμο καταδίωξης σε ευθεία γραμμή. Περισσότερα στο Pure Pursuit:
Ο ελεγκτής PID περιστροφής προσπαθεί να διατηρήσει τη γωνιακή ταχύτητα περιστροφής σε TARGET_TWIST_OMEGA. Σημειώστε ότι αυτή η γωνιακή ταχύτητα είναι η γωνιακή ταχύτητα ολόκληρου του ρομπότ και όχι των τροχών. Χρησιμοποιείται μόνο ένας ελεγκτής PID και η έξοδος είναι η ταχύτητα εγγραφής PWM τόσο του αριστερού όσο και του δεξιού κινητήρα. Ο νεκρός υπολογισμός γίνεται για τον υπολογισμό της γωνίας. Μόλις η γωνία φτάσει στο όριο σφάλματος, το ρομπότ σταματά.
Συνιστάται:
Πώς να φτιάξετε ρομπότ με βάση το Arduino Edge αποφεύγοντας το ρομπότ: 4 βήματα
Πώς να φτιάξετε ρομπότ με βάση το Arduino Edge: Ας φτιάξουμε ένα πλήρως αυτόνομο ρομπότ χρησιμοποιώντας αισθητήρες Arduino και IR. Εξερευνά την επιφάνεια του τραπεζιού χωρίς να πέφτει. Δείτε βίντεο για περισσότερα
Ρομπότ ελεγχόμενο από RC στο XLR8! Εκπαιδευτικό ρομπότ: 5 βήματα
Ρομπότ ελεγχόμενο από RC στο XLR8! Education Robot: Γεια, σε αυτό το άρθρο, θα σας δείξει πώς να φτιάξετε ένα βασικό ρομπότ. Η λέξη "Robot" σημαίνει κυριολεκτικά "Slave" ή έναν «εργάτη». Χάρη στις εξελίξεις στην Τεχνητή Νοημοσύνη, τα ρομπότ δεν είναι πλέον μόνο μέρος του Sci-Fi του Issac Asimov
Ρομπότ Arduino Με Απόσταση, Κατεύθυνση και Βαθμός Περιστροφής (Ανατολικά, Δυτικά, Βόρεια, Νότια) Ελεγχόμενος με Φωνή χρησιμοποιώντας Ενότητα Bluetooth και Αυτόνομη Κίνηση Ρομπότ .: 6 Βήματα
Ρομπότ Arduino Με Απόσταση, Κατεύθυνση και Βαθμός Περιστροφής (Ανατολικά, Δυτικά, Βόρεια, Νότια) Ελέγχεται με φωνή χρησιμοποιώντας μονάδα Bluetooth και αυτόνομη κίνηση ρομπότ .: Αυτό το οδηγό εξηγεί πώς να φτιάξετε το Arduino Robot που μπορεί να μετακινηθεί στην απαιτούμενη κατεύθυνση (Εμπρός, Πίσω) , Αριστερά, Δεξιά, Ανατολικά, Δυτικά, Βόρεια, Νότια) απαιτείται Απόσταση σε εκατοστά χρησιμοποιώντας φωνητική εντολή. Το ρομπότ μπορεί επίσης να μετακινηθεί αυτόνομα
Ρομπότ εξισορρόπησης / ρομπότ 3 τροχών / ρομπότ STEM: 8 βήματα
Ρομπότ εξισορρόπησης / ρομπότ 3 τροχών / ρομπότ STEM: Έχουμε δημιουργήσει ένα συνδυασμένο ρομπότ εξισορρόπησης και 3 τροχών για εκπαιδευτική χρήση σε σχολεία και εκπαιδευτικά προγράμματα μετά το σχολείο. Το ρομπότ βασίζεται σε ένα Arduino Uno, μια προσαρμοσμένη ασπίδα (παρέχονται όλες οι λεπτομέρειες κατασκευής), μια μπαταρία ιόντων λιθίου (όλα κατασκευασμένα
ΠΩΣ ΝΑ ΣΥΝΑΡΜΟΛΟΓΗΣΕΤΕ ΕΝΑ ΕΚΠΤΩΣΙΚΟ ΞΥΛΙΝΟ ΡΟΜΠΟΤ ΒΡΑΧΙΟ (ΜΕΡΟΣ 2: ΡΟΜΠΟΤ ΓΙΑ ΑΠΟΦΥΓΗ ΤΟΥ ΕΜΠΟΔΙΟΥ) - ΒΑΣΕΙΣ ΣΤΟ ΜΙΚΡΟ: BIT: 3 Βήματα
ΠΩΣ ΝΑ ΣΥΝΑΡΜΟΛΟΓΗΣΕΤΕ ΕΝΑ ΕΚΠΤΩΣΙΚΟ ΞΥΛΙΝΟ ΡΟΜΠΟΤ ΑΡΜΠΟΡ (ΜΕΡΟΣ 2: ΡΟΜΠΟΤ ΓΙΑ ΑΠΟΦΥΓΗ ΤΟΥ ΕΜΠΟΔΙΟΥ)-ΒΑΣΕΙΣ ΣΤΟ ΜΙΚΡΟ: BIT: Προηγουμένως εισαγάγαμε το Armbit σε λειτουργία παρακολούθησης γραμμών. Στη συνέχεια, παρουσιάζουμε τον τρόπο εγκατάστασης του Armbit στην αποφυγή της λειτουργίας εμποδίων