Πίνακας περιεχομένων:
- Βήμα 1: Χτίζοντας τη δομή
- Βήμα 2: Γνωρίστε τις αξίες υλικού σας
- Βήμα 3: Forward Kinematics
- Βήμα 4: Αντίστροφη κινηματική
Βίντεο: Haptic Drawing Robot: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Στο πλαίσιο της μεταπτυχιακής μου αποφοίτησης στο τμήμα. Βιομηχανικός σχεδιασμός στο Πανεπιστήμιο Αϊντχόφεν, δημιούργησα μια απτική συσκευή σχεδίασης που μπορεί να χρησιμοποιηθεί για να πλοηγηθείτε σε ένα ημιαυτόνομο αυτοκίνητο μέσω της κυκλοφορίας. Η διεπαφή ονομάζεται σκαρίφημα και επιτρέπει στον χρήστη να βιώσει απτικά εξαρτήματα σε χώρο 2D μέσω μιας μεταβλητής δύναμης και θέσης. Παρόλο που η ιδέα δεν είναι αυτό που διδάσκει, μπορείτε να διαβάσετε περισσότερα για το Scribble εδώ:
Το Scribble χρησιμοποιεί μια διαμόρφωση σύνδεσης 5 γραμμών που της επιτρέπει να μετακινεί δύο πλευρικούς βαθμούς ελευθερίας (DoF). Αυτή η ρύθμιση είναι αρκετά δημοφιλής μεταξύ των πρωτοτύπων για τη δημιουργία ρομπότ σχεδίασης, εδώ είναι μερικά παραδείγματα:
www.projehocam.com/arduino-saati-yazan-kol-…
blogs.sap.com/2015/09/17/plot-clock-weathe…
www.heise.de/make/meldung/Sanduhr-2-0-als-Bausatz-im-heise-shop-erhaeltlich-3744205.html
Μηχανικά αυτά τα ρομπότ είναι εύκολο να γίνουν. Χρειάζονται μόνο βασικές αρθρώσεις και έχουν δύο ενεργοποιητές που μπορούν να δημιουργήσουν αρκετά ρευστές κινήσεις. Αυτή η δομή είναι ιδανική για σχεδιαστές που ενδιαφέρονται να κάνουν κινούμενη δομή. Ωστόσο, επειδή δεν είμαι μηχανικός, βρήκα ότι η κινηματική είναι πολύ δύσκολο να μεταφραστεί σε κώδικα. Ως εκ τούτου, θα παράσχω βασικό κώδικα Arduino που υπολογίζει την εμπρόσθια και αντίστροφη κινηματική, ώστε να μπορείτε εύκολα να το χρησιμοποιήσετε στα μελλοντικά σας σχέδια!;-)
Παρακαλώ κατεβάστε τον παρακάτω κώδικα!
* ΕΠΕΞΕΡΓΑΣΙΑ: για ένα παρόμοιο έργο, ρίξτε μια ματιά στο https://haply.co *
Βήμα 1: Χτίζοντας τη δομή
Ανάλογα με τον σκοπό που έχετε κατά νου, θα πρέπει πρώτα να σχεδιάσετε μια δομή 5 συνδέσμων. Σκεφτείτε τις μετρήσεις, τους ενεργοποιητές που θέλετε να χρησιμοποιήσετε και πώς να συνδέσετε τις αρθρώσεις για ομαλές κινήσεις.
Για το πρωτότυπό μου, τρέχω τον κώδικα μου σε ένα Arduino DUE που ελέγχεται κατά σειρά από ένα πρόγραμμα στο Mac μου που δημιουργήθηκε στα Open Frameworks. Το πρόγραμμα χρησιμοποιεί σύνδεση UDP για επικοινωνία με προσομοιωτή οδήγησης που βασίζεται σε Unity 3D.
Το πρωτότυπο Scribble χρησιμοποιεί ρουλεμάν 5 χιλιοστών και είναι κατασκευασμένο από ακρυλικό κομμένο με λέιζερ 5 χιλιοστών. Οι ενεργοποιητές είναι οι Haptic Engines του Frank van Valeknhoef που επιτρέπουν την ενεργοποίηση, την ανάγνωση της θέσης και την έξοδο μιας μεταβλητής δύναμης. Αυτό τα έκανε ιδανικά για τις επιθυμητές απτικές ιδιότητες του Scribble. Περισσότερα για τους ενεργοποιητές του μπορείτε να βρείτε εδώ:
Βήμα 2: Γνωρίστε τις αξίες υλικού σας
Η κινηματογραφική κίνηση βασίζεται στον μετεωρολογικό σταθμό Plot clock της SAP:
Όπως φαίνεται στη διαμόρφωσή τους, επεκτείνεται για το χέρι να κρατάει έναν δείκτη για να σχεδιάσει. Αυτό έχει αφαιρεθεί αφού δεν εξυπηρετούσε κανένα σκοπό για το πρωτότυπο σκαρίφημα. Ελέγξτε τον κωδικό τους εάν θέλετε να προσθέσετε ξανά αυτό το στοιχείο. Τα ονόματα στην εικόνα διατηρούνται τα ίδια στη διαμόρφωσή μου.
Ανάλογα με το υλικό σας, ο αλγόριθμος πρέπει να γνωρίζει τις ιδιότητες του υλικού σας:
int leftActuator, rightActuator; // γωνία για να γράψετε στον ενεργοποιητή σε βαθμίδα, αλλάξτε σε πλωτήρες εάν θέλετε περισσότερη ακρίβεια
int posX, posY; // οι συντεταγμένες της θέσης του δείκτη
Ορίστε την ανάλυση των τιμών εισόδου σας
int posStepsX = 2000;
int posStepsY = 1000;
Διαστάσεις της ρύθμισής σας, οι τιμές είναι σε mm (δείτε εικόνα SAP)
#define L1 73 // μήκος βραχίονα κινητήρα, δείτε την εικόνα SAP (αριστερά και δεξιά είναι τα ίδια)
#define L2 95 // βραχίονας επέκτασης μήκους, δείτε την εικόνα SAP (αριστερά και δεξιά είναι τα ίδια)
#καθορίστε το εύρος X 250 // μέγιστο εύρος σε κατεύθυνση Χ για να μετακινηθεί το σημείο (από αριστερά προς τα δεξιά, 0 - maxVal)
#ορίστε το εύροςY 165 // μέγιστο εύρος στην κατεύθυνση Υ για να κινείται το σημείο (από το 0 στη μέγιστη προσέγγιση ενώ μένετε στο κέντρο)
#καθορίστε την προέλευσηL 90 // μετατόπιση της απόστασης από την ελάχιστη ελάχιστη τιμή X έως τη θέση του κεντρικού ενεργοποιητή
#καθορίστε την προέλευσηR 145 // μετατόπιση της απόστασης από την ελάχιστη ελάχιστη τιμή X στη θέση του κεντρικού ενεργοποιητή, η απόσταση μεταξύ των δύο κινητήρων είναι στην περίπτωση αυτή
Βήμα 3: Forward Kinematics
Όπως αναφέρθηκε στο προηγούμενο βήμα, η κινηματογραφική κίνηση βασίζεται στον αλγόριθμο του SAP.
Το κενό ενημερώνει τις επιθυμητές τιμές γωνίας αριστερού και δεξιού ενεργοποιητή που ορίστηκαν νωρίτερα. Με βάση τις τιμές Χ και Υ που είναι συνδεδεμένες, θα υπολογίσει τις σωστές γωνίες για να φτάσει ο δείκτης σε αυτήν τη θέση.
void set_XY (διπλό Tx, διπλό Ty) // εισάγετε την τιμή Χ και Υ {// ορισμένα βαλς που χρειαζόμαστε αλλά δεν θέλουμε να τα αποθηκεύσουμε για μεγάλο χρονικό διάστημα διπλά dx, dy, c, a1, a2, Hx, Hy. // ανάλυση inpit χάρτη στο εύρος της διαμόρφωσής σας στον πραγματικό κόσμο int realX = χάρτης (Tx, 0, posStepsX, 0, rangeX); // swap if mapping if is inversed int realY = map (Ty, posStepsX, 0, 0, rangeY); // swap if mapping if inversed // calc angle for left actuator // cartesian dx/dy dx = realX - originL; // περιλαμβάνει offset dy = realY; // πολικό μήκος (c) και γωνία (a1) c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = return_angle (L1, L2, c); leftActuator = πάτωμα (((M_PI - (a2 + a1)) * 4068) / 71); // τελική γωνία και μετατροπή από rad σε deg // γωνία calc για σωστό ενεργοποιητή dx = realX - originR; // περιλαμβάνει offset dy = realY; c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = γωνία επιστροφής (L1, L2, c); rightActuator = πάτωμα (((a1 - a2) * 4068) / 71); // τελική γωνία και μετατροπή από rad σε deg}
Πρόσθετο κενό για τον υπολογισμό της γωνίας:
διπλό γωνία επιστροφής (διπλό a, διπλό b, διπλό c) {// κανόνας συνημίτονο για γωνία μεταξύ c και επιστροφής acos ((a * a + c * c - b * b) / (2 * a * c)); }
Βήμα 4: Αντίστροφη κινηματική
Η αντίστροφη κινηματική λειτουργεί αντίστροφα. Συνδέετε την περιστροφή των ενεργοποιητών σας σε μοίρες και το κενό θα ενημερώσει τη θέση που ορίστηκε νωρίτερα.
Λάβετε υπόψη ότι θα χρειαστείτε ενεργοποιητές ή ξεχωριστό αισθητήρα που μπορεί να διαβάσει τη γωνία του βραχίονα. Στην περίπτωσή μου, χρησιμοποίησα ενεργοποιητές που μπορούν να διαβάζουν και να γράφουν ταυτόχρονα τη θέση τους. Μη διστάσετε να πειραματιστείτε με αυτό και σκεφτείτε να προσθέσετε κάποιο είδος βαθμονόμησης, ώστε να είστε βέβαιοι ότι η γωνία σας έχει διαβαστεί σωστά.
Συνιστάται:
Mini Drawing Bot - Ζωντανή εφαρμογή Android - Trignomentry: 18 βήματα (με εικόνες)
Mini Drawing Bot-Live Android App-Trignomentry: Ευχαριστώ τον ΘΕΟ και όλους εσάς που κάνατε το έργο μου Baby-MIT-Cheetah-Robot κέρδισε το πρώτο βραβείο στον Διαγωνισμό Make it Move. Είμαι πολύ χαρούμενος γιατί πολλοί φίλοι κάνουν πολλές ερωτήσεις σε συνομιλίες και μηνύματα. Ένα από τα σημαντικά ερωτήματα ήταν πώς
MXY Board - Low -Budget XY Plotter Drawing Robot Board: 8 βήματα (με εικόνες)
MXY Board - Low -Budget XY Plotter Drawing Robot Board: Ο στόχος μου ήταν να σχεδιάσω τον πίνακα mXY για να κάνω χαμηλό προϋπολογισμό τη μηχανή σχεδίασης XY plotter. Έτσι σχεδίασα έναν πίνακα που διευκολύνει όσους θέλουν να κάνουν αυτό το έργο. Στο προηγούμενο έργο, ενώ χρησιμοποιούσατε 2 βηματικούς κινητήρες Nema17, αυτός ο πίνακας
Tracey - Drawing Machine: 22 βήματα (με εικόνες)
Tracey - Drawing Machine: Αυτό το Instructable είναι ένα έργο σε εξέλιξη - θα εργαστούμε σκληρά για να το κάνουμε πιο εύκολο έργο, αλλά τα αρχικά προσχέδια θα απαιτήσουν εμπειρία κατασκευαστή, τρισδιάστατη εκτύπωση, συναρμολόγηση ανταλλακτικών, συγκόλληση ηλεκτρονικών εξαρτημάτων, εμπειρία με το Arduino IDE κ.λπ
LEGO Delta Robot Scanning & Drawing: 7 βήματα (με εικόνες)
LEGO Delta Robot Scanning & Drawing: Χρησιμοποιώντας το LEGO NXT για την κατασκευή ενός Delta Robot. Συνδυασμένη σάρωση και σχέδιο
Drunken Drawing Robot!: 4 Βήματα (με Εικόνες)
Drunken Drawing Robot!: Εμπνευσμένο από το τσέπη μεθυσμένο ρομπότ, ήθελα να δώσω δουλειά στο ρομπότ. Αποφάσισα να αφήσω το μεθυσμένο ρομπότ να κάνει κάποια σχέδια. Για να φτιάξετε τη δική σας θα χρειαστείτε τα ακόλουθα: υλικά: 3 μαρκαδόρους με τσόχα ένα κελί με κουμπιά, πολύ προσκολλημένο