Κατασκευή αυτόνομου οχήματος που ακολουθεί μια γραμμή
Στόχος της 2ης κατασκευής μας είναι η τροποποίηση του ρομποτικού οχήματος (1η κατασκευή) με την προσθήκη αισθητήρων ώστε να μπορεί να κινηθεί αυτόνομα κατά μήκος μιας διαδρομής.
Αισθητήρας ανίχνευσης της γραμμής
Στο παραπάνω σχήμα φαίνεται η αρχή λειτουργίας των αισθητήρων του οχήματος. Ο κάθε αισθητήρας αποτελείται από ένα ζεύγος LED υπέρυθρης ακτινοβολίας και μιας φωτοδιόδου που ανιχνεύει την ανάκλαση του φωτός σε μια επιφάνεια. Το φως ανακλάται σε ανοιχτόχρωμη επιφάνεια ενώ απορροφάται (ελάχιστη ανάκλαση) σε σκουρόχρωμη επιφάνεια. Το ρομπότ με τη βοήθεια του αισθητήρα, μπορεί από την ανάκλαση ή μη του φωτός, να αντιληφθεί αν βρίσκεται σε σκουρόχρωμη ή ανοιχτόχρωμη επιφάνεια.
Τα ρομποτικά οχήματα που ακολουθούν μια γραμμή, είναι ρομποτικά οχήματα με τουλάχιστον 3 αισθητήρες που μπορούν να αποφασίζουν πως θα στρίβουν καθώς κινούνται ώστε να ακολουθούν μια μαύρη γραμμή (σκουρόχρωμη επιφάνεια) πάνω στην επιφάνεια που κινούνται.
Το ρομποτικό όχημα που θα κατασκευάσουμε χρησιμοποιεί 3 αισθητήρες για να ακολουθεί τη μαύρη γραμμή. Έναν αριστερά (L-Left), έναν στο κέντρο (C-Center) και έναν δεξιά (R-Right)
Το ρομποτικό όχημα συνεχίζει να κινείται προς τα εμπρός όσο ανιχνεύει μια γραμμή κάτω από τον κεντρικό αισθητήρα. Αν δεν υπάρχει γραμμή κάτω από αυτόν, θα ελέγξει κάτω από το αριστερό και το δεξί αισθητήρα γραμμή για να δει αν έχει αρχίσει να κινείται εκτός πορείας. Αν υπάρχει μια γραμμή κάτω από το αριστερό αισθητήρα, θα κινηθεί αριστερά για να μετακινήσετε το ρομπότ πίσω στη γραμμή (με την επιτάχυνση του δεξιού τροχού. Αν υπάρχει μια γραμμή κάτω από το δεξί του αισθητήρα, θα μετακινηθεί προς τα δεξιά για να μετακινήθεί το ρομπότ πίσω στη γραμμή.
Η παρακάτω εικόνα δείχνει τις πιθανές καταστάσεις αυτών των αισθητήρων, όπως φαίνεται από το πρόγραμμα μας. Η μαύρη κουκίδα σημαίνει ότι ο αισθητήρας διαβάζει μια γραμμή από κάτω, και μια λευκή κουκκίδα σημαίνει ότι το λευκό φόντο είναι κάτω από τον αισθητήρα. Με τις πράσινες κουκκίδες παρουσιάζεται ότι ο αισθητήρας που έχει "πρασινίσει" δεν μας ενδιαφέρει πραγματικά, δεδομένου ότι η κατάσταση του ρομπότ προσδιορίζεται από τους άλλους δύο αισθητήρες:
Το ρομποτικό όχημα συνεχίζει να κινείται προς τα εμπρός όσο ανιχνεύει μια γραμμή κάτω από τον κεντρικό αισθητήρα. Αν δεν υπάρχει γραμμή κάτω από αυτόν, θα ελέγξει κάτω από το αριστερό και το δεξί αισθητήρα γραμμή για να δει αν έχει αρχίσει να κινείται εκτός πορείας. Αν υπάρχει μια γραμμή κάτω από το αριστερό αισθητήρα, θα κινηθεί αριστερά για να μετακινήσετε το ρομπότ πίσω στη γραμμή (με την επιτάχυνση του δεξιού τροχού. Αν υπάρχει μια γραμμή κάτω από το δεξί του αισθητήρα, θα μετακινηθεί προς τα δεξιά για να μετακινήθεί το ρομπότ πίσω στη γραμμή.
Η παρακάτω εικόνα δείχνει τις πιθανές καταστάσεις αυτών των αισθητήρων, όπως φαίνεται από το πρόγραμμα μας. Η μαύρη κουκίδα σημαίνει ότι ο αισθητήρας διαβάζει μια γραμμή από κάτω, και μια λευκή κουκκίδα σημαίνει ότι το λευκό φόντο είναι κάτω από τον αισθητήρα. Με τις πράσινες κουκκίδες παρουσιάζεται ότι ο αισθητήρας που έχει "πρασινίσει" δεν μας ενδιαφέρει πραγματικά, δεδομένου ότι η κατάσταση του ρομπότ προσδιορίζεται από τους άλλους δύο αισθητήρες: