Ροµπότ ως Ξεναγός σε Εκθεσιακό Χώρο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Ροµπότ ως Ξεναγός σε Εκθεσιακό Χώρο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ"

Transcript

1 Ατοµική Διπλωµατική Εργασία Ροµπότ ως Ξεναγός σε Εκθεσιακό Χώρο Νικόλας Νικολάου ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Ιούνιος 2003

2 Ευχαριστίες Θα ήθελα να εκφράσω τις θερµές µου ευχαριστίες σε όλους όσους έχουν συµβάλει άµεσα ή έµµεσα στην ολοκλήρωση της εργασίας αυτής. Ευχαριστώ θερµά, τον επιβλέποντα καθηγητή µου Δρ. Συµεών Ρετάλη για την πρόθυµη βοήθεια και καθοδήγηση που µου πρόσφερε καθ όλο το διάστηµα εκπόνησης της διπλωµατικής µου εργασίας. Ευχαριστώ, επίσης, την οµάδα υποστήριξης χρηστών του ActivMedia για την πρόθυµη και αποτελεσµατική συνεργασία που είχαν µαζί µου και για την βοήθεια τους σε προβλήµατα που αντιµετώπισα µε το ροµπότ. Ευχαριστώ, τους φοιτητές που δούλεψαν πριν από εµένα µε το ροµπότ οι οποίοι µε την εργασία τους µε βοήθησαν να καταλάβω τις βασικές αρχές και τρόπους προγραµµατισµού του. Τέλος, οφείλω να ευχαριστήσω την οικογένειά µου, τη φίλη µου Άντρη αλλά και όλους τους στενούς µου φίλους για την ηθική υποστήριξη και συµπαράσταση τους.

3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Ροµπότ ως Ξεναγός σε Εκθεσιακό Χώρο Νικόλας Νικολάου Επιβλέπων Καθηγητής Δρ. Συµεών Ρετάλης Η Ατοµική αυτή Διπλωµατική Εργασία υποβλήθηκε προς µερική εκπλήρωση των απαιτήσεων απόκτησης του πτυχίου Πληροφορικής του Τµήµατος Πληροφορικής του Πανεπιστηµίου Κύπρου Ιούνιος 2003

4 Περιεχόµενα Κεφάλαιο 1: Εισαγωγή Ροµποτική στην Πληροφορική 1.2 Μερικά Ροµπότ 1.3 Σκοπός της Ατοµικής Διπλωµατικής Εργασίας 1.4 Δοµή της Ατοµικής Διπλωµατικής Εργασίας Κεφάλαιο 2: Περιγραφή και Τεχνικά Χαρακτηριστικά του Amigobot Τι είναι το Amigobot; 2.2 Υλικό (Hardware) Amigobot 2.3 Λογισµικό (Software) Amigobot Κεφάλαιο 3: Αλγόριθµος Γενική Ιδέα Αλγορίθµου 3.2 Σχεδιαγράµµατα Καταστάσεων 3.3 Φόρτωµα κατάλληλων Βιβλιοθηκών και Καθολικές Μεταβλητές 3.4 Χάρτης Δωµατίου 3.5 Συµπεριφορές (Actions) και Συναρτήσεις (Activities) 3.6 Εντοπισµός προσώπου (Κλάση SfTrackPersonAction) 3.7 Χάσιµο προσώπου και τρόπος εύρεσής του (Κλάση SfKeepTurningAction) 3.8 Παρουσίαση εκθεµάτων (Κλάση SfExhibitIntroduceAction) 3.9 Κίνηση προς τα εµπρός (Κλάση SfForwardAction) 3.10 Αποφυγή εµποδίων (Κλάση SfAvoidObstacles) 3.11 Αρχική κατάσταση (Activity Initial() ) 3.12 Περιήγηση στον εκθεσιακό χώρο (Activity StartGuide() 3.13 Αντιδράσεις του ροµπότ 3.14 Επιστροφή στην αρχική κατάσταση ( Activity GoHome() )

5 3.15 Ενέργειες για αποφυγή µπλοκαρίσµατος ( Activity Unstack() ) 3.16 Καθολικές Συναρτήσεις της δυναµικής βιβλιοθήκης 3.17 Προσανατολισµός του ροµπότ στο χώρο Κεφάλαιο 4: Αξιολόγηση Εργασίας Γενική αξιολόγηση 4.2 Δοκιµές των Ενεργειών 4.3 Προβλήµατα που εντοπίστηκαν 4.4 Συµπεράσµατα Παράρτηµα Α: Χαρακτηριστικά Ροµπότ... Α- 1

6 Κεφάλαιο 1 Εισαγωγή 1.1 Ροµποτική στην Πληροφορική Μερικά Ροµπότ Σκοπός της Ατοµικής Διπλωµατικής Εργασίας Δοµή της Ατοµικής Διπλωµατικής Εργασίας Ροµποτική στην Πληροφορική Στα τελευταία χρόνια η επιστήµη της Πληροφορικής έχει κάνει δραµατικά επιτεύγµατα. Ανάµεσα σε αυτά είναι και η εκµετάλλευση της Πληροφορικής στο τοµέα της ροµποτικής. Ο άνθρωπος δηµιουργεί τα ροµπότ σε µια προσπάθεια να διευκολύνει τον εαυτό του σε κάποιους τοµείς αλλά και για να µπορεί να κάνει πράγµατα που είναι αδύνατα για τον ίδιο. Έτσι δηµιουργήθηκαν διαφόρων ειδών ροµπότ για να χρησιµοποιούνται για διαφορετικούς σκοπούς το καθένα. Σήµερα µπορούµε να βρούµε ροµπότ για χρήση στην βιοµηχανία, για εκπαιδευτικούς σκοπούς, για ψυχαγωγία ακόµα και για προσωπική βοήθεια ατόµων µε ειδικές ανάγκες. Με τον σωστό προγραµµατισµό τα ροµπότ µπορούν να καταφέρουν πολλά. Μερικές εταιρείες ανάπτυξαν τις δικές τους γλώσσες προγραµµατισµού για να δουλεύουν τα δικά τους ροµπότ. Άλλες εταιρείες εκµεταλλεύονται τις ήδη υπάρχουσες δυνατές γλώσσες προγραµµατισµού όπως είναι η C. Τέλος υπάρχουν οι εταιρείες που κάνουν συνδυασµό των δύο πιο πάνω µεθόδων. Τα ροµπότ πήραν ραγδαία ανάπτυξη στο χώρο της βιοµηχανίας. Οι βαρετές και χρονοβόρες εργασίες µε την χρήση των ροµπότ µετατράπηκαν σε εργασίες της στιγµής. Η παραγωγικότητα αυξήθηκε και µειώθηκε ο κίνδυνος για εργατικά ατυχήµατα. Οι - 1 -

7 εταιρίες έβλεπαν την επανάσταση που έφεραν τα ροµπότ στη βιοµηχανία και έτσι η εξάπλωσή τους ήταν θέµα µερικών χρόνων. Η κάθε εταιρεία επεδίωκε µεγάλη ακρίβεια και µεγάλη παραγωγικότητα, ένας συνδυασµός που µόνο η χρήση των ροµπότ µπορούσε να προσφέρει. Τα ροµπότ αργότερα χρησιµοποιήθηκαν για πιο ανθρωπιστικούς σκοπούς. Άρχισαν πλέον να µπαίνουν στα σπίτια ανθρώπων ως µέσω ψυχαγωγίας ή ακόµα ως µέσω βοήθειας προς τους ανθρώπους. Γύρω στο 2001 κατασκευάσθηκε και το πρώτο ροµπότ µε «αισθήµατα». Το όνοµά του είναι Kismet και πήρε µια θέση στο βιβλίο Guinness για την πρωτοτυπία του. Το ροµπότ αυτό αντιδρά σε εξωτερικά ερεθίσµατα εκφράζοντας στο πρόσωπό του χαρά, λύπη, δυσαρέσκεια αλλά και άλλα συναισθήµατα. Το αποκορύφωµα χρήσης των ροµπότ για ανθρωπιστική βοήθεια έγινε τον αιµατηρό Σεπτέµβριο όταν κτυπήθηκαν οι δίδυµοι πύργοι της Αµερικής. Εκεί κατασκεύασαν ειδικά ροµπότ για να εισχωρήσουν στα συντρίµµια και τα οποία µετέδιδαν ένα οπτικό σήµα που θα βοηθούσε στην ανεύρεση επιζώντων. Τώρα συναντούµε τα ροµπότ ως εκπαιδευτικά αντικείµενα. Αυτό παίζει µεγάλο ρόλο στην ανάπτυξη της χρήσης των ροµπότ. Δίδεται η δυνατότητα µέσα από ανώτατα εκπαιδευτικά ιδρύµατα να δηµιουργηθούν νέες µελέτες και νέες δηµιουργίες γύρω από το θέµα της ροµποτικής. Τα ροµπότ έχουν επαφή µε το περιβάλλον γύρω τους µε διάφορους τρόπους. Κάποια µπορεί να χρησιµοποιούν κάµερα, άλλα χρησιµοποιούν συσκευές laser, άλλα υπερηχητικά κύµατα κτλ. Ο κάθε τρόπος προσφέρει στο ροµπότ που το χρησιµοποιεί κάποια ιδιαίτερη δυνατότητα. Ο συνδυασµός τους µεν συνεπάγεται σε πολύ περισσότερες δυνατότητες. Στην δική µας περίπτωση το ροµπότ που χρησιµοποιούµε διαθέτει 8 ηχοβολιστικά τα οποία του προσφέρουν την αίσθηση των γύρω αντικειµένων. 1.2 Μερικά Ροµπότ - 2 -

8 Όπως αναφέραµε υπάρχουν πολλά είδη ροµπότ. Θα παρουσιάσω τώρα µερικά ροµπότ τα οποία κατασκευάζονται από την εταιρεία που µας προµήθευσε το δικό µας ροµπότ. Amigobot Σχήµα 1.1 Στο Σχήµα 1.1 βλέπουµε το ροµπότ που πρόκειται να χρησιµοποιήσουµε στην εργασία µας. Εδώ παρουσιάζεται να έχει µια µικρή κάµερα που µας βοηθάει να έχουµε οπτική επαφή µε το τι βρίσκει µπροστά του και µια δαγκάνα που του επιτρέπει να µεταφέρει αντικείµενα. Αυτό ανήκει στην κατηγορία των εκπαιδευτικών ροµπότ. PatrolBot Σχήµα

9 Στο Σχήµα 1.2 βλέπουµε το patrolbot. Είναι πιο γεροδεµένο από το amigobot και φαίνεται ότι είναι σχεδιασµένο για βαρύτερες δουλειές. Είναι και αυτό διαφορικής κίνησης. Είναι εφοδιασµένο µε κάµερα, ηχοβολιστικά, ηχεία και laser. PeopleBot Το ροµπότ αυτό χρησιµεύει για επικοινωνία µαζί µε ανθρώπους. Διαθέτει µια µικρή οθόνη αγγίγµατος που επιτρέπει στους χρήστες να εισάξουν δεδοµένα. Έχει ηχοβολιστικά, κάµερα και laser αισθητήρες. Μπορεί να ελέγχει όχι µόνο κατά πλάτος αλλά και κατά ύψος. Φαίνεται αρκετά εργονοµικό και θα ήταν ένας πολύ καλός ξεναγός σε µουσείο. Σχήµα Σκοπός της Ατοµικής Διπλωµατικής Εργασίας Σκοπός αυτής της Διπλωµατικής Εργασίας είναι η εκµάθηση των δυνατοτήτων ενός ροµπότ και ο προγραµµατισµός του µε τέτοιο τρόπο ώστε να είναι σε θέση να κινείται έξυπνα µέσα σε ένα εκθεσιακό χώρο. Θα χρησιµοποιήσουµε το ροµπότ µε τέτοιο τρόπο ώστε να αποτελεί τον ξεναγό του εκθεσιακού µας χώρου. Όπως και ο ξεναγός θα πρέπει να έχει την δυνατότητα να επικοινωνεί µε τους επισκέπτες του χώρου, να αλληλεπιδρά µαζί τους και να τους ενηµερώνει σχετικά µε τα εκθέµατα που βρίσκονται στο χώρο αυτό. Στην δική µας περίπτωση ο ξεναγός µας θα είναι πολύ ξεχωριστός αφού δεν θα έχει µια τυπική σχέση µε τους επισκέπτες αλλά απρόσµενα θα τους ξαφνιάζει ή ακόµα και θα τους φοβίζει

10 Το ροµπότ που θα χρησιµοποιήσουµε είναι ένα εκπαιδευτικό ροµπότ που φέρει το όνοµα Amigobot. Τεχνικά το ροµπότ αυτό έχει την δυνατότητα να επικοινωνεί µε το περιβάλλον γύρω του µέσω των 8 αισθητήρων που διαθέτει. Χρησιµοποιεί διαφορική κίνηση και µπορεί να ελεγχθεί ασύρµατα µε την βοήθεια ειδικών συσκευών. Για τον προγραµµατισµό του θα πρέπει να χρησιµοποιηθεί γλώσσα προγραµµατισµού C και ειδική για αυτή την οικογένεια των ροµπότ γλώσσα, η Colbert. Ξεκινώντας µε τα πιο πάνω δεδοµένα θα πρέπει να σκεφτούµε τρόπους εκµετάλλευσης τους ώστε να φτάσουµε στο επιθυµητό αποτέλεσµα. Θα δούµε πως µπορούµε να χρησιµοποιήσουµε απλές ενδείξεις απόστασης για να ξεχωρίζουµε τα αντικείµενα που εντοπίζουµε. Πως µπορούµε να αποφεύγουµε αντικείµενα και πως µπορούµε να επαναφέρουµε το ροµπότ σε περιπτώσεις µπλοκαρίσµατος. Όλα αυτά τα προβλήµατα πρέπει να λυθούν µε σωστούς αλγορίθµους ώστε να πάρουµε τα σωστά αποτελέσµατα. Μετά το τέλος της εργασίας το ροµπότ θα πρέπει να έχει τις εξής δυνατότητες: 1. Να παρουσιάζει τα εκθέµατα του χώρου στους επισκέπτες. 2. Να ακολουθεί κάποιο επισκέπτη στο χώρο. 3. Να φέρεται φιλικά στους επισκέπτες του χώρου. 4. Να περιπλανιέται άσκοπα στο χώρο αποφεύγοντας έξυπνα αντικείµενα και επισκέπτες. 5. Να φέρεται εχθρικά σε κάποιο επισκέπτη. 6. Να κάνει γύρους µέσα στον χώρο. 7. Να µπορεί να γυρίσει πίσω στην αρχική του θέση όταν παρουσιάσει όλα τα εκθέµατα ή όταν η µπαταρία του δεν του επιτρέπει να συνεχίσει. Εκτός από τους πιο πάνω, ένας σηµαντικός στόχος που πρέπει να επιτευχθεί είναι να κρατάµε το ροµπότ προσανατολισµένο µέσα στο χώρο. Για να το καταφέρουµε αυτό πρέπει να χρησιµοποιήσουµε σωστά κάποιες βιβλιοθήκες. Εκτός όµως από το προγραµµατιστικό κοµµάτι υπάρχει και το σχεδιαστικό όπου πρέπει να σχεδιάσουµε τον χάρτη του δωµατίου µέσα στο οποίο πρόκειται να χρησιµοποιήσουµε το ροµπότ

11 Τέλος µετά την υλοποίηση θα ακολουθήσει αξιολόγηση της δουλειάς που θα γίνει. Θα δούµε και θα αναλύσουµε κατά πόσο το ροµπότ εκτελεί τα προσχεδιασµένα σενάρια, αν ανταποκρίνεται σωστά στους αρχικούς στόχους ή αν απέχει πολύ από αυτούς. Θα δούµε την ορθότητα των αλγορίθµων που χρησιµοποιήθηκαν και θα δούµε αν είναι βέλτιστοι ή µε ποιο τρόπο µπορούν να βελτιστοποιηθούν. Θα αξιολογήσουµε τις µετρήσεις που επιστρέφει το ροµπότ αλλά και πως αυτές επηρεάζονται µε την κίνηση του. Θα πρέπει να δούµε και να συζητήσουµε κατά πόσο µπορεί να υπάρξει ένας τέτοιος ξεναγός σε πραγµατικό περιβάλλον εκθεσιακού χώρου. 1.4 Δοµή της Ατοµικής Διπλωµατικής Εργασίας Η Διπλωµατική Εργασία παρουσιάζει τέτοια δοµή ώστε ο αναγνώστης να µπορεί να αντιλαµβάνεται κάθε στιγµή αυτά που διαβάζει. Προσπαθούµε όσο γίνεται να χρησιµοποιούµε όρους στο κείµενο οι οποίοι έχουν, µέχρι εκείνο το σηµείο, επεξηγηθεί. Αρχικά θέλουµε να δείξουµε στον αναγνώστη µε τι έχουµε να κάνουµε. Έτσι αµέσως µετά την εισαγωγή περιγράφουµε τα τεχνικά χαρακτηριστικά και τις φυσικές δυνατότητες του ροµπότ. Ακολούθως παρουσιάζουµε την γενική ιδέα του αλγορίθµου και µετά δείχνουµε τα διαγράµµατα καταστάσεων της κάθε φάσης του. Αφού ο αναγνώστης πάρει µια γενική ιδέα του αλγορίθµου, µε την βοήθεια κοµµατιών από τον κώδικα, τον εξηγούµε µε µεγαλύτερη λεπτοµέρεια. Τέλος αξιολογούµε την δουλεία που έχουµε κάνει µε πειράµατα και δοκιµές

12 Κεφάλαιο 2 Περιγραφή και Τεχνικά Χαρακτηριστικά του Amigobot 2.1 Τι είναι το Amigobot; Υλικό (Hardware) Amigobot Λογισµικό (Software) Amigobot Τι είναι το Amigobot; Το Amigobot είναι ένα έξυπνο κινητό ροµπότ το οποίο είναι δηµιούργηµα ειδικών στην τεχνητή και µηχανική νοηµοσύνη. Ένας από τους κύριους σχεδιαστές και δηµιουργούς του ροµπότ αυτού είναι ο Dr. Kurt Konolige, ο οποίος πριν το συγκεκριµένο έχει σχεδιάσει κι άλλα ροµπότ της ίδιας κλάσης. Το Amigobot είναι ένα µικρό, τρίτροχο, διαφορικής οδήγησης και έξυπνο ροµπότ. Είναι ένα ροµπότ τύπου plug and play, το οποίο περιλαµβάνει όλα τα βασικά στοιχεία για αυτόνοµη αίσθηση και κίνηση σ ένα πραγµατικό περιβάλλον. Μπορούµε να χωρίσουµε τα τεχνικά χαρακτηριστικά του σε δύο µεγάλες κατηγορίες: Υλικό ( Hardware ) o Φυσικά Χαρακτηριστικά o Κοµβία, Μοτέρ, Ηχεία, Λαµπτήρες o Αισθητήρες o Ασύρµατες συσκευές επικοινωνίας o Μικροεπεξεργαστής. Λογισµικό ( Software ) o Λειτουργικό σύστηµα του ροµπότ o Ασύρµατη επικοινωνία o Γλώσσες Προγραµµατισµού του Ροµπότ - 7 -

13 2.2 Υλικό ( Hardware ) Amigobot Το υλικό περιλαµβάνει όλα τα υλικά και φυσικά χαρακτηριστικά του ροµπότ. Περιγράφει την τεχνολογία που χρησιµοποιήθηκε και την λογική επεξήγηση για την χρήση αυτής. Περιγράφει την εργονοµία και λειτουργικότητα των υλικών µερών του ροµπότ. Φυσικά Χαρακτηριστικά Σχήµα 2.1 Μεγέθη του Amigobot Το ροµπότ αυτό σχεδιάστηκε για εσωτερικούς χώρους όπως σπίτια, αίθουσες διδασκαλίας, µουσεία, νοσοκοµεία κτλ. Είναι µικρό µε διαστάσεις 28 x 33 x 13 cm, ελαφρύ µε βάρος µόλις 3,6 κιλά (µε µπαταρία) και πολύ ευκίνητο αφού µπορεί να αναπτύξει ταχύτητες µέχρι 750mm/s και να περιστραφεί µε ταχύτητες περιστροφής µέχρι 300 ο /s. Το περίβληµά του αποτελείται από ένα σκληρό ανθρακικό κατασκεύασµα και ένα οµογενές αλλά πολύ ελαφρύ αλουµινένιο σκελετό τα οποία καθιστούν το ροµπότ πολύ ανθεκτικό. Έχει δύο λαστιχένιους τροχούς, διαµετρήµατος 10cm ο καθένας, οι οποίοι ελέγχονται από τα µοτέρ και ένα µικρότερο παθητικό τροχό από πίσω απλά για στήριξη. Τέλος τα πιο πάνω χαρακτηριστικά επιτρέπουν στο Amigobot να κουβαλά επιπρόσθετο βάρος 1 κιλού. Κοµβία, Μοτέρ, Ηχεία, Λαµπτήρες Α) Επαναφόρτηση / Ενεργοποίηση/ Μπαταρία - 8 -

14 Όταν κοιτάξει κάποιος κάτω, πίσω και αριστερά θα παρατηρήσει ένα κυλιόµενο κουµπί. Αυτό χρησιµοποιείται για ενεργοποίηση του ροµπότ. Μόλις το ροµπότ ενεργοποιηθεί το κόκκινο λαµπάκι θα ανάψει. Σχήµα 2.2 Switch, Υποδοχή Charger και Υποδοχή Serial Port Δίπλα από το κουµπί αυτό βρίσκεται η υποδοχή του φορτιστή της µπαταρίας. Η µπαταρία είναι 12VDC και προµηθεύει τα απαραίτητα µέρη του ροµπότ για να επιτυγχάνεται η κίνηση και γενικά η λειτουργικότητα του ροµπότ. Αντέχει, όταν το ροµπότ είναι σε συνεχή λειτουργία, µέχρι 3 ώρες. Η µπαταρία πρέπει να φορτίζεται µόλις η ένδειξή της πέσει κάτω από 11VCD παρόλο που το ροµπότ θα συνεχίζει να λειτουργεί κανονικά. Αυτό συµβαίνει για να µην πάθει ζηµιά το λειτουργικό σύστηµα του ροµπότ. Το ίδιο το ροµπότ προειδοποιά µέσω του ηχείου για την πτώση της µπαταρίας σε κρίσιµα επίπεδα. Αν η µπαταρία πέσει κάτω από 10VCD τότε απενεργοποιούνται τα µοτέρ και θα διακόψει κάθε ενεργή επικοινωνία. Β) Κουµπιά και Λαµπάκια στο πάνω µέρος του ροµπότ Σχήµα 2.3 Λαµπάκια και κοµβία στο πάνω µέρος του ροµπότ Στο πάνω µέρος και πλάγια πίσω του ροµπότ βρίσκονται δυο κουµπιά, χρώµατος κόκκινο και µαύρο, και τρία λαµπάκια, χρώµατος κόκκινο, πορτοκαλί και πράσινο. Το κόκκινο λαµπάκι όπως είπαµε και πιο πάνω δείχνει αν είναι ενεργοποιηµένο το ροµπότ

15 Το κόκκινο κουµπί αντιπροσωπεύει τη λειτουργία Reset. Πάτηµα αυτού του κουµπιού σε οποιαδήποτε στιγµή θα συνεπάγεται να ξεκινήσει το ροµπότ από την αρχική του κατάσταση, δηλ. απενεργοποιηµένα µοτέρ και διακεκοµµένη η επικοινωνία. Η λειτουργία του µαύρου κουµπιού εξαρτάται από την κατάσταση που θα βρίσκεται το ροµπότ. Αν το ροµπότ δεν είναι ενωµένο µε κάποιο χρήστη τότε πατώντας αυτό το κουµπί µπαίνουµε σε κατάσταση δοκιµής των µοτέρ. Ξαναπατώντας το ξεκινά η δοκιµή. Αν τώρα το ροµπότ είναι ενωµένο µε κάποιο χρήστη τότε πατώντας αυτό το κουµπί µπορούµε να ενεργοποιήσουµε ή να απενεργοποιήσουµε τα µοτέρ. Το πράσινο και το πορτοκαλί λαµπάκι είναι υπεύθυνα για να µας δείχνουν την κατάσταση του λειτουργικού συστήµατος του ροµπότ. Για παράδειγµα µόλις ξεκινήσουµε το ροµπότ η πράσινη λάµπα αναβοσβήνει αργά και ρυθµικά ενώ η πορτοκαλιά λάµπα είναι σβηστή. Όταν το ροµπότ ενωθεί µε κάποιο χρήστη το πορτοκαλί λαµπάκι αναβοσβήνει γρήγορα δείχνοντας µας την ένωση. Σε αυτή την περίπτωση το πράσινο λαµπάκι αναβοσβήνει γρήγορα αν τα µοτέρ είναι απενεργοποιηµένα, και αργά όταν τα µοτέρ είναι ενεργοποιηµένα. Γ) Ήχοι Σχήµα 2.4 Ηχείο Το ροµπότ διαθέτει ένα Onboard Audio System το οποίο έχει την δυνατότητα να αναπαράγει αρχεία µουσικής τα οποία βρίσκονται φυλαγµένα µέσα στο onboard Flash ROM χωρητικότητας 1MB. Υπάρχει δυνατότητα για εισδοχή 255 ήχων από τους οποίους οι 49 χρησιµοποιούνται για ενέργειες του συστήµατος. Η πηγή από όπου ακούγεται ο ήχος βρίσκεται πίσω και πλάγια του ροµπότ. Δ) Μοτέρ Το οδικό σύστηµα που χρησιµοποιεί το ροµπότ µπορεί να αναπτύξει µεγάλες ταχύτητες τόσο για ευθείες όσο και για περιστροφικές κινήσεις λόγο των δυο µοτέρ που διαθέτει. Κάθε µπροστινό µοτέρ περιλαµβάνει ένα υψηλής ανάλυσης οπτικό αξονικό κωδικοποιητή ο οποίος εξασφαλίζει 9,550 σήµατα σε κάθε περιστροφή του

16 τροχού(περίπου 30 σήµατα το δευτ.) για προσδιορισµό της ακριβής θέσης και αίσθηση της ταχύτητας του ροµπότ. Άλλη ιδιότητα του συστήµατος κίνησης είναι το ότι είναι διαφορικό. Αυτό σηµαίνει ότι δεν υπάρχει κάποιο τιµόνι για τον έλεγχο της στροφής του ροµπότ. Η στροφή επιτυγχάνεται µε την απενεργοποίηση του ενός από τους δυο τροχούς και ο άλλος να διατηρεί την κίνησή του. Τέλος οι τροχοί που ελέγχονται από τα µοτέρ έχουν διάµετρο 4 ίντσες και είναι φτιαγµένοι από µαλακό αλλά στερεό λάστιχο, για καλό κράτηµα και χαµηλή συµπίεση. Αισθητήρες(Sonar) Σχήµα 2.5 Αισθητήρες και γωνίες βολής τους Το Amigobot είναι εφοδιασµένο µε 8 αισθητήρες. Για την ακρίβεια είναι κάποιου είδους ηχοβολιστικά. Είναι τοποθετηµένοι σε σταθερές θέσεις: ένας σε κάθε πλευρά, τέσσερις που κοιτάζουν µπροστά και δυο που κοιτούν στη πίσω πλευρά. Όλοι µαζί εξασφαλίζουν στο ροµπότ 360 µοίρες αίσθησης. Η συχνότητα µετάδοσης σήµατος των αισθητήρων αυτών είναι 25 Hz (40ms για κάθε αισθητήρα) και µπορούν να εντοπίσουν αντικείµενα τα οποία βρίσκονται σε απόσταση 10cm ως 5 µέτρα µακριά από το ροµπότ. Όταν κάποιος αισθητήρας δεν λάβει πίσω σήµα επιστρέφει µια τιµή >6 µέτρων και σηµαίνει ότι είναι εκτός εύρους επιρροής. Αντικείµενα που βρίσκονται σε µικρότερη απόσταση από 10cm από το ροµπότ θεωρούνται και αυτά εκτός εύρους και επιστρέφεται και πάλι µια τιµή >6µέτρων. Η ευαισθησία των αισθητήρων ελέγχεται από ένα πίνακα. Μπορούµε να µεταβάλουµε την ευαισθησία αυτή ανάλογα µε τις ανάγκες µας. Αυτό µπορούµε να το επιτύχουµε µε την βοήθεια µιας βίδας διαµέσου µιας τρύπας πάνω και µπροστά του ροµπότ. Αυξάνοντας την ευαισθησία των αισθητήρων µπορούµε να πάρουµε µικρότερα αντικείµενα ή αντικείµενα σε µεγαλύτερη απόσταση. Υπάρχει όµως και ο κίνδυνος να παίρνουµε ενδείξεις που θα µας φαίνονται παράξενες. Αυτές θα οφείλονται κυρίως σε ανωµαλίες του εδάφους ή ακόµα και σε αντανακλάσεις του φωτός. Ο µόνος τρόπος να

17 λύσουµε αυτό το πρόβληµα είναι να µειώσουµε την ένταση της ευαισθησίας του ροµπότ. Ασύρµατες συσκευές επικοινωνίας(radio modems) Σχήµα 2.6 Συσκευή ασύρµατης επικοινωνίας στο ροµπότ Το Amigobot υποστηρίζει ασύρµατο έλεγχο του ροµπότ µε την βοήθεια δυο συσκευών επικοινωνίας. Η µια συσκευή βρίσκεται πάνω στο ροµπότ και η άλλη είναι ενωµένη µε τον ηλεκτρονικό υπολογιστή. Η συσκευή που βρίσκεται στο ροµπότ εφαρµόζεται τέλεια από κάτω του και παίρνει σήµα και ενέργεια από ένα connector που τον ενώνει µαζί µε το ροµπότ. Μικροεπεξεργαστής Το βασικότερο µέρος του ροµπότ. Είναι ένας I/O-rich 20-MHz Hitachi H8 microprocessor και είναι υπεύθυνος για όλες τις επεξεργασίες που χρειάζονται να γίνουν στο ροµπότ. Ενεργοποιεί και ελέγχει τόσο την οδήγηση(µοτέρ) όσο και τους αισθητήρες του ροµπότ. Το λειτουργικό σύστηµα συµπληρώνεται µε τα 16Κ RAM και 64K FLASH on-chip µνήµη, µε επιπρόσθετο 1Μ εξωτερικό FLASH 2.3 Λογισµικό ( Software ) Amigobot Θα µιλήσουµε τώρα για το λογισµικό µέρος που αφορά το Amigobot. Θα περιγράψουµε και θα αναλύσουµε το ενσωµατωµένο λειτουργικό σύστηµα και το λογισµικό που χρησιµοποιείται για τον προγραµµατισµό του ροµπότ αυτού

18 Λειτουργικό σύστηµα του ροµπότ (AmigOS) Το Amigobot είναι εξοπλισµένο µε το AmigOS, ένα λειτουργικό σύστηµα που ελέγχει όλα τα χαµηλού επιπέδου συστήµατα και ηλεκτρονικά του ροµπότ. Είναι φυλαγµένο στο FLASH ROM, όπως και οι ήχοι και οι λειτουργικές παράµετροι, και είναι ενηµερώσιµο µε ειδικά προγράµµατα. Περιέχει τα δικά του προγράµµατα τα οποία µπορούν να χειριστούν αυτόνοµα το ροµπότ χωρίς την ανάγκη άλλης υπολογιστικής µηχανής. Τα χρησιµοποιεί κυρίως για να ελέγχει το Σχήµα 2.7 Αρχιτεκτονική Client/Server υλικά µέρη του ροµπότ επιτρέποντάς του, µε µια απλή ρουτίνα, να κινείται αυτόνοµα µέσα στο χώρο αποφεύγοντας εµπόδια και παίζοντας κάποιους ήχους. Αρχιτεκτονική client-server Παρόλο ότι µπορούµε να προγραµµατίσουµε το λειτουργικό σύστηµα και να έχουµε ένα αυτόνοµο ροµπότ, πολλοί προτιµούν να χρησιµοποιούν το ροµπότ µε την µέθοδο Client Server. Για αυτό το λόγο αναπτύχθηκε µια αρχιτεκτονική client-server. Όλα τα ροµπότ της οικογένειας του Amigobot χρησιµοποιούν µια έξυπνη αρχιτεκτονική client/server η οποία αναπτύχθηκε από τον Dr. Kurt Konolige. Στο µοντέλο αυτό ο εξυπηρετητής δουλεύει για να ελέγχει όλες τις χαµηλού επιπέδου λεπτοµέρειες του συστήµατος του ροµπότ. Σε αυτές συµπεριλαµβάνονται ο χειρισµός των µοτέρ, η µετάδοση των αισθητήρων και η συλλογή των κωδικοποιηµένων δεδοµένων από τους αισθητήρες και τα µοτέρ

19 Με αυτή τη αρχιτεκτονική, οι προγραµµατιστές εφαρµογών υψηλού επιπέδου για ροµπότ, δεν χρειάζονται να ξέρουν πολλές λεπτοµέρειες όσο αφορά κάποιο συγκεκριµένο ροµπότ-εξυπηρετητή. Δίδεται παρόλα αυτά η δυνατότητα να δηµιουργήσει κάποιος προγράµµατα τα οποία να φορτώσει στο λειτουργικό σύστηµα του ροµπότ και να το αφήσει να δουλεύει αυτόνοµα. Ασύρµατη Επικοινωνία Α) Πακέτα Επικοινωνίας Οι εξυπηρετητές επικοινωνούν µε τα client applications χρησιµοποιώντας ειδικά πακέτα. Είναι τα πακέτα µε εντολές από τον client στον server και τα πακέτα µε πληροφορίες(sips) από τον server στον client. Τα δύο αυτά ήδη πακέτων είναι σειρές από bits και χωρίζονται σε 4 βασικά µέρη: Header(2 bytes) Μετρητής που µας δείχνει τον αριθµό των bytes στις εντολές / δεδοµένα(1 byte) Δεδοµένα από τον client ή τον server Checksum (2 bytes). Στο Πίνακα 2.1 φαίνεται καλύτερα η δοµή και περιγραφή, µε περισσότερη λεπτοµέρεια, των µερών του πακέτου. Μέρος Bytes Τιµή Περιγραφή Header 2 0xFA, 0xFB Η κεφαλή του πακέτου. Client και Server χρησιµοποιούν την ίδια κεφαλή. Byte Count 1 N+2 Ο αριθµός των bytes των δεδοµένων που στέλνονται, συµπεριλαµβανοµένου και του checksum. Το µέγιστο είναι 200 bytes. Δεδοµένα Ν command or information Το µέρος αυτό περιέχει τις εντολές από τον client ή τις πληροφορίες από τον εξυπηρετητή. Checksum 2 υπολογίζεται Έλεγχος εγκυρότητας πακέτου. Πίνακας 2.1. Βασικά µέρη πακέτου επικοινωνίας του AmigOS

20 Β) Σφάλµατα στα πακέτα Το AmigOS τα πακέτα που έρχονται από τον client και το µέγεθός τους ξεπερνά τα 200 bytes ή έχουν εσφαλµένο έλεγχο εγκυρότητας. Το ίδιο κάνει και ο client όταν παίρνει εσφαλµένα πακέτα από τον εξυπηρετητη. Το AmigOS δεν στέλνει επιβεβαίωση στον αποστολέα µετά από την παραλαβή κάποιου πακέτου, αλλά ούτε και διαθέτει κάποιο τρόπο να αναγνωρίζει κάποια επιβεβαίωση που θα του σταλεί. Έτσι µπορούµε να πούµε ότι η επικοινωνία µεταξύ client/server είναι τόσο αξιόπιστη όσο στο physical communication link. Αν η ένωση µεταξύ του υπολογιστή και του ροµπότ γίνεται µέσω ενός καλωδίου τότε έχουµε αρκετά αξιόπιστη επικοινωνία. Αν όµως χρησιµοποιείται ασύρµατη επικοινωνία τότε παίρνουµε λιγότερη αξιοπιστία. Εποµένως αν έχουµε ασύρµατη επικοινωνία δεν πρέπει να περιµένουµε να λάβουµε όλα τα πακέτα πληροφορίας που θα στέλνονται από τον εξυπηρετητή, αλλά και ούτε να περιµένουµε τον εξυπηρετητή να λάβει όλα τα πακέτα οδηγιών που θα του στείλουµε. Το να µην στέλνεται επιβεβαίωση οφείλεται στο γεγονός ότι έχουµε real-time επικοινωνία στη διαπροσωπία client/server. Θα ήταν αχρείαστο να ξαναστέλνουµε τα χαµένα πακέτα αφού τα παλιά δεδοµένα θα ήταν ουσιαστικά άχρηστα στη διατήρηση της ανταπόκρισης στη διαπροσωπία client/server. Αναπτύχθηκε όµως µια απλή τακτική ως λύση για τα χαµένα πακέτα. Σύµφωνα µε την τακτική αυτή οι περισσότερες εντολές που λαµβάνονται από τον εξυπηρετητή µεταβάλλουν κάποιες µεταβλητές καταστάσεων που βρίσκονται στον εξυπηρετητή. Ο εξυπηρετητής βάζει τις µεταβλητές αυτές µέσα στα πακέτα πληροφόρησης τα οποία και στέλνει στο λογισµικό που τρέχει στον client. Τότε το λογισµικό εξετάζει τις µεταβλητές αυτές, µε τη βοήθειά τους εντοπίζει τις εντολές που αγνοήθηκαν και τις ξαναστέλνει µέχρι να πετύχει την σωστή κατάσταση. Γλώσσες Προγραµµατισµού του Ροµπότ Όπως είπαµε και πιο πάνω το να χειριστείς το λειτουργικό σύστηµα του ροµπότ σε χαµηλό επίπεδο είναι πάρα πολύ δύσκολο. Έτσι δηµιουργήθηκαν λογισµικά κατάλληλα να επικοινωνούν µε το AmigOS και να του µεταδίδουν τις εντολές τις οποίες ο προγραµµατιστής θα µπορεί να γράψει σε γλώσσες ψηλού επιπέδου. Μερικά

21 από τα λογισµικά που είναι σχεδιασµένα να επικοινωνούν µε τέτοιου είδους ροµπότ είναι το Saphira και το Ayllu. Το Saphira είναι το λογισµικό που χρησιµοποιήθηκε στην διπλωµατική αυτή εργασία και θα µιλήσουµε για αυτό εκτενέστερα πιο κάτω. Το Ayllu είναι το λογισµικό που εκδίδει η Activmedia. Το Saphira είναι ένα λογισµικό το οποίο είναι βασισµένο στο Aria, ένα χαµηλού επιπέδου σύστηµα ελέγχου ροµπότ γραµµένο από την ActivMedia Robotics. Το Aria περιλαµβάνει πολλές από τις χαµηλού επιπέδου διεργασίες που υπήρχαν στο Saphira, αλλά και νέές δυνατότητες όπως τον έλεγχο πολλών ροµπότ ταυτόχρονα. Έτσι, αφού το Aria µπορεί να δώσει ευέλικτη πρόσβαση στις χαµηλού επιπέδου λειτουργίες του ροµπότ, το Saphira απλοποιεί περισσότερο το έργο των προγραµµατιστών προσφέροντάς τους κάποια εύκολη διαπροσωπία σε πολλές από τις λειτουργίες αυτές. Γράφτηκε (ANSI C++), διατηρήθηκε και συνεχώς ενηµερώνετε από την SRI International s Artificial Intelligence Center. Χρησιµοποιεί το περιβάλλον client/server. Η βιβλιοθήκη του Saphira είναι ένα σύνολο από ρουτίνες για να που βοηθούν στην δηµιουργία προγραµµάτων client. Η βιβλιοθήκη του Saphira περιλαµβάνει ένα αριθµό λειτουργιών του Aria χρήσιµων για την αποστολή εντολών στον server και παραλαβή πληροφοριών από τους αισθητήρες του ροµπότ και αποκωδικοποίησή τους. Τις πληροφορίες που παραλαµβάνει τις παρουσιάζει σε ένα παράθυρο σε εικονική µορφή για καλύτερη διαπροσωπία µε τον χρήστη. Επιπρόσθετα το Saphira υποστηρίζει υψηλότερου επιπέδου λειτουργίες για έλεγχο του ροµπότ και ερµηνεία των αισθητήρων, περιλαµβάνοντας την διαπροσωπία Colbert και τα συστήµατα προσανατολισµού και τοπολογίας βάση χαρτών. Συνοπτικά το Saphira ενώνεται σε ένα robot server µε τα βασικά στοιχεία για αίσθηση και περιήγηση του ροµπότ (µοτέρ και τροχοί, αποκωδικοποιητές θέσης, αισθητήρες). Ο server ελέγχει τις χαµηλού επιπέδου λεπτοµέρειες της αίσθησης και οδήγησης του ροµπότ, στέλνει πληροφορίες και απαντά στο Saphira µέσω της διαπροσωπίας Aria. Η γλώσσα προγραµµατισµού του ροµπότ, η Colbert, είναι µια C-like γλώσσα για γράψιµο προγραµµάτων που να ελέγχουν το ροµπότ. Με το Colbert, οι χρήστες καλούνται να γράψουν και να τρέψουν συναρτήσεις γνωστές ως activities. Οι

22 συναρτήσεις αυτές µπορούν να ξεκινήσουν ή να σταµατήσουν άµεσες ενέργειες του ροµπότ, χαµηλού επιπέδου «συµπεριφορές» του ροµπότ και άλλες συναρτήσεις. Μέσω του Colbert οι χρήστες µπορούν να συνδέσουν βιβλιοθήκες γραµµένες σε C++ στα προγράµµατά τους. Οι βιβλιοθήκες γραµµένες σε C++ γλώσσα αποτελούν ένα πολύ βοηθητικό εργαλείο. Βοηθούν στην χρήση δοµών που δεν προσφέρονται από το Colbert και στη δηµιουργία συναρτήσεων που µπορούν να χρησιµοποιηθούν και µέσω του Colbert. Συµπεριλαµβάνοντας τις βιβλιοθήκες Saphira και Aria κάποιος χρήστης στις βιβλιοθήκη που θέλει να δηµιουργήσει µπορεί να ελέγξει χαµηλού επιπέδου λειτουργίες του ροµπότ ακόµα και από την ίδια την βιβλιοθήκη. Μπορεί ακόµα να λάβει πληροφορίες αναφορικά µε την τοπολογία και τους αισθητήρες του ροµπότ. Το κυριότερο όµως πλεονέκτηµα της χρήσης της γλώσσας C++ είναι η δηµιουργία «συµπεριφορών» του ροµπότ. Αντίθετα από τις εντολές που έχουν άµεσο αποτέλεσµα στη κίνηση του ροµπότ, έχουµε και πιο πολύπλοκες εντολές οι οποίες κοµµατιάζονται σε µικρότερες εντολές όπου η καθεµιά προτείνει την κίνηση που πρέπει να γίνει. Οι εντολές αυτές ονοµάζονται «εντολές συµπεριφοράς» και καθορίζουν τη συµπεριφορά που θα έχει το ροµπότ σε εξωτερικά ερεθίσµατα. Οι εντολές αυτές υλοποιούνται στο Aria. Το µικρότερο κοµµάτι µιας συµπεριφοράς(behavior) ονοµάζεται action. Τα actions υλοποιούνται ως αντικείµενα και οι τύποι τους είναι οι κλάσεις των αντικειµένων αυτών. Υπάρχει µια βασική κλάση από την οποία κληρονοµούν όλες οι actions και αυτή είναι η ArAction. Οι Ενέργειες Συµπεριφοράς είναι οι ίδιες όπως αυτές του Άµεσου Ελέγχου του ροµπότ, που είναι η ταχύτητα µετακίνησης και θέση, και ταχύτητα περιστροφής και κατεύθυνση όρασης. Όµως οι έξοδοι των εντολών συµπεριφοράς µπορεί να έχουν αυτές τις ενέργειες συνδυασµένες. Έτσι είναι σηµαντικό ότι κάποιο συγκεκριµένο σύνολο ενεργειών που πρόκειται να εκτελεστούν να χρησιµοποιούν τον ίδιο έλεγχο σε κάθε κανάλι. Για παράδειγµα δεν µπορούν να συνδυαστούν, µια action που προσπαθεί να ελέγξει την κατεύθυνση όπου θα βλέπει το ροµπότ και µια action που προσπαθεί να ελέγξει την ταχύτητα περιστροφής του ροµπότ. Τέλος οι έξοδοι των actions συνδυάζονται µε την βοήθεια ενός resolver ο οποίος µπορεί να θέσε και κάποιες προτεραιότητες στις ενέργειες που θα εκτελεστούν. Στην διπλωµατική αυτή εργασία γίνεται σηµαντική χρήση της ιδιότητας αυτής που µας

23 προσφέρει η C++. Θα δούµε παρακάτω ποιες ενέργειες υλοποιήσαµε µε αυτή την τεχνική και για πιο λόγο

24 Κεφάλαιο 3 Αλγόριθµος 3.1 Γενική Ιδέα Αλγορίθµου Σχεδιαγράµµατα Καταστάσεων Φόρτωµα κατάλληλων Βιβλιοθηκών και Καθολικές Μεταβλητές Χάρτης Δωµατίου Συµπεριφορές (Actions) και Συναρτήσεις (Activities) Εντοπισµός προσώπου (Κλάση SfTrackPersonAction) Χάσιµο προσώπου και τρόπος εύρεσής του (Κλάση SfKeepTurningAction) Παρουσίαση εκθεµάτων (Κλάση SfExhibitIntroduceAction) Κίνηση προς τα εµπρός (Κλάση SfForwardAction) Αποφυγή εµποδίων (Κλάση SfAvoidObstacles) Αρχική κατάσταση (Activity Initial() ) Περιήγηση στον εκθεσιακό χώρο (Activity StartGuide() ) Αντιδράσεις του ροµπότ Επιστροφή στην αρχική κατάσταση ( Activity GoHome() ) Ενέργειες για αποφυγή µπλοκαρίσµατος ( Activity Unstuck() ) Καθολικές Συναρτήσεις της δυναµικής βιβλιοθήκης Προσανατολισµός του ροµπότ στο χώρο Γενική Ιδέα Αλγορίθµου Όπως περιγράψαµε και στην εισαγωγή σκοπός µας είναι να προγραµµατίσουµε το ροµπότ έτσι ώστε να κινείται έξυπνα µέσα σ ένα εκθεσιακό χώρο. Με τον όρο «έξυπνα» εννοούµε φυσικά να έχει το ροµπότ την δυνατότητα να ενηµερώνει τους επισκέπτες για τα εκθέµατα του χώρου, να κάνει τυχαίες κινήσεις ξαφνιάζοντας τους επισκέπτες, να µπορεί να εντοπίζει κάποιο επισκέπτη εκτελώντας κάποια ενέργεια προς

25 αυτόν και γενικά να µπορεί να κινείται στον χώρο αποφεύγοντας τυχόν εµπόδια που θα βρίσκει στο δρόµο του. Για να καταφέρουµε όλα τα πιο πάνω θα έπρεπε πρώτα να αναγνωρίσουµε τα προβλήµατα που θα έπρεπε να προσέξουµε και µετά να σκεφτούµε τρόπους και αλγόριθµους επίλυσής τους. Ο αλγόριθµος που θα περιγράψουµε καλύπτει τα περισσότερα από τα προβλήµατα ώστε να έχουµε µια αρκετά σωστή απόκριση του ροµπότ. Το πρώτο µέληµα µας ήταν να αξιοποιήσουµε µε τέτοιο τρόπο τους αισθητήρες του ροµπότ ώστε να του δώσουµε την δυνατότητα να αναγνωρίζει τα εµπόδια που εντοπίζει. Ο αλγόριθµος επιλύει αυτό το πρόβληµα µε το να ελέγχει τις τοµές µεταξύ των ενδείξεων των αισθητήρων και των ευθειών του χάρτη. Αν η ευθεία µεταξύ του ροµπότ και του σηµείου της ένδειξης του αισθητήρα τέµνει κάποιον από τους τοίχους τότε η ένδειξη προέρχεται από τον τοίχο αυτό αλλιώς προέρχεται από κάποιο αντικείµενο µέσα στο χώρο. Αφού όµως ο χώρος µας είναι αρχικά άδειος σηµαίνει ότι αυτό που εντοπίσαµε είναι επισκέπτης. Με αυτό τον τρόπο µπορούµε να δώσουµε «εικονικά µάτια» στο ροµπότ ώστε να µπορεί να ξεχωρίζει πότε µια ένδειξη έρχεται από κάποιο αντικείµενο του χάρτη και πότε από κάποιο επισκέπτη του εκθεσιακού µας χώρου. Όσο για τα εµπόδια που θα βρίσκει το ροµπότ στο δρόµο του ο αλγόριθµός µας φροντίζει να τα αντιµετωπίσει. Έτσι όταν το ροµπότ βρεθεί σε κάποια απόσταση από κάποιο αντικείµενο πρώτο µέληµα του είναι να το αποφύγει αλλάζοντας κατεύθυνση. Με αυτό τον τρόπο αποφεύγονται οι συγκρούσεις µε αντικείµενα του περιβάλλοντος του ροµπότ. Θα αναλύσουµε πιο κάτω µε περισσότερη λεπτοµέρεια τον αλγόριθµο έτσι ώστε να κατανοήσουµε καλύτερα τις διάφορες συµπεριφορές και ενέργειες του ροµπότ. 3.2 Διαγράµµατα Καταστάσεων Διάγραµµα Καταστάσεων Ολικού Προγράµµατος

26 Start UnStuck EXIT PROG No Battery > 10V? Yes Person Detected? No Start Initial() No turnto (initialtheta) Yes Start GuideStart GradStatus 2 or 3 Start Gradient Start GoHome Yes Exit GuideStart Available Exhibits? Yes No No Battery > 10V? Yes Random Pattern 0-6 Pattern = 0 Start IntroduceExhibit Pattern = 1 Start WanderBot Pattern = 2 Start actfriendly Choose Pattern Start Aggressive Pattern = 4 Pattern = 3 Start GoCrazy Pattern = 5 Start Speak Stop Robot Σχήµα 3.1 Γενικό Διάγραµµα Καταστάσεων

27 Το πιο πάνω σχήµα µας παρουσιάζει το διάγραµµα καταστάσεων ολόκληρου του προγράµµατός µας. Οι καταστάσεις που είναι µαρκαρισµένες µε κόκκινα γράµµατα θα αναλυθούν περαιτέρω πιο κάτω. Το πρόγραµµα µας ξεκινά από την κατάσταση Initial η οποία είναι και µαρκαρισµένη µε διπλή γραµµή. Μετά µπαίνουµε στην κατάσταση Unstuck η οποία θα εκτελείται σε όλη την διάρκεια ζωής του προγράµµατος µας. Δεν σταµατούµε σε αυτή την κατάσταση αλλά την αφήνουµε να τρέχει από πίσω. Προχωρούµε µετά στην επανάληψη η οποία έχει σαν έλεγχο την ένταση του ρεύµατος της µπαταρίας. Στον έλεγχο αυτό αν η µπαταρία του ροµπότ έχει πέσει κάτω απó 10Volts τότε τερµατίζουµε το πρόγραµµά µας αλλιώς προχωρούµε στον επόµενο έλεγχο. Στον έλεγχο που φτάνουµε κοιτάζουµε αν υπάρχει κάποιο αντικείµενο µπροστά από το ροµπότ σε κάποια προκαθορισµένη απόσταση. Αν ο έλεγχος αυτός είναι αρνητικός τότε παραµένουµε σε αυτόν µέχρι να εντοπιστεί το αντικείµενο. Όταν τελικά εντοπίσουµε το αντικείµενο το ροµπότ µας µπαίνει στην κατάσταση του ξεναγού. Και πάλι εδώ βρίσκουµε µια επανάληψη η οποία εκτελείται µόνο όταν η µπαταρία του ροµπότ µας επιτρέπει να εκτελέσουµε κινήσεις. Αν ο έλεγχος δεν µας επιτρέψει να προχωρήσουµε τότε θα µας οδηγήσει έξω από την κατάσταση του ξεναγού. Σε αντίθετη περίπτωση θα µεταφερθούµε σε µια κατάσταση επιλογής κάποιου τυχαίου αριθµού από το 0-6 ο οποίος θα αντιπροσωπεύει το pattern που θα εκτελέσουµε. Αφού πάρουµε τον αριθµό µεταβαίνουµε στον έλεγχο ύπαρξης εκθεµάτων προς παρουσίαση. Αν δεν υπάρχουν εκθέµατα προς παρουσίαση οδηγούµαστε έξω από την κατάσταση ξεναγού. Σε αντίθετη περίπτωση επιλέγουµε και εκτελούµε το pattern στο οποίο αντιστοιχεί ο αριθµός που έχουµε. Μετά από κάθε pattern το ροµπότ σταµατά και µεταφερόµαστε ξανά στον έλεγχο της µπαταρίας για να κλείσει έτσι η επανάληψη. Όταν βγούµε από την κατάσταση του ξεναγού θα µεταφερθούµε στην κατάσταση επιστροφής στο σπίτι. Το σπίτι του ροµπότ είναι η θέση από όπου είχε αρχικά ξεκινήσει. Από αυτή θα καλεστεί η Gradient η οποία θα οδηγήσει προσεχτικά το ροµπότ στη θέση που επιθυµούµε. Προχωρούµε µετά στον έλεγχο κατά πόσο το status του Gradient είναι ίσο µε 2 ή 3 που σηµαίνει ότι το ροµπότ έχει φτάσει ή δεν µπορεί να φτάσει στο στόχο του. Αν δεν έχουµε κάποια από αυτές τις δυο περιπτώσεις τότε παραµένουµε στον έλεγχο αυτό αλλιώς προχωρούµε να στρίψουµε το ροµπότ στην αρχική του γωνιά. Μετά από αυτό φτάνουµε στην αρχική επανάληψη και στον έλεγχο της µπαταρίας

28 3.2.2 Διάγραµµα Καταστάσεων Συνάρτησης Unstuck Start Unstuck Is Motor Stalled? No Set Stuck flag=false Yes No Move(-100) noblock Is Motor Stalled? Yes Move(100) Turn(30) Yes Left Dist >Right Dist No Turn(-30) Σχήµα 3.2 Διάγραµµα Καταστάσεων Συνάρτησης Unstuck Το σχήµα 3.2 δείχνει µε λεπτοµέρεια τις καταστάσεις από τις οποίες περνά το ροµπότ για να µπορέσει να επαναφέρει από περίπτωση µπλοκαρίσµατος. Στις καταστάσεις όπου υπάρχουν κινήσεις εννοούµε ότι η κίνηση ξεκινά από εκείνο το σηµείο. Η αρχική κατάσταση και εδώ µαρκάρετε µε διπλή γραµµή. Δεν έχουµε εδώ καµιά κατάσταση που να χρειάζεται περαιτέρω ανάλυση. Στους ελέγχους που γράφουν Is Motor Stalled εννοούµε ότι ελέγχουµε και τα δυο µοτέρ. Η συνάρτηση θα περιγραφεί µε λεπτοµέρεια σε επόµενα υποκεφάλαια αυτού του κεφαλαίου

29 3.2.3 Διάγραµµα Καταστάσεων Pattern IntroduceExhibit Available Exhibits? No Set exhibit flag = false Start IntroduceExhibit Deactivate Behavior Do not introduce Exhibit Yes Reset exhibit list Enable Behaviors No GradStatus=3 Start ExhibitIntroduce Available Exhibits? Yes Check GradStadus Enable Behaviors GradStatus=1,4 Remove Behavior Introduce Exhibit GradStatus=2 Get Nearest Exhibit GradStatus=0 Exit Pattern Start Gradient Σχήµα 3.3 Διάγραµµα Καταστάσεων Pattern IntroduceExhibit και της συµπεριφοράς ExhibitIntroduce Το διάγραµµα µας παρουσιάζει τις καταστάσεις στις οποίες θα βρεθούµε κατά την εκτέλεση του pattern που παρουσιάζει τα εκθέµατα. Ταυτόχρονα µας δείχνει και τις καταστάσεις της συµπεριφοράς ExhibitIntroduce(SfExhibitIntroduceAction) όταν αυτή καλείται από το Colbert. Οι επαναλήψεις δεν είναι λόγω κάποιας επανάληψης ορισµένης στον κώδικα µας αλλά λόγω των κύκλων εκτέλεσης του ροµπότ. Από την στιγµή που µια συµπεριφορά είναι ενεργή, εκτελείται η συνάρτηση fire που

30 περιλαµβάνει, σε κάθε κύκλο µέχρι αυτή να απενεργοποιηθεί ή να εκτελεστεί κάποια εντολή άµεσης κίνησης. Η αρχική κατάσταση είναι µαρκαρισµένη µε διπλό κύκλο Διάγραµµα Καταστάσεων Pattern WanderBot Start WanderBot Enable Behaviors Start AvoidObstacles Start GoForward Remove Behaviors Wait random time 15-25s Exit Pattern Σχήµα 3.4 Διάγραµµα Καταστάσεων Pattern WanderBot Στο διάγραµµα αυτό υπάρχουν καταστάσεις που απαιτούν περαιτέρω ανάλυση. Συγκεκριµένα οι συµπεριφορές AvoidObstacles και GoForward θα αναλυθούν και θα συζητηθούν ξεχωριστά πιο κάτω. Το pattern αυτό στηρίζει την εκτέλεση του ουσιαστικά στον συνδυασµό των δυο συµπεριφορών και µετά από µια µικρή αδράνεια τις απενεργοποιεί και τελειώνει Διάγραµµα Καταστάσεων Pattern actfriendly Αυτό το διάγραµµα επικεντρώνεται περισσότερο σε άµεσες κινήσεις. Με κάθε µια από τις κινήσεις µεταφερόµαστε στην κατάλληλη κατάσταση. Μετά την κίνηση του rotate και µε την καθυστέρηση των 1,5s θα οδηγηθούµε στο τέλος του pattern. και εδώ η αρχική κατάσταση µαρκάρετε µε διπλό κύκλο. Δεν υπάρχουν εδώ καταστάσεις που να θέλουν περαιτέρω ανάλυση

31 Start actfriendly Turn(45) Play Music A B D Move(100) C Move(-100) Move(100) Turn(-90) E Move(-100) Rotate(240) Turn(45) Exit Pattern Wait 1,5s Σχήµα 3.5 Διάγραµµα Καταστάσεων Pattern actfriendly Διάγραµµα Καταστάσεων Pattern Aggressive Start Aggressive Person Detected No Bark(Dog) Yes Move(100) Move(-100) Yes Too Near? turn(25) turn(25) No Speed(-50) turn(-50) Wait(15) Exit Pattern move(500) Σχήµα 3.6 Διάγραµµα Καταστάσεων Pattern WanderBot

32 Το Aggressive είναι ένα pattern που κάνει το ροµπότ να φαίνεται εχθρικό. Έτσι είτε κάνει επίθεση είτε κάποια απότοµη κίνηση. Όταν είναι µακριά από το στόχο του τότε θα µπορεί να πάει προς τα εµπρός υπο τύπου επίθεσης. Αλλιώς κάνει κάποια απότοµη κίνηση. Ούτε και σε αυτό το διάγραµµα έχουµε αδιευκρίνιστες καταστάσεις. Οι περισσότερες κινήσεις είναι άµεσες ενώ υπάρχουν και κάποιες συνεχόµενες κινήσεις όπως είναι το speed και το rotate Διάγραµµα Καταστάσεων Pattern GoCrazy Start GoCrazy Enable Behaviors Start AvoidObstacles Start GoForward Start KeepTurning Remove Behaviors KeepTurning Deactivated Exit Pattern Σχήµα 3.7 Διάγραµµα Καταστάσεων Pattern WanderBot Το πιο πάνω διάγραµµα περιέχει συµπεριφορές οι οποίες πρόκειται να αναλυθούν. Γι µαρκάραµε µε κόκκινο τις συµπεριφορές των οποίων ακολουθούν τα σχεδιαγράµµατα καταστάσεων. Αυτό το pattern όπως φαίνεται εξαρτάται από τον συνδυασµό των κινήσεων των τριών συµπεριφορών Διάγραµµα Καταστάσεων Pattern Speak Οι συµπεριφορές και εδώ είναι µαρκαρισµένες µε κόκκινο αφού χρειάζονται ανάλυση. Η αρχική κατάσταση είναι µαρκαρισµένη µε διπλό κύκλο. Το ροµπότ εδώ βρίσκεται σε καταστάσεις στις οποίες ψάχνει για κάποιο επισκέπτη. Όταν χάσει το άτοµο που αρχικά εντόπισε τότε κάνει µικρές στροφές δεξιά και αριστερά στην προσπάθειά του

33 να τον εντοπίσει ξανά. Αν δεν τα καταφέρει ή αν έφτασε πλέον πολύ κοντά στο άτοµο του µιλά επιλέγοντας τυχαία αυτά που θα πεί. Start Speak Enable Behaviors Start KeepTurning Start GoForward Start TrackPerson Yes Turned Around? TrackPerson Deactivated Say Something Yes No Person lost? No No Person Dist >600? Yes Turn Left Yes, No Person Detected? Yes Person Detected? Exit Pattern Turn Right No Σχήµα 3.8 Διάγραµµα Καταστάσεων Pattern Speak Διάγραµµα καταστάσεων για Συµπεριφορά TrackPerson Στην συµπεριφορά TrackPerson σκοπός µας είναι ο εντοπισµός και η στροφή του ροµπότ προς κάποιο επισκέπτη. Στο σχήµα 3.9 φαίνονται οι καταστάσεις και οι έλεγχοι που θα κάνει το ροµπότ κατά την διάρκεια εκτέλεσής της. Η συµπεριφορά αυτή αντιπροσωπεύει την κλάση SfTrackPersonAction

34 Start TrackPerson Person Detected in front? No No Yes Person Distance <= 500 Yes NewAngle oldangle <=20 Yes No Person Detected aslant front? Yes No SetHeading =oldangle SetHeading =newangle SetVelocity =0(Stop) Deactivate Σχήµα 3.9 Διάγραµµα Καταστάσεων Συµπεριφοράς TrackPerson Διάγραµµα Καταστάσεων Συµπεριφοράς KeepTurning Στο σχήµα 3.10 φαίνονται οι καταστάσεις στις οποίες µεταφέρεται το ροµπότ κατά την εκτέλεση της συµπεριφοράς KeepTurning. Σκοπός της συµπεριφοράς αυτής είναι να στριφογυρίσει το ροµπότ µέχρι να εντοπίσει κάποιο επισκέπτη ή µέχρι να κάνει µια πλήρη στροφή. Η συµπεριφορά αυτή αντιπροσωπεύει την κλάση SfKeepTurningAction

35 Start KeepTurrning Set new angle No Turn to initial angle Yes Made whole turn? No Person Detected? Yes Deactivate Set person angle Σχήµα 3.10 Διάγραµµα Καταστάσεων Συµπεριφοράς Keepturning Διάγραµµα Καταστάσεων Συµπεριφοράς GoForward Start GoForward Set Desire Speed Set Desire Speed/2 Yes Near to obstacle? No Is stalled motor? No Set Speed to 0.(Stop) Yes Σχήµα 3.11 Διάγραµµα Καταστάσεων Συµπεριφοράς GoForward

36 Το σχήµα 3.11 µας βοηθά να καταλάβουµε την λογική και τις καταστάσεις που έχει η συµπεριφορά GoForward. Αρχικά θέτει µια υψηλή ταχύτητα στο ροµπότ η οποία όµως µετά από τους ελέγχους µπορεί να µειωθεί ή ακόµα και να µηδενιστεί. Στον έλεγχο Is stalled motor ελέγχουµε και τα δύο µοτέρ Διάγραµµα Καταστάσεων Συµπεριφοράς AvoidObstacles No Start AvoidObstacles Too near to obstacle? Yes Set Speed to 0.(Stop Turn robot Σχήµα 3.12 Διάγραµµα Καταστάσεων Συµπεριφοράς AvoidObstacles Το τελευταίο διάγραµµα παρουσιάζει τις καταστάσεις στις οποίες µπορούµε να βρεθούµε κατά την εκτέλεση της συµπεριφοράς AvoidObstacles. Απλά εδώ γίνεται ο έλεγχος κατά πόσο βρισκόµαστε κοντά σε κάποιο αντικείµενο. Αν ο έλεγχος απαντήσει ναι τότε σταµατούµε το ροµπότ και κάνουµε επιτόπια στροφή. Και εδώ η επανάληψη δηµιουργείται λόγω των κύκλων εκτέλεσης του ροµπότ. 3.3 Φόρτωµα κατάλληλων στοιχείων και Καθολικές Μεταβλητές Όπως και σε άλλες γλώσσες προγραµµατισµού έτσι και στο Colbert πρέπει να ορίσουµε στην αρχή του προγράµµατος µας τυχόν βιβλιοθήκες, συναρτήσεις ή ακόµα και χάρτες που θα χρησιµοποιήσουµε. Επίσης πρέπει να ορίσουµε τις καθολικές µεταβλητές που θα χρησιµοποιήσει το πρόγραµµά µας. Φυσικά κάποιοι ορισµοί βιβλιοθηκών και δοµών

37 έγιναν και στην δυναµική βιβλιοθήκη που γράφτηκε στην C++. Όλοι οι ορισµοί που χρειάστηκαν να γίνουν ήταν οι εξής: Βιβλιοθήκη GFuntions.dll (C++) #include "MyDefs.h" #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <direct.h> WallsList *walllist; //The head of the list that holds walls artifacts Exhibit *exhibitlist; //The head of the list that holds the exhibits of the museum Η µόνη άγνωστη βιβλιοθήκη είναι η MyDefs.h. Οι WallsList και Exhibit είναι δύο δοµές οι οποίες ορίζονται στην βιβλιοθήκη MyDefs. Η πρώτη από τις δυο δηµιουργήθηκε για να κρατά τα στοιχεία των τοίχων του κόσµου και οι δεύτερη για να κρατά τα στοιχεία που αφορούν τα εκθέµατα που θα έχουµε. Πιο συγκεκριµένα η MyDefs είναι ορισµένη όπως φαίνεται πιο κάτω. /*MyDefs.h*/ #include "saphira.h" #include "sfclass.h" #define MAKE_LIBRARY #include "export.h" Στην βιβλιοθήκη αυτή περιλαµβάνεται η βασική βιβλιοθήκη Saphira.h η οποία, µε την βοήθεια της βιβλιοθήκης Aria.h, δίνει την δυνατότητα πρόσβασης σε χαµηλού επιπέδου λειτουργίες του ροµπότ όπως είναι η επικοινωνία µε τον µικροεπεξεργαστή ή η λήψη των ενδείξεων των αισθητήρων. Ακολουθούν οι δύο δοµές (structs) που θα µας βοηθήσουν να προσανατολίζουµε το ροµπότ στο χώρο µετά από κάθε κίνησή του

38 Επιπλέον µε τις βιβλιοθήκες αυτές θα µπορέσουµε να ελέγξουµε τις κινήσεις του ροµπότ και να το οδηγήσουµε στο χώρο. typedef struct walls SfWall *wall; struct walls *next; }WallsList; Η struct walls (WallsList) είναι υπεύθυνη να κρατά πληροφορίες σχετικά µε τους τοίχους που θα έχουµε στο χώρο στον οποίο θα κινείται το ροµπότ µας. Συγκεκριµένα, περιέχει ένα δείκτη σε ένα αντικείµενο SfWall και ένα δείκτη που µας δείχνει τον διπλανό κόµβο. Η κλάση SfWall είναι αυτή που µας προσφέρει όλες τις πληροφορίες που πρέπει να ξέρουµε για κάποιο τοίχο ώστε να µπορούµε να τον προσδιορίσουµε στον χώρο. Περιέχει τα σηµεία αρχής και τέλους του τοίχου όσο και την ταυτότητα του. Το πως παίρνουµε τα αντικείµενα SfWall θα το δούµε πιο κάτω. Εποµένως µε την βοήθεια της δοµής αυτής θα µπορέσουµε να δηµιουργήσουµε µια λίστα αποτελούµενη από παρόµοιες δοµές στην οποία θα έχουµε όλους τους τοίχους του χώρου µας και θα µπορούµε να τους διατρέχουµε όποτε χρειαζόµαστε πληροφορία για την θέση του ροµπότ σε σχέση µε αυτούς. typedef struct exhibit double x; double y; char introspeechnum[100]; char name[50]; bool introduced; struct exhibit *next; }Exhibit; Η struct Exhibit είναι η δοµή όπου κρατούµε πληροφορίες για κάποιο έκθεµα που βρίσκεται στον εκθεσιακό χώρο. Στην δοµή αυτή αποθηκεύουµε τις συντεταγµένες (x,y) του εκθέµατός µας, το όνοµα του αρχείου του ήχου παρουσίασής του, την

39 ονοµασία του και αν το έκθεµα παρουσιάστηκε ή όχι. Τέλος ο δείχτης next µας ενώνει µε το επόµενο έκθεµα στη λίστα. Τα εκθέµατα τα διαβάζουµε από κάποιο αρχείο µε την βοήθεια της συνάρτησης loadexhibits την οποία θα περιγράψουµε σε επόµενο υποκεφάλαιο. Colbert loadworld Museum1; loadlib sfgrad; loadlib sfloc; loadlib GFunctions; loadlib testload; //need this for sfstalledmotor def Με το loadworld φορτώνουµε τον χάρτη που θέλουµε να χρησιµοποιήσουµε. Με αυτή την εντολή το Colbert δηµιουργεί τα Artifacts-Walls τα οποία και θα χρησιµοποιήσουµε αργότερα για να διαβάσουµε τις συντεταγµένες του κάθε τοίχου στον κόσµο που θα δουλέψουµε. Με το loadlib φορτώνουµε τις βιβλιοθήκες που θα χρειαστούµε. Οι βιβλιοθήκες sfgrad και sfloc προσφέρονται από το Saphira. Η πρώτη περιέχει την λειτουργία Gradient η οποία έχει σαν στόχο να βρίσκει το βέλτιστο µονοπάτι προς κάποιο στόχο και να καθοδηγεί το ροµπότ µέσω αυτού του µονοπατιού εκεί. Η δεύτερη βιβλιοθήκη χρησιµοποιεί την θεωρία του Markov Localization για να προσανατολίζει το ροµπότ στο χώρο που βρίσκεται χρησιµοποιώντας τα εξωτερικά του ερεθίσµατα (sonars). Οι δύο προαναφερθέντες βιβλιοθήκες χρησιµοποιούν και λαµβάνουν υπόψη τους τον χάρτη του δωµατίου. Τέλος φορτώνουµε και την δική µας δυναµική βιβλιοθήκη GFunctions και την βιβλιοθήκη του Colbert testload η οποία θα µας προσφέρει την χρήσιµη συνάρτηση για έλεγχο του µπλοκαρίσµατος ή όχι των µοτέρ. int CheckDist; CheckDist = 2000; //the max dist from the robot that we check for person int stuckflag; //flag that indicates if the robot is stuck or not int exhibits; //flag that indigates whether there are exhibits to intoduce or not

40 //Pattern flags. Enables/Disables patterns int intro; int wand; int friend; int anger; int craz; int spk; intro = 1; wand = 0; friend = 0; anger = 0; craz = 0; spk = 0; //initial world cordinates of the robt float initialx; float initialy; float initialth; Ακολουθούν οι καθολικές µεταβλητές. Η CheckDist µας δίνει την µέγιστη απόσταση ελέγχου του ροµπότ. Το stuckflag µας λεει αν το ροµπότ είναι µπλοκαρισµένο ή όχι. Το exhibit flag θα το χρησιµοποιήσουµε για να βλέπουµε αν υπάρχουν εκθέµατα που δεν έχουµε παρουσιάσει ή αν έχουν παρουσιαστεί όλα. Οι σηµαίες που ακολουθούν θα µας βοηθήσουν να ενεργοποιούµε και να απενεργοποιούµε τα patterns που θέλουµε. Οι τελευταίες 3 µεταβλητές κρατούν τις αρχικές συντεταγµένες του ροµπότ (Χ,Υ) και την γωνία που βλέπει Theta. 3.4 Χάρτης Δωµατίου

41 Σχήµα 3.13 Στο σχήµα 3.13 φαίνεται ο χάρτης του δωµατίου που χρησιµοποιούµε. Ο κύκλος στο κέντρο σχεδόν του δωµατίου αντιπροσωπεύει την αρχική θέση του ροµπότ και η γραµµή µέσα στον κύκλο την αρχική κατεύθυνση που κοιτάζει το ροµπότ. Τα πράσινα σηµάδια αντιπροσωπεύουν τις θέσεις των εκθεµάτων του χώρου. Ο χάρτης φυλάγεται και σε ένα αρχείο υπό µορφή πληροφορίας. Στο αρχείο αυτό µπορούµε να βρούµε τις πληροφορίες σχετικά µε τις θέσεις των τοίχων και των εκθεµάτων καθώς και την αρχική θέση του ροµπότ. Με την βοήθεια των πληροφοριών αυτών θα µπορούµε να καθοδηγούµε το ροµπότ προς τα εκθέµατα του χώρου αλλά και θα µπορούµε να αναγνωρίσουµε πότε παίρνουµε ένδειξη από κάποιο τοίχο και πότε όχι. Ο χάρτης αυτός θα παίξει σηµαντικό ρόλο στον προσανατολισµό του ροµπότ αλλά και στην συνάρτηση Gradient για την οποία θα µιλήσουµε πιο κάτω. Για να πάρουµε σωστά αποτελέσµατα πρέπει ο χάρτης µας να είναι ακριβείς σύµφωνα µε τις αποστάσεις του πραγµατικού χώρου. 3.5 Συµπεριφορές (Actions) και Συναρτήσεις (Activities) Για την υλοποίηση του προγράµµατος χρησιµοποιήθηκαν τόσο συµπεριφορές όσο και συναρτήσεις που θα βοηθούσαν το ροµπότ να εκτελεί τις σωστές ενέργειες. Όπως περιγράφηκε πιο πάνω οι συµπεριφορές (actions) είναι κλάσεις που υλοποιήθηκαν σε

42 γλώσσα C++ ενώ οι συναρτήσεις (activities) υλοποιήθηκαν στην γλώσσα που δηµιουργήθηκε για το ροµπότ Colbert. Η χρήση των συµπεριφορών ήταν αποτέλεσµα της ανάγκης να έχουµε κάποιες συνεχείς, προτεινόµενες µε βάση κάποιους ελέγχους, κινήσεις από τις οποίες θα επιλεγόταν η καλύτερη ανάλογα µε την κατάσταση που θα βρισκόταν το ροµπότ. Όλες οι συµπεριφορές χρησιµοποιούν την συνάρτηση ArActionDesired *fire() µέσα στην οποία ορίζουν και επιστρέφουν την ενέργεια που επιθυµούν να εκτελεστεί. Σε κάθε κύκλο εκτέλεσης του ροµπότ αν µια συµπεριφορά είναι ενεργή τότε εκτελείται η συνάρτηση fire που περιλαµβάνει. Οι συναρτήσεις χρησιµοποιήθηκαν για τον έλεγχο των συµπεριφορών και για τις άµεσες ενέργειες που θα έπρεπε να εκτελεί το ροµπότ µε την µετάβασή του από µια κατάσταση σε κάποια άλλη. Οι συναρτήσεις ορίζουν την αρχική κατάσταση που θα βρίσκεται το ροµπότ, πότε θα πρέπει να ξεκινήσει την ξενάγηση, πότε θα πρέπει να ξεκινήσει να εκτελεί κάποιες συµπεριφορές και πότε θα πρέπει να σταµατήσει και να γυρίσει στην αρχική του θέση. Οι Συµπεριφορές που δηµιουργήθηκαν είναι: TrackPerson GoForward AvoidObstacles ExhibitIntroduce KeepTurning Οι Συναρτήσεις που δηµιουργήθηκαν είναι: InitialState StartGuide GoHome Unstuck Συµπεριφορές και Συναρτήσεις θα περιγραφούν µε µεγαλύτερη λεπτοµέρεια σε επόµενα υποκεφάλαια αυτού του κεφαλαίου. Εκτός από τα πιο πάνω ορίστηκαν και µερικές βοηθητικές συναρτήσεις στην δυναµική βιβλιοθήκη που δηµιουργήσαµε, οι οποίες δεν ανήκουν σε κάποια συγκεκριµένη

«Προγραµµατισµός του LEGO Mindstorm NXT για το διαγωνισµό "Move the Ball!"»

«Προγραµµατισµός του LEGO Mindstorm NXT για το διαγωνισµό Move the Ball!» ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΚΠ 413 / ΕΚΠ 606 ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ Εργασία Εξαµήνου Προγραµµατισµός του LEGO Mindstorm NXT για το διαγωνισµό "Move the Ball!"

Διαβάστε περισσότερα

ΡΟΜΠΟΤΙΚΗ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ LEGO MINDSTORMS NXT. ΚΕΦΑΛΑΙΟ 7ο. Δραστηριότητες για το ΝΧΤ-G και το Robolab

ΡΟΜΠΟΤΙΚΗ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ LEGO MINDSTORMS NXT. ΚΕΦΑΛΑΙΟ 7ο. Δραστηριότητες για το ΝΧΤ-G και το Robolab ΡΟΜΠΟΤΙΚΗ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ LEGO MINDSTORMS NXT ΚΕΦΑΛΑΙΟ 7ο Δραστηριότητες για το ΝΧΤ-G και το Robolab Α. Αποφυγή εμποδίων Θα επιδιώξουμε να προγραμματίσουμε το όχημα-ρομπότ μας ώστε να είναι σε θέση

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3 Μάθημα 1 ο : Περιγραφή του EV3 και του περιβάλλοντος προγραμματισμού του Σύλλογος Εκπαιδευτικών Πληροφορικής Χίου 2 3 4 ΑΝΙΚΕΙΜΕΝΑ ΜΑΘΗΣΗΣ 1. Πώς

Διαβάστε περισσότερα

Πτυχιακή Εργασία Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Η Ασύρματη Επικοινωνία, χρησιμοποιώντας

Πτυχιακή Εργασία Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Η Ασύρματη Επικοινωνία, χρησιμοποιώντας Βασικές Έννοιες Πτυχιακή Εργασία 2015 Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping). Η Ασύρματη Επικοινωνία, χρησιμοποιώντας το πρωτόκολλο WiFi.

Διαβάστε περισσότερα

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT Φύλλο Εργασιών 2 ο Κινητήρες και Δομή Επανάληψης Σημειώσεις Καθηγητή Τώρα θα δούμε πως μπορούν να τροποποιηθούν τα προγράμματα

Διαβάστε περισσότερα

7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58

7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58 7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58 Στόχοι Μαθήματος 1. Πώς να επαναλάβετε μια δράση 2. Μάθετε πώς να χρησιμοποιείτε το Loop Blocks Προγραμματισμός EV3 Ακαδημία Ρομποτικής

Διαβάστε περισσότερα

Πολυτεχνείο Κρήτης Τμήμα ΗΜΜΥ Χειμερινό Εξάμηνο Intelligence Lab. Αυτόνομοι Πράκτορες. Κουσανάκης Βασίλης

Πολυτεχνείο Κρήτης Τμήμα ΗΜΜΥ Χειμερινό Εξάμηνο Intelligence Lab. Αυτόνομοι Πράκτορες. Κουσανάκης Βασίλης Πολυτεχνείο Κρήτης Τμήμα ΗΜΜΥ Χειμερινό Εξάμηνο 2012-2013 Intelligence Lab Αυτόνομοι Πράκτορες Κουσανάκης Βασίλης 2006030096 Αναφορά εργασίας εξαμήνου Mobile robots Rat s life Mapping Localization Είναι

Διαβάστε περισσότερα

Σχεδίαση του αλγορίθμου για το παιχνίδι Rat s Life

Σχεδίαση του αλγορίθμου για το παιχνίδι Rat s Life H παρουσίαση περιλαμβάνει: Λίγα λόγια για την Τεχνητή Νοημοσύνη Λίγα λόγια για το πρόγραμμα Webots Τεχνικά χαρακτηριστικά του αυτόνομου E-puckmobile-robot Σχεδίαση του αλγορίθμου για το παιχνίδι Rat s

Διαβάστε περισσότερα

Εισαγωγή στη Ρομποτική και τον Προγραμματισμό με τη χρήση του ρομπότ Thymio & του λογισμικού Aseba

Εισαγωγή στη Ρομποτική και τον Προγραμματισμό με τη χρήση του ρομπότ Thymio & του λογισμικού Aseba 5 ο Πανελλήνιο Επιστημονικό Συνέδριο Ένταξη και Χρήση των ΤΠΕ στην Εκπαιδευτική Διαδικασία Εισαγωγή στη Ρομποτική και τον Προγραμματισμό με τη χρήση του ρομπότ Thymio & του λογισμικού Aseba Κόμης Βασίλης

Διαβάστε περισσότερα

Atlantis - Νέο user interface

Atlantis - Νέο user interface New Desktop 1 Atlantis - Νέο user interface ATLANTIS - ΝΕΟ USER INTERFACE...2 ΓΕΝΙΚΗ ΠΑΡΟΥΣΙΑΣΗ...3 ΓΡΑΜΜΗ ΣΥΣΤΗΜΑΤΟΣ...4 ΜΠΑΡΑ ΧΡΗΣΤΗ (USER TOOLBAR)...5 ΚΕΝΤΡΙΚΟ ΜΕΝΟΥ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ...6 Κεντρικό μενού

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3 Μάθημα 3 ο : ΣΤΡΟΦΕΣ Σύλλογος Εκπαιδευτικών Πληροφορικής Χίου ΑΝΤΙΚΕΙΜΕΝΑ ΜΑΘΗΣΗΣ 1. Πώς να στρίβετε το robot ένα προκαθορισμένο αριθμό μοιρών 2.

Διαβάστε περισσότερα

ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΝΤΟΥΛΑΚΗΣ - ΜΕΝΙΟΥΔΑΚΗΣ ΕΠΑ.Λ ΕΛ. ΒΕΝΙΖΕΛΟΥ

ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΝΤΟΥΛΑΚΗΣ - ΜΕΝΙΟΥΔΑΚΗΣ ΕΠΑ.Λ ΕΛ. ΒΕΝΙΖΕΛΟΥ ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ... 2 ΠΡΟΛΟΓΟΣ... 3 ΕΙΣΑΓΩΓΗ... 4 Η ΑΝΑΠΤΥΞΗ ΤΗΣ ΟΘΟΝΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ... 4 Ο ΕΚΠΑΙΔΕΥΤΗΣ ΡΟΜΠΟΤ... 5 ΤΟ ΠΑΡΑΘΥΡΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ... 5 ΤΑ ΚΟΥΜΠΙΑ ΚΑΙ ΤΑ ΜΠΛΟΚ...

Διαβάστε περισσότερα

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3 Μάθημα 11ο: Μεταβλητές, Αριθμητικές - Λογικές πράξεις Σύλλογος Εκπαιδευτικών Πληροφορικής Χίου ΑΝΤΙΚΕΙΜΕΝΑ ΜΑΘΗΣΗΣ 1. Τι είναι μία μεταβλητή 2.

Διαβάστε περισσότερα

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

Διαβάστε περισσότερα

Τα βιβλία της σειράς «ΕΤΣΙ ΓΡΑΦΩ ΚΑΙ ΙΑΒΑΖΩ µε µικρά βήµατα µέσα από συγκεκριµένους στόχους» πρώτο, δεύτερο και τρίτο µέρος, αποτελούν πολύ καλό βοήθηµα για την πρώτη ανάγνωση και γραφή. Οι µαθητές της

Διαβάστε περισσότερα

Διδασκαλία γραμμάτων-συλλαβών

Διδασκαλία γραμμάτων-συλλαβών Διδασκαλία γραμμάτων-συλλαβών Ο μαθητής αξιοποιεί τον Η/Υ και ακούει κάθε φορά την εκφώνηση της άσκησης αλλά και την εργασία που έχει να κάνει. Μπορεί να διακρίνει ακουστικά και οπτικά την πρώτη συλλαβή-γράμμα,

Διαβάστε περισσότερα

BeoSound 9000 Οδηγ ς

BeoSound 9000 Οδηγ ς BeoSound 9000 Οδηγός BeoVision Avant Guide BeoVision Avant Reference book Περιεχόµενα του Οδηγού 3 Υπάρχουν δύο οδηγοί στη διάθεση σας, για να γνωρίσετε τη δική σας συσκευή Bang & Olufsen. Ο οδηγός Το

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 2. Σύνταξη μπλοκ εντολών. Δραστηριότητα 1

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 2. Σύνταξη μπλοκ εντολών. Δραστηριότητα 1 ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 2 Σύνταξη μπλοκ εντολών Δραστηριότητα 1 Η πρώτη µας ενέργεια στην δηµιουργία των απαραίτητων µπλοκ εντολών είναι η δηµιουργία µιας διαδικασίας την οποία θα καλούµε κάθε φορά που επιθυµούµε

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ EV3 Επίπεδο Ι

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ EV3 Επίπεδο Ι ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ EV3 Επίπεδο Ι Δρ. Γιώργος Α. Δημητρίου Εργαστήριο Ρομποτικής και Αυτομάτων Συστημάτων & Ακαδημία Ρομποτικής Τμήμα Πληροφορικής και Μηχανικών Υπολογιστών Σχολή Μηχανικής και Εφαρμοσμένων

Διαβάστε περισσότερα

Outlook Express-User Instructions.doc 1

Outlook Express-User Instructions.doc 1 Οδηγίες προς τους υπαλλήλους του ήµου Θεσσαλονίκης για την διαχείριση της ηλεκτρονικής τους αλληλογραφίας µε το Outlook Express (Ver 1.0 22-3-2011) (Για οποιοδήποτε πρόβληµα ή απορία επικοινωνήστε µε τον

Διαβάστε περισσότερα

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop.

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop. Ο βρόγχος While-loop 1. Ο βρόγχος while-loop εκτελείται έως ότου ικανοποιηθεί µία προκαθορισµένη συνθήκη. 2. Ο αριθµός των επαναλήψεων ενός βρόγχου while-loop δεν είναι εκ των προτέρων προκαθορισµένος,

Διαβάστε περισσότερα

αντίστοιχο γεγονός. Όταν όντως το κουμπί

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

Διαβάστε περισσότερα

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

Διαβάστε περισσότερα

Breakdance Computer Game σε Scratch.

Breakdance Computer Game σε Scratch. Breakdance Computer Game σε Scratch. Ταστίογλου Μαριάννα 1, Τραντοπούλου Μαργαρίτα 2 1 Μαθήτρια Γ Τάξης, 2 ο Γυμνάσιο Ευόσμου atas94@otenet.gr 2 Μαθήτρια Γ Τάξης, 2 ο Γυμνάσιο Ευόσμου daizy@in.gr Δασκαλάκης

Διαβάστε περισσότερα

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν Επαναληπτικές δοµές Η λογική των επαναληπτικών διαδικασιών εφαρµόζεται όπου µία ακολουθία εντολών εφαρµόζεται σε ένα σύνολο περιπτώσεων που έχουν κάτι κοινό. Όταν ψάχνουµε θέση για να παρκάρουµε κοντά

Διαβάστε περισσότερα

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου (νέο βιβλίο Πληροφορικής Γυµνασίου Αράπογλου, Μαβόγλου, Οικονοµάκου, Φύτρου) Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις 1. Τι είναι ο Αλγόριθµος;

Διαβάστε περισσότερα

Καροτοκυνηγός. Αντικείμενα

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

Διαβάστε περισσότερα

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885 CubisLITE Client Οδηγίες Χρήσεως Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885 1 ΠΕΡΙΕΧΟΜΕΝΑ Γενικά 1. Τι είναι ο CubisLITE Server 2. Τι είναι ο

Διαβάστε περισσότερα

ΗΜΙΟΥΡΓΙΑ ΠΑΙΧΝΙ ΙΟΥ ΣΤΟ SCRATCH ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ

ΗΜΙΟΥΡΓΙΑ ΠΑΙΧΝΙ ΙΟΥ ΣΤΟ SCRATCH ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ ΗΜΙΟΥΡΓΙΑ ΠΑΙΧΝΙ ΙΟΥ ΣΤΟ SCRATCH ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ ΣΕΝΑΡΙΟ ΠΑΙΧΝΙ ΙΟΥ Το παιχνίδι θα αποτελείται από δυο παίκτες, οι οποίοι θα βρίσκονται αντικριστά στις άκρες ενός γηπέδου δεξιά και αριστερά, και µια µπάλα.

Διαβάστε περισσότερα

Σύστηµα Καθοδήγησης σε Parking DUPLINE

Σύστηµα Καθοδήγησης σε Parking DUPLINE Σύστηµα Καθοδήγησης σε Parking DUPLINE Ανιχνεύει τις ελεύθερες θέσεις πάρκινγκ και οδηγεί τον οδηγό σε αυτές από τη συντοµότερη δυνατή διαδροµή Ανίχνευση αυτοκινήτου µε αισθητήρα υπερήχων ultrasonic Ο

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Περιγραφή της αρχικής οθόνης κάθε τάξης α. Εικονίδια επιλογής θεµατικών ενοτήτων β. Εικονίδια διαφυγής...

ΠΕΡΙΕΧΟΜΕΝΑ. Περιγραφή της αρχικής οθόνης κάθε τάξης α. Εικονίδια επιλογής θεµατικών ενοτήτων β. Εικονίδια διαφυγής... ΠΕΡΙΕΧΟΜΕΝΑ Α. ΕΚΚΙΝΗΣΗ ΚΛΕΙΣΙΜΟ ΤΗΣ ΕΦΑΡΜΟΓΗΣ.............................. 5 Β. ΒΑΣΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΠΡΟΣΒΑΣΙΜΟΤΗΤΑΣ.............................. 6 Γ. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΥΛΗ ΚΑΘΕ ΤΑΞΗΣ....................................

Διαβάστε περισσότερα

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ Κεφάλαιο ο Μεικτές Στρατηγικές Τώρα θα δούµε ένα παράδειγµα στο οποίο κάθε παίχτης έχει τρεις στρατηγικές. Αυτό θα µπορούσε να είναι η µορφή που παίρνει κάποιος µετά που έχει απαλείψει όλες τις αυστηρά

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

Διαβάστε περισσότερα

η σύνθεση ενός υπολογιστή

η σύνθεση ενός υπολογιστή ιδακτικό υλικό µαθητή η σύνθεση ενός υπολογιστή Αν παρατηρήσουµε έναν υπολογιστή βλέπουµε ότι αποτελείται από τα ακόλουθα µέρη: Οθόνη Μονάδα συστήµατος Ποντίκι Πληκτρολόγιο τη µονάδα συστήµατος, όπου βρίσκονται

Διαβάστε περισσότερα

Ταυτότητα εκπαιδευτικού σεναρίου. Γνώσεις και πρότερες ιδέες των μαθητών. Σκοπός και στόχοι

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

Διαβάστε περισσότερα

Ο ΗΓΙΕΣ ΛΕΙΤΟΥΡΓΙΑΣ. Τοποθέτηση και αντικατάσταση των µπαταριών. Γενικές πληροφορίες. Περιγραφή λειτουργίας. ruwido s_4 τηλεχειριστήριο γενικής χρήσης

Ο ΗΓΙΕΣ ΛΕΙΤΟΥΡΓΙΑΣ. Τοποθέτηση και αντικατάσταση των µπαταριών. Γενικές πληροφορίες. Περιγραφή λειτουργίας. ruwido s_4 τηλεχειριστήριο γενικής χρήσης Ο ΗΓΙΕΣ ΛΕΙΤΟΥΡΓΙΑΣ ruwido s_4 τηλεχειριστήριο γενικής χρήσης Σας συγχαίρουµε για την αγορά ενός RUWIDO τηλεχειριστηρίου γενικής χρήσης. Το νέο σας τηλεχειριστήριο αντικαθιστά το πρωτότυπο τηλεχειριστήριο

Διαβάστε περισσότερα

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα Σκοπός Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2 ΤΟ ΣΥΣΤΗΜΑ ΣΑΡΩΣΗΣ ΤΟΥ ΟΠΤΙΚΟΥ ΠΕΔΙΟΥ. Ψηφιακά Αντικείμενα Μικροελεγκτής Προγραμματισμός Φυσικών Συστημάτων Συστήματα Πραγματικών Εφαρμογών Νέα Ψηφιακά

Διαβάστε περισσότερα

Παιδαγωγική προσέγγιση: Πρόταση για την διδασκαλία της έννοιας αλγόριθµός στο περιβάλλον MicroWorlds Pro

Παιδαγωγική προσέγγιση: Πρόταση για την διδασκαλία της έννοιας αλγόριθµός στο περιβάλλον MicroWorlds Pro Παιδαγωγική προσέγγιση: Πρόταση για την διδασκαλία της έννοιας αλγόριθµός στο περιβάλλον MicroWorlds Pro Το «Φύλλο Εργασίας» για τους µαθητές Το παρακάτω φύλλο εργασίας µπορεί να χρησιµοποιηθεί ως εισαγωγικό

Διαβάστε περισσότερα

Αυτόνομοι Πράκτορες. ΝΑΟ Μουσικός

Αυτόνομοι Πράκτορες. ΝΑΟ Μουσικός Αυτόνομοι Πράκτορες ΝΑΟ Μουσικός Καρατζαφέρης Ευστάθιος Αλέξανδρος 2007 030 046 Πολυτεχνείο Κρήτης Σύντομη Περιγραφή Στόχος της εργασίας μας είναι η υλοποίηση της συμπεριφοράς αλλα και της λειτουργικότητας

Διαβάστε περισσότερα

Φύλλο Εργασίας 4 Συνθετική εργασία

Φύλλο Εργασίας 4 Συνθετική εργασία Φύλλο Εργασίας 4 Συνθετική εργασία Ομάδα Πετυχαίνοντας το στόχο Α1. Προγραμματισμός στόχου: Για τον προγραμματισμό των ρομποτικών μηχανών, όπως ήδη είδαμε, χρησιμοποιούμε το λογισμικό Lego Mindstorms Edu

Διαβάστε περισσότερα

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας, Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Η γλώσσα assembly είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου για συγκεκριμένους υπολογιστές ή άλλη προγραμματιζόμενη

Διαβάστε περισσότερα

ΕΝ ΕΙΚΤΙΚΑ ΠΑΡΑ ΕΙΓΜΑΤΑ ΚΡΙΤΗΡΙΩΝ ΑΞΙΟΛΟΓΗΣΗΣ. Κεφάλαιο 17

ΕΝ ΕΙΚΤΙΚΑ ΠΑΡΑ ΕΙΓΜΑΤΑ ΚΡΙΤΗΡΙΩΝ ΑΞΙΟΛΟΓΗΣΗΣ. Κεφάλαιο 17 ΕΝ ΕΙΚΤΙΚΑ ΠΑΡΑ ΕΙΓΜΑΤΑ ΚΡΙΤΗΡΙΩΝ ΑΞΙΟΛΟΓΗΣΗΣ 1 ο Παράδειγµα (διάρκεια: 15 λεπτά) Κεφάλαιο 17 Α. ΣΤΟΙΧΕΙΑ ΤΟΥ ΜΑΘΗΤΗ ΟΝΟΜΑΤΕΠΩΝΥΜΟ ΜΑΘΗΤΗ:... ΤΑΞΗ:... ΤΜΗΜΑ:... ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:... ΗΜΕΡΟΜΗΝΙΑ:... Β.

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

Διαβάστε περισσότερα

Kεφάλαιο 10. Πόσα υποπαίγνια υπάρχουν εδώ πέρα; 2 υποπαίγνια.

Kεφάλαιο 10. Πόσα υποπαίγνια υπάρχουν εδώ πέρα; 2 υποπαίγνια. Kεφάλαιο 10 Θα δούµε ένα δύο παραδείγµατα να ορίσουµε/ µετρήσουµε τα υποπαίγνια και µετά θα λύσουµε και να βρούµε αυτό που λέγεται τέλεια κατά Nash ισορροπία. Εδώ θα δούµε ένα παίγνιο όπου έχουµε µια επιχείρηση

Διαβάστε περισσότερα

Οδηγίες Χρήσεως. Username: Password:

Οδηγίες Χρήσεως. Username: Password: Οδηγίες Χρήσεως 1) Πρέπει οι κάρτες SΙΜ να δηλωθούν στο κατάστημα κινητής τηλεφωνίας με την ταυτότητα σας, ΚΑΙ να ενεργοποιηθούν κάνοντας μια κλήση. 2) 'Επειτα φορτώστε με χρόνο ομιλίας τη SIM του tracker

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

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

Ο έλεγχος στο επίπεδο συστήµατος επικοινωνιών εξασφαλίζει ότι έχουµε µεταφορά στο δίκτυο χωρίς λάθη. Overview Το end-to-end argument υποστηρίζει ότι κάποιες από τις λειτουργίες που επιτελούνται κατά την διάρκεια µιας επικοινωνίας µεταξύ συστηµάτων θα πρέπει να µην υλοποιούνται σε χαµηλό επίπεδο (επίπεδο

Διαβάστε περισσότερα

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΕΛΕΓΧΟΥ. Εγχειρίδιο χρήσης

ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΕΛΕΓΧΟΥ. Εγχειρίδιο χρήσης ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΕΛΕΓΧΟΥ Εγχειρίδιο χρήσης EGG-ΒOX LEARN&GO Όλες οι οδηγίες, πληροφορίες, δραστηριότητες, διδακτικό και φωτογραφικό υλικό που σχετίζονται με τη χρήση και τη λειτουργία του Egg-Box

Διαβάστε περισσότερα

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram. Εισαγωγή αρχείων δεδοµένων 1. Η εισαγωγή αρχείων δεδοµένων στο LaVIEW γίνεται στο Block Diagram µε την εντολή Read From Spreadsheet File. 2. Εισάγουµε την εντολή Read From Spreadsheet File στο Block Diagram

Διαβάστε περισσότερα

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΠΛΗ 513

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΠΛΗ 513 ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΠΛΗ 513 Αναφορά Εργασίας Εξαμήνου Χειμερινό Εξάμηνο 2011-2012 Γεωργάκης Γεώργιος 2006030111 RobotStadium 2012 Εισαγωγή Το Robostadium είναι ένας διαγωνισμός στο διαδίκτυο κατά τα πρότυπα

Διαβάστε περισσότερα

1. Εγκατάσταση του NetMeeting

1. Εγκατάσταση του NetMeeting Οδηγίες Εγκατάστασης και Χρήσης του Netmeeting Περιεχόµενα 1. Εγκατάσταση του Netmeeting 2. Το Interface του Netmeeting 3. Κύρια Κουµπιά Netmeeting 4. Πραγµατοποίηση Κλήσεων - Συνδέσεων 5. Το Μενού του

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 5 η Η σειριακή επικοινωνία ΙΙ 1.1 ΣΚΟΠΟΣ Σκοπός της άσκησης αυτής είναι η κατανόηση σε βάθος των λειτουργιών που παρέχονται από το περιβάλλον LabView για τον χειρισµό της σειριακής επικοινωνίας

Διαβάστε περισσότερα

οµή δικτύου ΣΧΗΜΑ 8.1

οµή δικτύου ΣΧΗΜΑ 8.1 8. ίκτυα Kohonen Το µοντέλο αυτό των δικτύων προτάθηκε το 1984 από τον Kοhonen, και αφορά διαδικασία εκµάθησης χωρίς επίβλεψη, δηλαδή δεν δίδεται καµία εξωτερική επέµβαση σχετικά µε τους στόχους που πρέπει

Διαβάστε περισσότερα

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΑ ΟΠΛΙΣΗΣ ΚΑΙ ΑΦΟΠΛΙΣΗΣ ΣΥΝΑΓΕΡΜΟΥ ΜΕ ΧΡΟΝΟΚΑΘΗΣΤΕΡΗΣΗ.

ΛΕΙΤΟΥΡΓΙΑ ΟΠΛΙΣΗΣ ΚΑΙ ΑΦΟΠΛΙΣΗΣ ΣΥΝΑΓΕΡΜΟΥ ΜΕ ΧΡΟΝΟΚΑΘΗΣΤΕΡΗΣΗ. ΛΕΙΤΟΥΡΓΙΑ ΟΠΛΙΣΗΣ ΚΑΙ ΑΦΟΠΛΙΣΗΣ ΣΥΝΑΓΕΡΜΟΥ ΜΕ ΧΡΟΝΟΚΑΘΗΣΤΕΡΗΣΗ. Θέλουμε όταν ενεργοποιήσουμε τον συναγερμό να καθυστερήσει η όπλιση του 10 δευτερόλεπτα (έως ότου φύγουμε από το σπίτι).έτσι αν μέσα σε

Διαβάστε περισσότερα

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης H ΓΛΩΣΣΑ C Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C ηµήτρης Ψούνης 2 Περιεχόµενα Μαθήµατος Α. Θεωρία 1. Κύκλος Ανάπτυξης Προγράµµατος 1. Συγγραφή και Μεταγλώττιση ενός προγράµµατος 2. Εκτέλεση του προγράµµατος

Διαβάστε περισσότερα

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι 21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB Αλγόριθμος Διαδικασία Παράμετροι Τι είναι Αλγόριθμος; Οι οδηγίες που δίνουμε με λογική σειρά, ώστε να εκτελέσουμε μια διαδικασία ή να επιλύσουμε ένα

Διαβάστε περισσότερα

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΒΙΟΜΗΧΑΝΙΚΟΙ ΑΥΤΟΜΑΤΙΣΜΟΙ Εφαρµογές Προγραµµατιζόµενων Λογικών Ελεγκτών-Εργαστήριο Εργαστηριακός Συνεργάτης: Βέλλος Κων/νος Ασκήσεις 1-2 Εισαγωγή

Διαβάστε περισσότερα

THERMOMETER TC-101 ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ ΚΑΙ ΧΡΗΣΗΣ. 7/12/2011 AUTOGUARD-PG Σελ.1 7/12/2011 AUTOGUARD-PG Σελ.2

THERMOMETER TC-101 ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ ΚΑΙ ΧΡΗΣΗΣ. 7/12/2011 AUTOGUARD-PG Σελ.1 7/12/2011 AUTOGUARD-PG Σελ.2 THERMOMETER TC-101 ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ ΚΑΙ ΧΡΗΣΗΣ 7/12/2011 AUTOGUARD-PG Σελ.1 7/12/2011 AUTOGUARD-PG Σελ.2 1. Γενικά Είναι ένα σύστηµα µέτρησης θερµοκρασίας πολλών σηµείων και τηλεειδοποίησης µέσω

Διαβάστε περισσότερα

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

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

Διαβάστε περισσότερα

char name[5]; /* define a string of characters */

char name[5]; /* define a string of characters */ Συµβολοσειρές (Strings) Συµβολοσειρά (string) είναι µια σειρά αλφαριθµητικών χαρακτήρων (γενικά εκτυπώσιµων συµβόλων ASCII). Όταν λέµε σειρά εννοούµε διαδοχικές θέσεις µνήµης που µπορούν να αντιµετωπισθούν

Διαβάστε περισσότερα

Welcome to the World of PlayStation Σύντομος οδηγός έναρξης

Welcome to the World of PlayStation Σύντομος οδηγός έναρξης Welcome to the World of PlayStation Σύντομος οδηγός έναρξης Ελληνικά PCH-2016 7025579 Χρήση του συστήματος PlayStation Vita για πρώτη φορά Πατήστε για 5 δευτερόλεπτα Ενεργοποιήστε το σύστημα PS Vita. Κατά

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Σχεδιαστικές προδιαγραφές

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

Διαβάστε περισσότερα

Ο ΗΓΙΕΣ ΛΕΙΤΟΥΡΓΙΑΣ. Τρόπος λειτουργίας TV και TV+STB. Τοποθέτηση και αντικατάσταση των µπαταριών. Γενικές πληροφορίες: Περιγραφή λειτουργίας

Ο ΗΓΙΕΣ ΛΕΙΤΟΥΡΓΙΑΣ. Τρόπος λειτουργίας TV και TV+STB. Τοποθέτηση και αντικατάσταση των µπαταριών. Γενικές πληροφορίες: Περιγραφή λειτουργίας Ο ΗΓΙΕΣ ΛΕΙΤΟΥΡΓΙΑΣ ruwido s_2 τηλεχειριστήριο γενικής χρήσης Σας συγχαίρουµε για την αγορά ενός RUWIDO τηλεχειριστηρίου γενικής χρήσης. Το νέο σας τηλεχειριστήριο αντικαθιστά το πρωτότυπο τηλεχειριστήριο

Διαβάστε περισσότερα

Tank Rescue Computer Game σε Scratch

Tank Rescue Computer Game σε Scratch Tank Rescue Computer Game σε Scratch Μπέλτσος Νικόλαος 1, Παναγιωτόπουλος Ευάγγελος 2, Παπαδόπουλος Βασίλης 3, Παπουδάρης Κωνσταντίνος 4 1 sokin2@yahoo.gr 2 vaggelispan@yahoo.gr 3 papadopoulos_vasilis@yahoo.gr

Διαβάστε περισσότερα

ΤΜΗΜΑ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΙ ΠΑΤΡΑΣ ΤΕΙ ΠΑΤΡΑΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΏΝ ΠΑΙΓΝΙΩΝ- ΠΡΟΓΡΑΜΜΑ GAMBIT

ΤΜΗΜΑ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΙ ΠΑΤΡΑΣ ΤΕΙ ΠΑΤΡΑΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΏΝ ΠΑΙΓΝΙΩΝ- ΠΡΟΓΡΑΜΜΑ GAMBIT ΤΜΗΜΑ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Α Κ Α Η Μ Α Ι Κ Ο Ε Τ Ο Σ 2 0 1 1-2 0 1 2 ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΏΝ ΠΑΙΓΝΙΩΝ- ΠΡΟΓΡΑΜΜΑ GAMBIT Ο συγκεκριµένος οδηγός για το πρόγραµµα

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).

Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping). Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία 2015 ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping). Μονάδες ενός Ρομποτικού Συστήματος Μονάδα Συλλογής

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

παράθυρα ιδακτικό υλικό µαθητή Πλήκτρα για να το παράθυρο Λωρίδα τίτλου Πλαίσιο παραθύρου

παράθυρα ιδακτικό υλικό µαθητή Πλήκτρα για να το παράθυρο Λωρίδα τίτλου Πλαίσιο παραθύρου ιδακτικό υλικό µαθητή παράθυρα Κατά τη διάρκεια της µελέτης µας γράφουµε και διαβάζουµε, απλώνοντας πάνω στο γραφείο τετράδια και βιβλία. Ξεκινώντας ανοίγουµε αυτά που µας ενδιαφέρουν πρώτα και συνεχίζουµε

Διαβάστε περισσότερα

Αναγνώριση υποθεµάτων αρχείων Αντιγραφή κειµένου Αντιγραφη εικόνων Αντιγραφή video

Αναγνώριση υποθεµάτων αρχείων Αντιγραφή κειµένου Αντιγραφη εικόνων Αντιγραφή video Σύντοµες οδηγίες Αναγνώριση υποθεµάτων αρχείων Αντιγραφή κειµένου Αντιγραφη εικόνων Αντιγραφή video 2 ο Ε.Κ.Φ.Ε. Ηρακλείου Κρήτης Περιεχόµενα Πλήκτρα που θα χρησιµοποιήσουµε...3 Αναγνώριση υποθεµάτων αρχείων...4

Διαβάστε περισσότερα

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας.

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας. Σαχπατζίδης Αβραάμ Καθηγητής Πληροφορικής Π.Ε 20 Master of Arts (M.A) in "Gender, New Forms of Education, New Forms of Employment and New Technologies in the Information Age". ΚΕΦΑΛΑΙΟ 2 Χρήση εργαλείων

Διαβάστε περισσότερα

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ... 2 ΠΡΟΛΟΓΟΣ... 3 ΕΙΣΑΓΩΓΗ... 4 ΤΑ ΚΟΥΜΠΙΑ ΚΑΙ ΤΑ ΜΠΛΟΚ... 6 ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟΥΣ ΚΙΝΗΤΗΡΕΣ... 9 ΚΙΝΗΣΕΙΣ ΚΙΝΗΤΗΡΑ...

ΠΕΡΙΕΧΟΜΕΝΑ... 2 ΠΡΟΛΟΓΟΣ... 3 ΕΙΣΑΓΩΓΗ... 4 ΤΑ ΚΟΥΜΠΙΑ ΚΑΙ ΤΑ ΜΠΛΟΚ... 6 ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟΥΣ ΚΙΝΗΤΗΡΕΣ... 9 ΚΙΝΗΣΕΙΣ ΚΙΝΗΤΗΡΑ... ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ... 2 ΠΡΟΛΟΓΟΣ... 3 ΕΙΣΑΓΩΓΗ... 4 Η ΑΝΑΠΤΥΞΗ ΤΗΣ ΟΘΟΝΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ... 4 Ο ΕΚΠΑΙΔΕΥΤΗΣ ΡΟΜΠΟΤ... 5 ΤΟ ΠΑΡΑΘΥΡΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ... 5 ΤΑ ΚΟΥΜΠΙΑ ΚΑΙ ΤΑ ΜΠΛΟΚ...

Διαβάστε περισσότερα

Το Ηλεκτρονικό Ταχυδροµείο (e-mail) είναι ένα σύστηµα που δίνει την δυνατότητα στον χρήστη να ανταλλάξει µηνύµατα αλλά και αρχεία µε κάποιον άλλο

Το Ηλεκτρονικό Ταχυδροµείο (e-mail) είναι ένα σύστηµα που δίνει την δυνατότητα στον χρήστη να ανταλλάξει µηνύµατα αλλά και αρχεία µε κάποιον άλλο Το Ηλεκτρονικό Ταχυδροµείο (e-mail) είναι ένα σύστηµα που δίνει την δυνατότητα στον χρήστη να ανταλλάξει µηνύµατα αλλά και αρχεία µε κάποιον άλλο χρήστη µέσω υπολογιστή άνετα γρήγορα και φτηνά. Για να

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοινωνία. Σειριακή Επικοινωνία USB Σύνδεση / Πρωτόκολλο Σκοπός Εντολή επιλογής (if) Εντολή Επανάληψης (while) Πίνακες 1 Μέρος Α : Σκοπός

Διαβάστε περισσότερα

ΛΙΓΕΣ ΑΠΛΕΣ ΟΔΗΓΙΕΣ WAVE MODE MOBILE. Cod. Art. A0138 / A0139

ΛΙΓΕΣ ΑΠΛΕΣ ΟΔΗΓΙΕΣ WAVE MODE MOBILE. Cod. Art. A0138 / A0139 WAVE MODE MOBILE ΛΙΓΕΣ ΑΠΛΕΣ ΟΔΗΓΙΕΣ Cod. Art. A038 / A039 Habakis Co Υψηλάντου 4 456, Κηφισιά Τηλ.: 20807470 Fax: 208074662 Email: service@habakis.gr www.habakis.gr CISA SpA Via Oberdan, 42 4808 Faenza

Διαβάστε περισσότερα

Γενικό Λύκειο Κρουσώνα - Σχολικό έτος 2013-2014 Εκπαιδευτικός: Παπαδάκης Σταµάτης

Γενικό Λύκειο Κρουσώνα - Σχολικό έτος 2013-2014 Εκπαιδευτικός: Παπαδάκης Σταµάτης Οδηγάµε το Γενικό Λύκειο Κρουσώνα - Σχολικό έτος 2013-2014 Φύλλο Εργασίας Προγραµµατισµός Εφαρµογής στο AppInventor http://ai2.appinventor.mit.edu Ακολουθώντας τα βήµατα αυτού του φύλλου εργασίας, θα αναπτύξουµε

Διαβάστε περισσότερα

Ανιχνευτής Διαρροής Αερίων Καυσίμων (V-GDN Φυσικού Αερίου), (V-GDL LPG).

Ανιχνευτής Διαρροής Αερίων Καυσίμων (V-GDN Φυσικού Αερίου), (V-GDL LPG). V-GDN & V-GDL Εγχειρίδιο χρήσης (01VGDN) & (01VGDL) Ανιχνευτής Διαρροής Αερίων Καυσίμων (V-GDN Φυσικού Αερίου), (V-GDL LPG). Σελ. 2,3 Οδηγίες ασφαλείας - Τοποθέτηση Εγκατάσταση Σελ. 4,5 Εφαρμογές Σύνδεση

Διαβάστε περισσότερα

ΤΑΞΗ ΣΤ ΕΙΡΗΝΗ ΠΕΤΡΑΚΗ (ΔΑΣΚΑΛΑ ΣΥΜΒΟΥΛΟΣ ΣΧ.Τ.) ΕΝΟΤΗΤΕΣ Α.Π.: ΔΟΜΕΣ ΕΝΕΡΓΕΙΑ ΗΛΕΚΤΡΙΣΜΟΣ ΜΗΧΑΝΙΣΜΟΙ - ΤΡΟΧΑΛΙΕΣ ΣΥΣΤΗΜΑΤΑ ΕΛΕΓΧΟΥ («EGG BOX»)

ΤΑΞΗ ΣΤ ΕΙΡΗΝΗ ΠΕΤΡΑΚΗ (ΔΑΣΚΑΛΑ ΣΥΜΒΟΥΛΟΣ ΣΧ.Τ.) ΕΝΟΤΗΤΕΣ Α.Π.: ΔΟΜΕΣ ΕΝΕΡΓΕΙΑ ΗΛΕΚΤΡΙΣΜΟΣ ΜΗΧΑΝΙΣΜΟΙ - ΤΡΟΧΑΛΙΕΣ ΣΥΣΤΗΜΑΤΑ ΕΛΕΓΧΟΥ («EGG BOX») ΕΝΟΤΗΤΕΣ Α.Π.: ΤΑΞΗ ΣΤ ΔΟΜΕΣ ΕΝΕΡΓΕΙΑ ΗΛΕΚΤΡΙΣΜΟΣ ΜΗΧΑΝΙΣΜΟΙ - ΤΡΟΧΑΛΙΕΣ ΣΥΣΤΗΜΑΤΑ ΕΛΕΓΧΟΥ («EGG BOX») ΕΙΡΗΝΗ ΠΕΤΡΑΚΗ (ΔΑΣΚΑΛΑ ΣΥΜΒΟΥΛΟΣ ΣΧ.Τ.) Παιδιά, ας προσπαθήσουμε να λύσουμε το πιο κάτω ΠΡΟΒΛΗΜΑ:

Διαβάστε περισσότερα

scanf() scanf() stdin scanf() printf() int float double %lf float

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

Διαβάστε περισσότερα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 5 2 Εγκυροποίηση Λογισµικού Εγκυροποίηση Λογισµικού

Διαβάστε περισσότερα

Η ΕΠΙΡΡΟΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΣΤΗΝ ΕΚΠΑΙ ΕΥΣΗ ΤΟΥ ΠΟΛΙΤΙΚΟΥ ΜΗΧΑΝΙΚΟΥ Η ΕΦΑΡΜΟΓΗ ΣΤΗ ΟΜΟΣΤΑΤΙΚΗ

Η ΕΠΙΡΡΟΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΣΤΗΝ ΕΚΠΑΙ ΕΥΣΗ ΤΟΥ ΠΟΛΙΤΙΚΟΥ ΜΗΧΑΝΙΚΟΥ Η ΕΦΑΡΜΟΓΗ ΣΤΗ ΟΜΟΣΤΑΤΙΚΗ Η ΕΠΙΡΡΟΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΣΤΗΝ ΕΚΠΑΙ ΕΥΣΗ ΤΟΥ ΠΟΛΙΤΙΚΟΥ ΜΗΧΑΝΙΚΟΥ Η ΕΦΑΡΜΟΓΗ ΣΤΗ ΟΜΟΣΤΑΤΙΚΗ Του Απόστολου Κωνσταντινίδη (από την διηµερίδα του Πανεπιστηµίου Θεσσαλονίκης µε θέµα ιασύνδεση

Διαβάστε περισσότερα

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό 5 ο Εργαστήριο Λογικοί Τελεστές, Δομές Ελέγχου Λογικοί Τελεστές > μεγαλύτερο = μεγαλύτερο ή ίσο!= διαφορετικό Οι λογικοί τελεστές χρησιμοποιούνται για να ελέγξουμε

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

Σηµαντικές παρατηρήσεις σχετικά µε το backround:

Σηµαντικές παρατηρήσεις σχετικά µε το backround: ΠΕΡΙΓΡΑΦΗ ΛΕΙΤΟΥΡΓΙΑΣ SOFTWARE SAE10 Το software της αναγγελίας ορόφων είναι απαραίτητο για τη δηµιουργία των USB flash που θα χρησιµοποιηθούν στην πλακέτα SAE10. Προσφέρει ταχύτητα, ευελιξία και πολλές

Διαβάστε περισσότερα

Φύλλο Εργασίας «Προσέγγιση της γραφής Braille µέσω Scratch»

Φύλλο Εργασίας «Προσέγγιση της γραφής Braille µέσω Scratch» Φύλλο Εργασίας «Προσέγγιση της γραφής Braille µέσω Scratch» ραστηριότητα 1α-Εισαγωγή στην γραφή Braille (10 Λεπτά) Στα πλαίσια της κοινωνικής ευαισθητοποίησης των µαθητών του σχολείου µας για τον κοινωνικό

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

ΔΙΑΛΕΞΗ ΙΙ ΕΝΑ ΒΗΜΑ ΠΑΡΑΠΑΝΩ ΜΕ SCRATCH ΕΠΙΛΕΓΩΝΤΑΣ & ΕΠΑΝΑΛΑΜΒΑΝΟΝΤΑΣ

ΔΙΑΛΕΞΗ ΙΙ ΕΝΑ ΒΗΜΑ ΠΑΡΑΠΑΝΩ ΜΕ SCRATCH ΕΠΙΛΕΓΩΝΤΑΣ & ΕΠΑΝΑΛΑΜΒΑΝΟΝΤΑΣ Τ.Ε.Ι. ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΛΕΞΗ ΙΙ ΕΝΑ ΒΗΜΑ ΠΑΡΑΠΑΝΩ ΜΕ SCRATCH ΕΠΙΛΕΓΩΝΤΑΣ & ΕΠΑΝΑΛΑΜΒΑΝΟΝΤΑΣ Γ ι ά ν ν η ς Ε. Τ ζ ή μ α ς Μάθημα: ΤΕΧΝΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Το πρώτο πράγμα

Διαβάστε περισσότερα

4.3. Γραµµικοί ταξινοµητές

4.3. Γραµµικοί ταξινοµητές Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων

Διαβάστε περισσότερα

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Κεφάλαιο 2 Εισαγωγή Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Η Logo είναι μία από τις πολλές γλώσσες προγραμματισμού. Κάθε γλώσσα προγραμματισμού έχει σκοπό τη δημιουργία προγραμμάτων

Διαβάστε περισσότερα

Κεφάλαιο 10 Περιστροφική Κίνηση. Copyright 2009 Pearson Education, Inc.

Κεφάλαιο 10 Περιστροφική Κίνηση. Copyright 2009 Pearson Education, Inc. Κεφάλαιο 10 Περιστροφική Κίνηση Περιεχόµενα Κεφαλαίου 10 Γωνιακές Ποσότητες Διανυσµατικός Χαρακτήρας των Γωνιακών Ποσοτήτων Σταθερή γωνιακή Επιτάχυνση Ροπή Δυναµική της Περιστροφικής Κίνησης, Ροπή και

Διαβάστε περισσότερα

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα