ROBOTS
Επίσης, αντί της εισαγωγής
συντεταγμένων, ένα αντικείμε-
νο περιστρέφεται με click and
drag, έχοντας επιλέξει το Rota-
tion πεδίο της αντίστοιχης
οντότητας και πιέζοντας πα-
ράλληλα το πλήκτρο [Ctrl]
(
όμοια και για το position).
Φυσικά, εκτός από ολόκληρη
τη σκηνή, μπορείτε να αποθη-
κεύσετε μία μεμονωμένη οντό-
τητα (Edit Mode>Entity>Save
Entities). Η αποθηκευμένη
οντότητα μπορεί να εισαχθεί
σε μία διαφορετική σκηνή
(
Load Entities), καθώς επίσης
να κλωνοποιηθεί στην ίδια σκη-
νή είτε με [Ctrl]+[C]/[Ctrl]+[V]
είτε αντιγράφοντας τον xml
κώδικα που αντιστοιχεί σε αυ-
τή, μέσα από το αρχείο κατά-
στασης (προσοχή, όχι το mani-
fest) ενός σεναρίου.
ΕΞΟΜΟΙΩΣΗ ΕΛΕΓΧΟΥ
ΡΟΜΠΟΤ
Ας δούμε τώρα πόσο χρήσι-
μος μπορεί να αποδειχθεί ο
Simulator, σε ένα ρομπότ, το
οποίο περικλείει τρία services.
Το ένα από αυτά αντιστοιχεί
στον αισθητήρα ανίχvευσης αντι-
κειμένου, το δεύτερο στην κίνη-
ση και το τελευταίο σε μία ενσω-
ματωμένη κάμερα. Ανοίξτε το
σενάριο Multiple Simulated Ro-
bots από τις συντομεύσεις του
μενού εκκίνησης. Οπως θα δεί-
τε, εξομοιώνονται δύο τύποι ρο-
μπότ, το Pioneer 3DX και μία εκ-
δοχή του NXT Tribot, με έναν αι-
σθητήρα αφής. Μεταβαίνοντας
σε Edit Mode, θα δείτε τις ιεραρ-
χικές οντότητες P3DXMotor-
Base και LegoNXTMotorBase.
Γονική και child entities, έχουν το
δικό τους Service Contract. Για
να δείτε πώς χρησιμοποιούνται
οι Services, θα χρησιμοποιήσετε
το Dashboard service ελέγχου.
Από το dashboard συνδεθείτε
με τον κόμβο που έχετε ανοίξει
(
αν δεν έχει αλλάξει κάτι, ο κόμ-
βος θα βρίσκεται στη διεύθυνση
του localhost). Θα εμφανιστούν
τα ελεγχόμενα services από αυ-
τό τον πίνακα, καθένα εκ των
οποίων ενεργοποιείται με διπλό
κλικ. Εχοντας ενεργοποιήσει το
Differential Drive Service για το
εκάστοτε ρομπότ σας, το κινείτε
με το πηδάλιο κατεύθυνσης του
dashboard. Το Laser Range
Finder ενεργοποιείται με τον ίδιο
τρόπο και, όπως θα δείτε στη
σχετική εικόνα, απεικονίζει τη
φυσική υπόσταση ενός αντικει-
μένου, ανάλογα με τη θέση του
αισθητήρα ανίχνευσης.
Το τρίτο service του ρομπότ,
είναι εξίσου εντυπωσιακό, μόνο
που δεν ελέγχεται από το dash-
board. Ανοίξτε ένα παράθυρο
του browser σας και δώστε τη
διεύθυνση
host:50000/directory (αφού ο lo-
calhost δέχεται HTTP αιτήσεις
σε αυτή τη θύρα). Θα εμφανιστεί
η λίστα με τα Services που εκτε-
λούνται αυτή τη στιγμή. Αν επι-
λέξετε το Webcamservice, θα
δείτε τα δεδομένα που στέλνει ο
εξομοιωμένος αισθητήρας στην
αντίστοιχη service.
3
Tαυτόχρονη χρήση οδήγησης και ανίχνευσης αντικειμένων.
Kάτω αριστερά, βλέπετε τον τρόπο με τον οποίο ο laser
αισθητήρας αντιλαμβάνεται τη θέση των αντικειμένων στο
χώρο. H τρισδιάστατη απεικόνιση γίνεται σε πραγματικό χρόνο.
1
Oι οντότητες P3DXMotorBase, όπως και η LegoNXTMotorBase,
συνδέονται με το service οδήγησης (Simulated Differential
Drive).
2
Eνεργοποιώντας το Differential Drive Service, μπορούμε να
οδηγήσουμε το ρομπότ με το πηδάλιο που βλέπετε πάνω
αριστερά. Tο dashboard, πρέπει αρχικά να συνδεθεί στη διεύθυνση
του τοπικού κόμβου, όπου εκτελούνται οι παραπάνω διεργασίες.
4
Nα και η Webcam του Pioneer3DX. Πατώντας το πλήκτρο Start
και κινώντας το όχημα μέσα από το Dashboard, η εικόνα
ανανεώνεται, ανάλογα με το ρυθμό ανανέωσης και την ισχύ του
υπολογιστή σας.
15