Κίνηση Ev3 κατά μήκος της γραμμής. Διεθνείς διαγωνισμοί ρομπότ - Κανόνες - Παραδείγματα ρομπότ - Ρομπότ τροχιάς βασισμένο στο LEGO EV3. Παράδειγμα για το πώς λειτουργεί ο αλγόριθμος

Ας αναλογιστούμε απλούστερος αλγόριθμοςκίνηση κατά μήκος της μαύρης γραμμής σε έναν έγχρωμο αισθητήρα στο EV3.

Αυτός ο αλγόριθμος είναι ο πιο αργός, αλλά ο πιο σταθερός.

Το ρομπότ δεν θα κινείται αυστηρά κατά μήκος της μαύρης γραμμής, αλλά κατά μήκος των ορίων του, γυρίζοντας αριστερά και δεξιά και σταδιακά προχωρώντας προς τα εμπρός.

Ο αλγόριθμος είναι πολύ απλός: αν ο αισθητήρας βλέπει μαύρο, τότε το ρομπότ γυρίζει προς τη μία κατεύθυνση, αν είναι λευκό, προς την άλλη.

Εφαρμογή σε περιβάλλον Lego Mindstorms EV3

Και στα δύο μπλοκ κίνησης, επιλέξτε τη λειτουργία "ενεργοποίηση". Ρυθμίζουμε τον διακόπτη σε αισθητήρα χρώματος - μέτρησης - χρώματος. Στο κάτω μέρος, μην ξεχάσετε να αλλάξετε το "χωρίς χρώμα" σε λευκό. Επίσης, πρέπει να καθορίσετε σωστά όλες τις θύρες.

Μην ξεχάσετε να προσθέσετε έναν κύκλο, το ρομπότ δεν θα πάει πουθενά χωρίς αυτόν.

Ελέγξτε το. Για να επιτευχθεί καλύτερο αποτέλεσμαδοκιμάστε να αλλάξετε τις τιμές διεύθυνσης και ισχύος.

Κίνηση με δύο αισθητήρες:

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


Ο αλγόριθμος θα είναι ο εξής:
Εάν και οι δύο αισθητήρες βλέπουν λευκό, προχωράμε μπροστά.
Εάν ένας από τους αισθητήρες βλέπει λευκό και ο άλλος μαύρος, στρίψτε προς το μαύρο.
Αν και οι δύο αισθητήρες βλέπουν μαύρο, είμαστε σε διασταύρωση (για παράδειγμα, σταματάμε).

Για να εφαρμόσουμε τον αλγόριθμο, θα χρειαστεί να παρακολουθήσουμε τις μετρήσεις και των δύο αισθητήρων και μόνο μετά από αυτό να ρυθμίσουμε το ρομπότ να κινηθεί. Για να το κάνουμε αυτό, θα χρησιμοποιήσουμε διακόπτες ενσωματωμένους σε άλλο διακόπτη. Έτσι, πρώτα θα μετρήσουμε τον πρώτο αισθητήρα και, στη συνέχεια, ανεξάρτητα από τις μετρήσεις του πρώτου, θα μετρήσουμε τον δεύτερο αισθητήρα, μετά τον οποίο θα ορίσουμε τη δράση.
Ας συνδέσουμε τον αριστερό αισθητήρα στη θύρα Νο. 1, τον δεξιό στη θύρα Νο. 4.

Πρόγραμμα με σχόλια:

Μην ξεχνάτε ότι ξεκινάμε τους κινητήρες στη λειτουργία «On» ώστε να λειτουργούν όσο χρειάζεται με βάση τις ενδείξεις του αισθητήρα. Επίσης, οι άνθρωποι συχνά ξεχνούν την ανάγκη για βρόχο - χωρίς αυτόν, το πρόγραμμα θα τελειώσει αμέσως.

http://studrobots.ru/

Το ίδιο πρόγραμμα για το μοντέλο NXT:

Μελετήστε το πρόγραμμα κίνησης. Προγραμματίστε το ρομπότ. Αποστολή βίντεο με τη δοκιμή του μοντέλου

Αλγόριθμοι για τον έλεγχο ενός κινητού ρομπότ LEGO. Κίνηση γραμμής με δύο αισθητήρες φωτός

Δάσκαλος πρόσθετης εκπαίδευσης

Kazakova Lyubov Alexandrovna


Κίνηση κατά μήκος της γραμμής


Αλγόριθμος για κίνηση κατά μήκος της μαύρης γραμμής χωρίς αναλογικό ελεγκτή

  • Και οι δύο κινητήρες περιστρέφονται με την ίδια ισχύ
  • Εάν ο δεξιός αισθητήρας φωτός χτυπήσει τη μαύρη γραμμή, τότε η ισχύς του αριστερού κινητήρα (για παράδειγμα Β) μειώνεται ή σταματά
  • Εάν ο αριστερός αισθητήρας φωτός χτυπήσει στη μαύρη γραμμή, τότε η ισχύς ενός άλλου κινητήρα (για παράδειγμα C) μειώνεται (επιστρέφει στη γραμμή), μειώνεται ή σταματά
  • Εάν και οι δύο αισθητήρες είναι σε λευκό ή μαύρο, τότε εμφανίζεται γραμμική κίνηση

Η κίνηση οργανώνεται αλλάζοντας την ισχύ ενός από τους κινητήρες


Παράδειγμα προγράμματος οδήγησης κατά μήκος μαύρης γραμμής χωρίς ελεγκτή P

Η κίνηση οργανώνεται αλλάζοντας τη γωνία περιστροφής


  • Ένας αναλογικός ελεγκτής (P-controller) σας επιτρέπει να προσαρμόσετε τη συμπεριφορά του ρομπότ ανάλογα με το πόσο διαφέρει η συμπεριφορά του από την επιθυμητή.
  • Όσο περισσότερο το ρομπότ αποκλίνει από τον στόχο, τόσο περισσότερη προσπάθεια χρειάζεται να καταβάλει για να επιστρέψει σε αυτόν.

  • Ο ελεγκτής P χρησιμοποιείται για να διατηρεί το ρομπότ σε μια συγκεκριμένη κατάσταση:
  • Διατήρηση της θέσης του χειριστή Κίνηση κατά μήκος μιας γραμμής (αισθητήρας φωτός) Κίνηση κατά μήκος ενός τοίχου (αισθητήρας απόστασης)
  • Κρατώντας τη θέση του χειριστή
  • Κίνηση γραμμής (αισθητήρας φωτός)
  • Κίνηση κατά μήκος του τοίχου (αισθητήρας απόστασης)

Κίνηση γραμμής με έναν αισθητήρα

  • Ο στόχος είναι να κινηθεί κατά μήκος του «ασπρομαύρου» συνόρων
  • Ένα άτομο μπορεί να διακρίνει τα όρια μεταξύ λευκού και μαύρου. Ένα ρομπότ δεν μπορεί.
  • Ο στόχος για το ρομπότ είναι γκρι

Οδήγηση μέσω διασταυρώσεων

Όταν χρησιμοποιείτε δύο αισθητήρες φωτός, είναι δυνατό να οργανωθεί η κίνηση κατά μήκος πιο σύνθετων διαδρομών



Αλγόριθμος για οδήγηση κατά μήκος αυτοκινητόδρομου με διασταυρώσεις

  • Και οι δύο αισθητήρες είναι στο λευκό - το ρομπότ οδηγεί ευθεία (και οι δύο κινητήρες περιστρέφονται με την ίδια ισχύ)
  • Εάν ο δεξιός αισθητήρας φωτός χτυπήσει στη μαύρη γραμμή και ο αριστερός στη λευκή γραμμή, τότε εμφανίζεται μια δεξιά στροφή
  • Εάν ο αριστερός αισθητήρας φωτός χτυπήσει στη μαύρη γραμμή και ο δεξιός στη λευκή γραμμή, τότε στρίβει αριστερά
  • Εάν και οι δύο αισθητήρες είναι μαύροι, τότε εμφανίζεται γραμμική κίνηση. Μπορείτε να μετρήσετε διασταυρώσεις ή να εκτελέσετε οποιεσδήποτε ενέργειες


Αρχή λειτουργίας του ρυθμιστή P

Θέση αισθητήρα

Ο=Ο1-Ο2


Αλγόριθμος για κίνηση κατά μήκος της μαύρης γραμμής με αναλογικό ελεγκτή

HC = K*(C-T)

  • Ts - τιμές στόχου (λάβετε μετρήσεις από τον αισθητήρα φωτός σε λευκό και μαύρο, υπολογίστε τον μέσο όρο)
  • T - τιμή ρεύματος - που λαμβάνεται από τον αισθητήρα
  • K - συντελεστής ευαισθησίας. Όσο περισσότερο, τόσο μεγαλύτερη είναι η ευαισθησία



Για να δείτε την παρουσίαση με εικόνες, σχέδιο και διαφάνειες, κατεβάστε το αρχείο του και ανοίξτε το στο PowerPointστον υπολογιστή σας.
Περιεχόμενο κειμένου των διαφανειών παρουσίασης:
"Αλγόριθμος για κίνηση κατά μήκος της μαύρης γραμμής με έναν αισθητήρα χρώματος" Λέσχη για τη "Ρομποτική" Δάσκαλος πριν από τον Yezidov Akhmed ElievichAt MBU DO "Shelkovskaya TsTT" Για τη μελέτη του αλγόριθμου για την κίνηση κατά μήκος της μαύρης γραμμής, θα χρησιμοποιηθεί Ρομπότ Lego Mindstorms EV3 με έναν αισθητήρα χρώματος Αισθητήρας χρώματος Ο αισθητήρας χρώματος διακρίνει 7 χρώματα και μπορεί να ανιχνεύσει την απουσία χρώματος. Όπως και στο NXT, μπορεί να λειτουργήσει ως αισθητήρας φωτός για αγώνες ρομπότ "Line S" Το προτεινόμενο γήπεδο προπόνησης με το σχήμα του γράμματος "S" θα σας επιτρέψει να πραγματοποιήσετε άλλη μια ενδιαφέρουσα δοκιμή των δημιουργημένων ρομπότ για ταχύτητα. και αντίδραση. Ας εξετάσουμε τον απλούστερο αλγόριθμο για την κίνηση κατά μήκος της μαύρης γραμμής σε έναν έγχρωμο αισθητήρα στο EV3. Αυτός ο αλγόριθμος είναι ο πιο αργός, αλλά ο πιο σταθερός προχωρώντας σταδιακά προς τα εμπρός Ο αλγόριθμος είναι πολύ απλός: αν ο αισθητήρας βλέπει μαύρο, τότε το ρομπότ γυρίζει προς τη μία κατεύθυνση, αν είναι λευκό, προς την άλλη. Ακολουθώντας μια γραμμή στη λειτουργία φωτεινότητας ανακλώμενου φωτός με δύο αισθητήρες Μερικές φορές ο αισθητήρας χρώματος δεν είναι αρκετά αποτελεσματικός για να διακρίνει μεταξύ μαύρου και λευκά χρώματα. Η λύση σε αυτό το πρόβλημα είναι να χρησιμοποιήσετε τον αισθητήρα όχι σε λειτουργία ανίχνευσης χρώματος, αλλά σε λειτουργία ανίχνευσης φωτεινότητας ανακλώμενου φωτός. Σε αυτή τη λειτουργία, γνωρίζοντας τις τιμές του αισθητήρα σε μια σκοτεινή και ανοιχτή επιφάνεια, μπορούμε να πούμε ανεξάρτητα τι θα θεωρείται λευκό και τι μαύρο. Τώρα ας προσδιορίσουμε τις τιμές φωτεινότητας σε λευκές και μαύρες επιφάνειες. Για να το κάνετε αυτό, στο μενού μπλοκ EV3 βρίσκουμε την καρτέλα "Εφαρμογές μονάδας" Τώρα βρίσκεστε στο παράθυρο προβολής της θύρας και μπορείτε να δείτε τις ενδείξεις όλων των αισθητήρων την τρέχουσα στιγμή. Οι αισθητήρες μας θα πρέπει να ανάβουν κόκκινο, πράγμα που σημαίνει ότι λειτουργούν σε λειτουργία ανίχνευσης φωτεινότητας ανακλώμενου φωτός. Εάν λάμπουν μπλε, στο παράθυρο προβολής θύρας στην επιθυμητή θύρα, πατήστε το κεντρικό κουμπί και επιλέξτε τη λειτουργία COL-REFLECT Τώρα ας τοποθετήσουμε το ρομπότ έτσι ώστε και οι δύο αισθητήρες να βρίσκονται πάνω από τη λευκή επιφάνεια. Εξετάζουμε τους αριθμούς στις θύρες 1 και 4. Στην περίπτωσή μας, οι τιμές είναι 66 και 71, αντίστοιχα. Αυτές θα είναι οι λευκές τιμές των αισθητήρων. Τώρα ας τοποθετήσουμε το ρομπότ έτσι ώστε οι αισθητήρες να βρίσκονται πάνω από τη μαύρη επιφάνεια. Ας δούμε ξανά τις τιμές των θυρών 1 και 4 Έχουμε 5 και 6, αντίστοιχα. Αυτές είναι οι έννοιες του μαύρου. Στη συνέχεια, θα αλλάξουμε το προηγούμενο πρόγραμμα. Δηλαδή, θα αλλάξουμε τις ρυθμίσεις των διακοπτών. Προς το παρόν έχουν εγκατεστημένο Color Sensor -> Measurement -> Color. Πρέπει επίσης να ρυθμίσουμε το Color Sensor -> Comparison -> Reflected Light Brightness Τώρα πρέπει να ορίσουμε τον "τύπο σύγκρισης" και την "τιμή κατωφλίου". Η τιμή κατωφλίου είναι η τιμή ορισμένων "γκρι", τιμών μικρότερες από τις οποίες θα θεωρήσουμε μαύρο και περισσότερες - λευκές. Για μια πρώτη προσέγγιση, είναι βολικό να χρησιμοποιήσετε τη μέση τιμή μεταξύ του λευκού και του μαύρου κάθε αισθητήρα. Έτσι, η τιμή κατωφλίου του πρώτου αισθητήρα (θύρα Νο 1) θα είναι (66+5)/2=35,5. Ας στρογγυλοποιήσουμε στο 35. Οριακή τιμή του δεύτερου αισθητήρα (θύρα Νο. 4): (71+6)/2 = 38,5. Ας στρογγυλοποιήσουμε στο 38. Τώρα ορίζουμε αυτές τις τιμές σε κάθε διακόπτη ανάλογα. Αυτό είναι όλο, τα μπλοκ με κινήσεις παραμένουν στις θέσεις τους χωρίς αλλαγές, αφού αν βάλουμε το σύμβολο «τύπος σύγκρισης».<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 - ставьте датчики ниже. Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

Για να κάνετε το ρομπότ να κινείται ομαλά κατά μήκος της μαύρης γραμμής, πρέπει να το αναγκάσετε να υπολογίσει την ίδια την ταχύτητα κίνησης.

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

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

Αρχικά, ας εισαγάγουμε την έννοια του "Ιδανικού σημείου τροχιάς".

Οι ενδείξεις του αισθητήρα φωτός κυμαίνονται από 20 έως 80, πιο συχνά στο λευκό οι ενδείξεις είναι περίπου 65, στο μαύρο περίπου 40.

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

Εδώ η θέση του σημείου είναι θεμελιώδης - μεταξύ λευκού και μαύρου. Δεν θα είναι δυνατό να το ρυθμίσετε ακριβώς σε λευκό ή μαύρο για μαθηματικούς λόγους θα γίνει σαφές αργότερα.

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

Το ρομπότ πρέπει να κινείται αυστηρά κατά μήκος του ιδανικού σημείου. Εάν υπάρχει απόκλιση προς οποιαδήποτε κατεύθυνση, το ρομπότ πρέπει να επιστρέψει σε αυτό το σημείο.

Ας συνθέσουμε μαθηματική περιγραφή του προβλήματος.

Αρχικά στοιχεία.

Ιδανικό σημείο.

Τρέχουσες μετρήσεις αισθητήρα φωτός.

Αποτέλεσμα.

Ισχύς περιστροφής κινητήρα V.

Ισχύς περιστροφής κινητήρα C.

Διάλυμα.

Ας εξετάσουμε δύο καταστάσεις. Πρώτον: το ρομπότ παρέκκλινε από τη μαύρη γραμμή προς τη λευκή γραμμή.

Σε αυτή την περίπτωση, το ρομπότ πρέπει να αυξήσει την ισχύ περιστροφής του κινητήρα Β και να μειώσει την ισχύ του κινητήρα C.

Σε μια κατάσταση όπου το ρομπότ μπαίνει στη μαύρη γραμμή, ισχύει το αντίθετο.

Όσο περισσότερο το ρομπότ αποκλίνει από το ιδανικό σημείο, τόσο πιο γρήγορα χρειάζεται να επιστρέψει σε αυτό.

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

Ως εκ τούτου, αποφασίσαμε να περιοριστούμε μόνο στον ρυθμιστή P, ο οποίος ανταποκρίνεται επαρκώς σε αποκλίσεις από τη μαύρη γραμμή.

Στη μαθηματική γλώσσα θα γραφτεί ως εξής:

όπου Hb και Hc είναι οι τελικές ισχύς των κινητήρων B και C, αντίστοιχα,

Βάση – μια ορισμένη βασική ισχύς των κινητήρων που καθορίζει την ταχύτητα του ρομπότ. Επιλέγεται πειραματικά, ανάλογα με το σχεδιασμό του ρομπότ και την ευκρίνεια των στροφών.

Itek – τρέχουσες μετρήσεις του αισθητήρα φωτός.

Iid – υπολογισμένο ιδανικό σημείο.

k – συντελεστής αναλογικότητας, επιλεγμένος πειραματικά.

Στο τρίτο μέρος θα δούμε πώς να το προγραμματίσουμε στο περιβάλλον NXT-G.

Αυτό το πρόβλημα είναι κλασικό, ιδεολογικά απλό, μπορεί να λυθεί πολλές φορές, και κάθε φορά θα ανακαλύπτεις κάτι νέο για τον εαυτό σου.

Υπάρχουν πολλές προσεγγίσεις για την επίλυση του προβλήματος που ακολουθεί. Η επιλογή ενός από αυτά εξαρτάται από το συγκεκριμένο σχέδιο του ρομπότ, από τον αριθμό των αισθητήρων, τη θέση τους σε σχέση με τους τροχούς και μεταξύ τους.

Στο παράδειγμά μας, τρία παραδείγματα ρομπότ θα αναλυθούν με βάση το κύριο εκπαιδευτικό μοντέλο του Robot Educator.

Αρχικά, συναρμολογούμε το βασικό μοντέλο του εκπαιδευτικού ρομπότ Robot Educator για αυτό μπορείτε να χρησιμοποιήσετε τις οδηγίες στο λογισμικό MINDSTORMS EV3.

Επίσης, για παράδειγμα, θα χρειαστούμε αισθητήρες ανοιχτού χρώματος EV3. Αυτοί οι αισθητήρες φωτός, όπως κανένας άλλος, είναι οι πλέον κατάλληλοι για την εργασία μας όταν εργαζόμαστε μαζί τους, δεν χρειάζεται να ανησυχούμε για την ένταση του περιβάλλοντος φωτός. Για αυτόν τον αισθητήρα, στα προγράμματα θα χρησιμοποιήσουμε τη λειτουργία ανακλώμενου φωτός, στην οποία υπολογίζεται η ποσότητα του ανακλώμενου φωτός από τον κόκκινο οπίσθιο φωτισμό του αισθητήρα. Τα όρια των ενδείξεων του αισθητήρα είναι 0 - 100 μονάδες, για "χωρίς ανάκλαση" και "ολική ανάκλαση", αντίστοιχα.

Ως παράδειγμα, θα αναλύσουμε 3 παραδείγματα προγραμμάτων για κίνηση κατά μήκος μιας μαύρης τροχιάς που απεικονίζεται σε επίπεδο, ανοιχτό φόντο:

· Ένας αισθητήρας, με ρυθμιστή P.

· Ένας αισθητήρας, με ρυθμιστή Η/Υ.

· Δύο αισθητήρες.

Παράδειγμα 1. Ένας αισθητήρας, με ρυθμιστή P.

Σχέδιο

Ο αισθητήρας φωτός είναι εγκατεστημένος σε μια δέσμη που βρίσκεται σε βολική θέση στο μοντέλο.


Αλγόριθμος

Η λειτουργία του αλγορίθμου βασίζεται στο γεγονός ότι, ανάλογα με τον βαθμό επικάλυψης της δέσμης φωτισμού του αισθητήρα με μια μαύρη γραμμή, οι μετρήσεις που επιστρέφονται από τον αισθητήρα ποικίλλουν με κλίση. Το ρομπότ διατηρεί τη θέση του αισθητήρα φωτός στο όριο της μαύρης γραμμής. Μετατρέποντας τα δεδομένα εισόδου από τον αισθητήρα φωτός, το σύστημα ελέγχου δημιουργεί μια τιμή για την ταχύτητα στροφής του ρομπότ.


Δεδομένου ότι σε μια πραγματική τροχιά ο αισθητήρας παράγει τιμές σε όλο το εύρος λειτουργίας του (0-100), το 50 επιλέγεται ως η τιμή στην οποία προσπαθεί το ρομπότ, σε αυτήν την περίπτωση, οι τιμές που μεταδίδονται στις συναρτήσεις περιστροφής το εύρος -50 - 50, αλλά αυτές οι τιμές δεν επαρκούν για μια απότομη στροφή της τροχιάς. Επομένως, το εύρος θα πρέπει να επεκταθεί μιάμιση φορά σε -75 - 75.

Ως αποτέλεσμα, στο πρόγραμμα, η συνάρτηση αριθμομηχανής είναι ένας απλός αναλογικός ελεγκτής. Η λειτουργία του οποίου ( (α-50)*1,5 ) στο εύρος λειτουργίας του αισθητήρα φωτός δημιουργεί τιμές περιστροφής σύμφωνα με το γράφημα:

Παράδειγμα για το πώς λειτουργεί ο αλγόριθμος

Παράδειγμα 2. Ένας αισθητήρας, με ρυθμιστή PK.

Αυτό το παράδειγμα βασίζεται στην ίδια κατασκευή.

Πιθανότατα παρατηρήσατε ότι στο προηγούμενο παράδειγμα το ρομπότ ταλαντευόταν υπερβολικά, κάτι που δεν του επέτρεψε να επιταχύνει αρκετά. Τώρα θα προσπαθήσουμε να βελτιώσουμε λίγο αυτή την κατάσταση.

Στον αναλογικό ελεγκτή μας προσθέτουμε επίσης έναν απλό ελεγκτή κύβου, ο οποίος θα προσθέσει κάμψη στη λειτουργία του ελεγκτή. Αυτό θα μειώσει την ταλάντευση του ρομπότ κοντά στο επιθυμητό όριο της τροχιάς, καθώς και θα κάνει πιο δυνατά τραντάγματα όταν είναι μακριά από αυτό.