Εκπαιδευτική Ρομποτική
Κατασκευή ρομπότ Rover ακολουθώντας οδηγίες.


Δραστηριότητα

Μέρος Α. (Κατασκευή ρομπότ)

Κάντε κλικ δίπλα και κατεβάστε τις οδηγίες κατασκευής:  Μέρος α. Μέρος β.

 
wall follower2

roboteam2 roboteam1

Μέρος Β. (Περιβάλλον προγραμματισμού)

- Η πρώτη μας αποστολή είναι να δημιουργήσουμε ένα απλό πρόγραμμα που θα κινεί το ρομπότ ακριβώς 26 εκατοστά σε ευθεία κατεύθυνση.
- Η δεύτερη αποστολή μας είναι να τοποθετήσουμε ένα ορθογώνιο κουτί στο δάπεδο και αφού μετρήσουμε τις διαστάσεις του (μήκος, πλάτος) να δημιουργήσουμε ένα πρόγραμμα με το οποίο το ρομπότ θα κινείται περιμετρικά (γύρω) από το κουτί κάνοντας σε κάθε γωνία του στροφή 90 μοιρών.
- Η τρίτη μας αποστολή θα είναι να κινήσουμε το ρομπότ περιμετρικά (γύρω) από το κουτί (στρίβοντας κάθε φορά κατά 90 μοίρες) χρησιμοποιώντας εντολή επανάληψης.
- Στην τέταρτή μας αποστολή θα χρησιμοποιήσουμε τον αισθητήρα των υπερύθρων ο οποίος θα στέλνει πληροφορίες στο πρόγραμμα που θα δημιουργήσουμε για την απόσταση του τοίχου στα δεξιά του ρομπότ. 
 

Συμπεράσματα:

Πείραμα 1.
- Μετρήσαμε την περίμετρο της ρόδας σε 14 εκατοστά.

Επομένως το ρομπότ θα κινηθεί 26 εκατοστά εάν η ρόδα του περιστραφεί κατά 1,85 φορές.
Περιστροφή = 26 / 14 = 1,85
Το πρώτο μας πείραμα πέτυχε και πράγματι το ρομπότ τερμάτισε ακριβώς στην γραμμή που ήταν 26 εκατοστά πιο μακριά.
Πείραμα 2.
- Μετρήσαμε τις διαστάσεις ενός ορθογώνιου κουτιού και κατασκευάσαμε ένα πρόγραμμα όπου κάνει το ρομπότ να κινείται ευθεία όσο οι διαστάσεις του κουτιού, συν κάποιο περιθώριο παραπάνω. Όταν το ρομπότ φθάνει κάθε φορά σε γωνία δώσαμε εντολή να στρίβει δεξιά κατά 90 μοίρες. 

Δηλαδή : κίνηση ευθεία 30 εκ. στροφή δεξιά 90 μοίρες, κίνηση ευθεία 16 εκ. στροφή δεξιά 90 μοίρες, κίνηση ευθεία 30 εκ. στροφή δεξιά 90 μοίρες, κίνηση ευθεία 16 εκ. στροφή δεξιά 90 μοίρες.

Το δεύτερο πείραμα απέτυχε !!! Ο λόγος δεν ήταν οι υπολογισμοί μας, ούτε το πρόγραμμα τα οποία ήταν σωστά.
Διαπιστώσαμε ότι οι λαστιχένιες ρόδες του ρομπότ είχαν γεμίσει σκόνη από το δάπεδο και αυτό μείωσε την τριβή. Έτσι χωρίς την αντίσταση της τριβής η ρόδα τις περισσότερες φορές περιστρέφονταν γύρω από το ίδιο σημείο ("σπίναρε") με αποτέλεσμα εκεί που είχαμε υπολογίσει ότι χρειάζονται 2 περιστροφές της ρόδας για να καλυφθεί η απόσταση των 30 εκ. και μετά το ρομπότ να στρίψει δεξιά, στην πράξη αυτό δεν ίσχυε και το ρομπότ έπεφτε πάνω στο κουτί.

wheel with dustΠείραμα 4.
- Λόγο του ίδιου προβλήματος παρακάμψαμε το τρίτο μας πείραμα (το οποίο βασιζόταν και αυτό μόνο στους υπολογισμούς μας) και επεξεργαστήκαμε την ιδέα ότι το ρομπότ δεν θα πρέπει να βασίζεται μόνο στους δικούς μας υπολογισμούς (οι οποίοι για διάφορους λόγους μπορεί να πέφτουν έξω..) αλλά με κάποιο τρόπο να ελέγχει μόνο του εάν είναι στη σωστή θέση για να στρίψει. Εδώ λοιπόν η κατασκευή μας μετατρέπεται σε ένα Σύστημα Αυτομάτου Ελέγχου (ΣΑΕ) με την βοήθεια του αισθητήρα υπερύθρων (proximity sensor).

Είπαμε λοιπόν ότι θα συνδέσουμε τον αισθητήρα υπερύθρων (ο οποίος μετρά την απόσταση από εμπόδια) σε θέση λοξή, πάνω στο ρομπότ, ώστε να κοιτά προς τα δεξιά που θα ήταν το χάρτινο κουτί. Στη συνέχεια δημιουργήσαμε ένα πρόγραμμα το οποίο παίρνει την ένδειξη απόστασης από το εμπόδιο που δείχνει ο αισθητήρας υπερύθρων και εάν αυτή είναι μεγαλύτερη από μια τιμή που καθορίσαμε τότε το ρομπότ δίνει εντολή να στρίψει δεξιά (ώστε να πλησιάσει το εμπόδιο), εάν η ένδειξη του αισθητήρα υπερύθρων γίνει μικρότερη από την τιμή που έχουμε ορίσει τότε το ρομπότ δίνει εντολή ώστε οι κινητήρες να το στρίψουν αριστερά (ώστε να μην πέσει επάνω στο εμπόδιο).
Το πείραμα πέτυχε !! και καταλάβαμε ότι η διαφορά ενός ρομπότ από μια άλλη απλή προγραμματιζόμενη συσκευή είναι ότι το ρομπότ είναι ένα Σύστημα Αυτομάτου Ελέγχου. Δηλαδή αυτοτροφοδοτείται με δεδομένα που το ίδιο παράγει χάρις τους αισθητήρες και τα οποία τα συγκρίνει με βάση αυτό που του έχουμε ορίσει για να επιτύχει όσο το δυνατό καλύτερο αποτέλεσμα, δηλαδή στην περίπτωσή μας, να κινηθεί γύρω από το κουτί. Αυτό είναι και γνωστό ως ανάδραση ή ανατροφοδότηση.