Page 13 - Freeware τ. 3

13
του προσδώσει φυσική συμπε-
ριφορά.
Φυσικά, έχει και τα αδύνατα
σημεία του. Ο κόσμος στον
οποίο τοποθετείται το πραγμα-
τικό ρομπότ, είναι αναλογικός,
οι αισθητήρες λαμβάνουν μη
διακριτά δεδομένα, με φυσιο-
λογικό ποσοστό θορύβου. Στον
εξομοιωτή, όλα τα δεδομένα
είναι διακριτά και ο θόρυβος
απουσιάζει, εκτός αν αποφασί-
σει ο προγραμματιστής να τον
προσθέσει.
Επιπλέον, το μοντέλο φυσι-
κής συμπεριφοράς, όπως υπο-
δηλώνει το όνομά του, είναι
απλώς μοντέλο, δεν ανταπο-
κρίνεται με απόλυτη ακρίβεια
στη δομή ενός πραγματικού
αυτόνομου συστήματος και στη
συμπεριφορά κάθε υλικού που
το περιβάλλει.
Η ίδια η μηχανή εξομοίωσης
υλοποιείται στο Robotics Stu-
dio ως ένα service και διαθέτει,
φυσικά, πληροφορίες για την
κατάσταση των σεναρίων που
προσπαθεί να αναπαραστήσει.
Για λόγους απλότητας προς το
σχεδιαστή, διαθέτει γραφικό
περιβάλλον, μέσα στο οποίο
ενσωματώνεται ένας Editor για
την αλλαγή των παραμέτρων.
Τα αντικείμενα που προστίθε-
νται στο περιβάλλον εξομοίω-
σης, καλούνται οντότητες (Enti-
ties), αποτελούμενες από δύο
βασικά χαρακτηριστικά: Την
εξωτερική εμφάνιση (το ονο-
μαζόμενο mesh) και το φυσικό
μοντέλο τους. Το mesh μπο-
ρείτε να παραγάγετε από ένα
πρόγραμμα τρισδιάστατης μο-
ντελοποίησης, όπως το 3D
Studio MAX, εξάγοντας το
αντικείμενο ως αρχείο .obj.
Το mesh μίας οντότητας,
δεν πρέπει να συγχέεται με το
φυσικό μοντέλο, καθώς το τε-
λευταίο είναι πιθανό να διαφέ-
ρει τελείως σε σχέση με αυτό
που περιμένετε, βλέποντας την
εικόνα του mesh στον εξομοι-
ωτή. Οι οντότητες αναπαρι-
στούν συνήθως το hardware
που δοκιμάζεται, όπως ένας
αισθητήρας laser, ένα ρομπότ,
η κεντρική κάμερα παρακολού-
θησης, τα αντικείμενα του πε-
ριβάλλοντος.
Είναι προφανές ότι ορισμέ-
νες από τις οντότητες του εξο-
μοιωτή πρέπει να συνδέονται
με κάποιο service (τότε λέγεται
πως η οντότητα διαθέτει ser-
vice contract με συγκεκριμένο
service). Τη σύνδεση αυτή πε-
ριγράφει το εκάστοτε manifest
αρχείο, αναφέροντας την οντό-
τητα ως parent του service.
ΓΝΩΡΙΜΙΑ ΜΕ ΤΟΝ
ΕΞΟΜΟΙΩΤΗ
Ας ξεκινήσουμε, εκτελώντας
το service του εξομοιωτή.
Υπάρχουν δύο τρόποι να το ξε-
κινήσετε, αν και στην ουσία ο
απλός αποτελεί συντόμευση
του δεύτερου. Από το μενού
όπου έχει εγκατασταθεί το Ro-
botics Studio, πηγαίνετε στο
φάκελο Visual Simulation Envi-
ronment και επιλέξτε ένα από
τα διαθέσιμα σενάρια.
Ουσιαστικά, πρέπει να δημι-
ουργηθεί ένας κόμβος διαχεί-
ρισης και εκτέλεσης των ser-
vices, μέσω του αρχείου
dsshost.exe, το οποίο βρίσκε-
ται στον υποκατάλογο bin του
κεντρικού καταλόγου του Stu-
dio. Το dsshost δημιουργεί
έναν κόμβο, ο οποίος δέχεται
HTTP/TCP requests στη θύρα
που θα οριστεί.
Επίσης, πρέπει να ανοίξετε
ένα manifest αρχείο με τη λί-
στα των services που θα εκτε-
λεστούν (συμπεριλαμβανομέ-
νου του Visual Simulation Ser-
vice). Για παράδειγμα, η εντο-
λή που θα εκτελέσει το iRobot
Create manifest, ανοίγοντας τις
θύρες 50000 για το HTTP και
50001
για το TCP πρωτόκολλο,
είναι dsshost.exe /p:50000/t:
50001 /
m:”κατάλογος Robotics
Studio\samples\config\IRo-
bot.Create.Simulation.mani-
fest.xml”. Αν τρέξετε την αντί-
στοιχη συντόμευση, θα δείτε
πως ανοίγει άλλο ένα παράθυ-
ρο, το Dashboard, το οποίο
αντιστοιχεί σε ένα πίνακα ελέγ-
χου σχετιζόμενο με τα services
του iRobot, δηλαδή, πρόκειται
για ένα orchestration service.
Το manifest του dashboard
φορτώνεται με την παράμετρο
/
m: “κατάλογος Robotics Stu-
dio\samples\config\Sim-
pleDashboard.manifest.xml”.
ROBOTS
1
Tο κεντρικό περιβάλλον του εξομοιωτή, έχοντας φορτώσει το
σενάριο iRobot Create. Σε κάθε αποθήκευση σκηνής, το
πρόγραμμα παράγει δύο αρχεία, το αρχείο κατάστασης όλων
των services και το manifest που εκκινεί τα services της σκηνής.
2
O Editor αποτελεί το ισχυρότερο τμήμα του εξομοιωτή.
Aριστερά εμφανίζεται η λίστα με τις οντότητες και κάτω η
κατάσταση μίας οντότητας, την οποία θα αλλάξουμε παρακάτω.
Eξ ορισμού, όταν μεταφέρεστε σε edit mode (F5), το φυσικό
μοντέλο απενεργοποιείται.