Προγραμματισμός βασισμένος στη συμπεριφορά

Πολυπλοκότητα Προγραμματισμού
Τα ρομπότ μπορούν να σχεδιαστούν για να εκτελούν ένα ευρύ φάσμα εργασιών. Μερικές από αυτές τις εργασίες είναι πολύ απλές, όπως το άνοιγμα μιας αυτόματης πόρτας. Άλλα μπορεί να είναι πολύ πιο περίπλοκα, όπως ένα αυτόνομο αυτοκίνητο που πλοηγείται σε αστικό περιβάλλον. Όσο περίπλοκη κι αν είναι η εργασία, μπορεί να χωριστεί σε απλούστερες. Αυτές οι εργασίες είναι γνωστές ως συμπεριφορές και αποτελούν τα δομικά στοιχεία του προγραμματισμού ρομποτικής.
Μια συμπεριφορά είναι ο τρόπος με τον οποίο ενεργεί ένα ρομπότ και μπορεί να ποικίλλει σε πολυπλοκότητα ανάλογα με τον τρόπο κατασκευής ή προγραμματισμού του ρομπότ. Ένα απλό κινητό ρομπότ όπως το VEX V5 Speedbot έχει μόνο δύο κινητήρες, ενώ το Clawbot έχει τέσσερις κινητήρες, συμπεριλαμβανομένων δύο επιπλέον κινητήρων για το βραχίονα και το νύχι. Οι συμπεριφορές και για τα δύο ρομπότ θα περιλαμβάνουν την ενεργοποίηση αυτών των κινητήρων για την επίτευξη των καθορισμένων στόχων. Με περισσότερο σχεδιασμό και προγραμματισμό, μπορείτε να ξεκινήσετε από αυτήν την απλή συμπεριφορά και να εφαρμόσετε πιο σύνθετες συμπεριφορές.
Παρακάτω είναι μια λίστα με συμπεριφορές ρομπότ που αυξάνονται από απλές σε σύνθετες τόσο για το Speedbot όσο και για το Clawbot. Σε παρενθέσεις, μπορείτε να δείτε τις απλούστερες συμπεριφορές που συνθέτουν την καθεμία.
- Περιστρέψτε έναν κινητήρα που έχει αντιστοιχιστεί σε μια συγκεκριμένη θύρα
- Οδηγήστε προς τα εμπρός (περιστρέψτε και τον αριστερό και τον δεξιό κινητήρα χρησιμοποιώντας το σύστημα μετάδοσης κίνησης)
- Ταξιδέψτε 5 μέτρα (προχωρήστε μπροστά και μετά σταματήστε)
- Πιάσε ένα μακρινό αντικείμενο (ταξίδεψε 2 μέτρα, περιστρέψτε το μοτέρ με το νύχι για να το πιάσεις)
- Ανακτήστε ένα αντικείμενο και τοποθετήστε το σε ένα ψηλό ράφι (πιάστε ένα μακρινό αντικείμενο, γυρίστε, διανύστε 2 μέτρα, χρησιμοποιήστε τους κινητήρες βραχίονα και νύχι για να σηκώσετε και να απελευθερώσετε το αντικείμενο)
Μπορείτε να δείτε πώς μπορείτε να αποδομήσετε οποιεσδήποτε από τις πιο σύνθετες συμπεριφορές σε απλούστερες. Αυτά γίνονται τα δομικά στοιχεία κάθε σύνθετης εργασίας.
Συμβουλές για τους Δασκάλους
-
Δώστε οδηγίες στους μαθητές να αναλύσουν τις σύνθετες συμπεριφορές του ρομπότ σε μικρότερα, απλά βήματα. Αυτή η διαδικασία είναι γνωστή ως αποσύνθεση.
-
Εξηγήστε στους μαθητές ότι η αποσύνθεση (διασπάσιμο) σύνθετων συμπεριφορών σε απλούστερες εργασίες είναι ένα σημαντικό μέρος του σχεδιασμού και του προγραμματισμού.
-
Επιτρέψτε στους μαθητές να εκτελούν τα αυτόνομα έργα τους εάν υπάρχει αρκετός χρόνος στην τάξη.
Επεκτείνετε τη Μάθησή σας
Για να συνδέσετε αυτήν τη δραστηριότητα με την υπολογιστική σκέψη και την αποσύνθεση, ζητήστε από τους μαθητές να χαρτογραφήσουν ή να απαριθμήσουν τα βήματα συμπεριφοράς που θα εκτελούσε ένα ρομπότ για να ολοκληρώσει τις παρακάτω δραστηριότητες:
-
Δραστηριότητα 1: Διανύστε 1 μέτρο και επιστρέψτε στο σημείο εκκίνησης.
-
Δραστηριότητα Δύο: Γυρίστε ένα κουτί που βρίσκεται 60 cm μπροστά από το ρομπότ.
-
Δραστηριότητα Τρίτη: Πάρτε ένα αντικείμενο, κουνήστε το, μετακινηθείτε 30 cm, τοποθετήστε το αντικείμενο στο έδαφος και επιστρέψτε στο σημείο εκκίνησης.
Παρακινήστε τη συζήτηση
Οι μαθητές θα πρέπει να μοιραστούν τα βήματα συμπεριφοράς που απαριθμούν για τις δραστηριότητες από το "Επεκτείνετε τη Μάθησή σας" παραπάνω. Κάθε μία από τις ακόλουθες ερωτήσεις μπορεί να τεθεί μετά από οποιαδήποτε ή όλες τις δραστηριότητες.
Ε:Ποια βήματα ή συμπεριφορές απαρίθμησε κάθε ομάδα για να ολοκληρώσει με επιτυχία αυτή τη δραστηριότητα;
Α:Οι μαθητές θα πρέπει να λάβουν υπόψη το μήκος που πρέπει να διανύσει το ρομπότ και την κίνηση και την ταχύτητα του βραχίονα, εκτός από την απαρίθμηση των απλών συμπεριφορών του ρομπότ που απαιτούνται για την ολοκλήρωση της δραστηριότητας ή της εργασίας (κίνηση προς τα εμπρός, όπισθεν, στροφή αριστερά ή δεξιά). Οι μαθητές θα πρέπει να δημιουργήσουν τις λίστες τους με συμπεριφορές έτσι ώστε κάθε βήμα να αναπαρίσταται.
Ε:Ποιες ήταν οι ομοιότητες και οι διαφορές μεταξύ των λύσεων (λίστες βημάτων) για αυτήν τη δραστηριότητα;
Α:Οι μαθητές θα κάνουν συγκρίσεις με βάση τις λύσεις τους. Ένα διάγραμμα Venn μπορεί να είναι ένας καλός τρόπος για να οργανώσετε τα βήματα που μοιράζονται οι μαθητές. Αν η πλειοψηφία των μαθητών ονομάσει ένα συγκεκριμένο βήμα, προσθέστε το στο κέντρο όπου οι κύκλοι επικαλύπτονται. Αν μόνο ένας ή λίγοι μαθητές ονομάσουν ένα συγκεκριμένο βήμα, προσθέστε το σε έναν ή στον άλλο κύκλο. Όταν ολοκληρωθούν, τα βήματα στο κέντρο θα πρέπει να είναι αξιόπιστα απλά και να μην μπορούν να αναλυθούν περαιτέρω, ενώ τα βήματα που αναφέρονται μόνο σε έναν από τους κύκλους πιθανότατα δεν είναι τόσο απλά όσο θα μπορούσαν να είναι. Ωστόσο, αυτό το μοτίβο μπορεί να αντιστραφεί ανάλογα με την εμπειρία της τάξης στην ανάλυση σύνθετων συμπεριφορών στα απλούστερα βήματά τους.
Ε:Υπήρξαν ομοιότητες με τις επιτυχημένες λύσεις; Αν ναι, ποιες ήταν αυτές;
A:Οι πιο επιτυχημένες λύσεις ήταν αυτές που περιελάμβαναν τη μεγαλύτερη λεπτομέρεια και εξειδίκευση. Το ρομπότ είναι προγραμματισμένο σε μια γλώσσα με πολύ συγκεκριμένες συμπεριφορές που έχουν αναλυθεί στα μικρότερα συστατικά τους. Για παράδειγμα, μπορεί να είναι συνηθισμένο να λέμε ότι ένα ρομπότ «ταξιδεύει 1 μέτρο και επιστρέφει στο σημείο εκκίνησης», αλλά αυτή η περιγραφή υψηλού επιπέδου δεν μεταφράζεται εύκολα κατά τον προγραμματισμό. Πρέπει να το αναλύσετε περαιτέρω: οδηγεί προς τα εμπρός για 1 μέτρο, στρίβει 180 μοίρες και οδηγεί προς τα εμπρός για 1 μέτρο. Αλλά ακόμη και αυτό μπορεί να μην είναι αρκετά ακριβές και χρειάζεστε αυτό το επίπεδο λεπτομέρειας για να είστε έτοιμοι για προγραμματισμό: ρυθμίστε την κίνηση και τις ταχύτητες περιστροφής στο 40%, προχωρήστε προς τα εμπρός για 1 μέτρο, περιμένετε 3 δευτερόλεπτα, στρίψτε αριστερά για 180 μοίρες, περιμένετε 1 δευτερόλεπτο και προχωρήστε προς τα εμπρός για 1 μέτρο. Όσο περισσότερο αναλύουμε πολύπλοκες συμπεριφορές ώστε να τις μετατρέψουμε σε συμπεριφορές ρομπότ έτοιμες για προγραμματισμό, τόσο καλύτερα προετοιμασμένοι είμαστε για να ολοκληρώσουμε ένα έργο.