« ArToolkit Head Tracking :P | World Mapping routing operational :) » |
Pathfinding Done / Logo Scripts Done
Ετοίμασα και το κορυφάιο layer του path finding και μπορώ να πώ οτι έχω μια αρκετά καλή και efficient library για να μπορώ να εισάγω 2d χάρτες με εμπόδια και να εξάγω 2d κινήσεις σε μορφή logo scripts!
Για του λόγου το αληθές δοκίμασα με το πρόγραμμα kturtle ( apt-get install kturtle ) να κάνω parse το output του προγράμματος μου και έγινε παράγοντας το ίδιο σχήμα με το δικό μου.!
Η logo είναι μια πολύ κατάλληλη γλώσσα για την περιγραφή αυτών των απλών κινήσεων του robot ενώ σταδιακά θα προσθέσω κάποια δικά μου extentions τα οποία θα περιγράφουν κινούμενα αντικείμενα , τοποθεσίες , υπορουτίνες και άλλα..!
Σε μια εντολή του ρομπότ που παραδείγματος χάρην ( θεωρώντας οτι έχει και βραχίωνες ) που μπορεί να είναι
be alert for intruders
goto kitchen
get me some cake
come back to me
θα μετασχηματίζεται σε 4 tasks και το δεύτερο και το τελευταίο θα γίνονται resolve σε υπο tasks της μορφής forward , backward και τα λοιπά τα οποία δυναμικά θα αλλάζουν έτσι ώστε να επιτευχθεί ο συγκεκριμένος στόχος σε λογικά πλαίσια.. Επιπλέον κατα το debugging θα είναι πολύ πιο εύκολος ο εντοπισμός του λάθους στην πλοήγηση καθώς θα είναι ανθρωπίνως κατανοητό απευθείας το σετ εντολών του ρομπότ..
Επιπλέον directives όπως το be alert for intruders θα εφαρμόζει μια πολιτική κινήσεων για παράδειγμα με χαμηλότερες ταχύτητες και θα ενεργοποιεί στο οπτικό core πιο ακριβούς ελέγχους..
Αντίθετα αν η πρώτη γραμμή γινόταν από “be alert for intruders” -> “quick”
με το ίδιο σετ εντολών απλά με διαφορετικές πολιτικές στην πραγματοποίηση των κινήσεων θα είχαμε ένα εξίσου καλό αποτέλεσμα..!
Ένας μελλοντικός στόχος του project είναι το να μπορεί κάποιος δίνοντας φωνητικές εντολές με NLP και μια απλή γραμματική να οδηγεί το ρομπότ..!
με τον καιρό και σε περίπτωση που έχει κάνει 100 φορές την διαδρομή θα μπορεί η εντολή get me some cake να γίνεται associate με όλο το tree εντολών ..!
Το επόμενο στάδιο λοιπόν ( και το οποίο ξεκινώ αυτή την στιγμή ) είναι ο generic driver για μοτέρ ο οποίος θα μπορεί να πραγματοποιεί κινήσεις από την scripting language και να επιστρέφει τα αποτελέσματα , ενώ θα μπορεί επίσης να κάνει resolve ανάλογα με την γεωμετρία του robot τις κινήσεις forward πχ σε σήματα για το συγκεκριμένο brand μοτέρ , controller , USB2I2C interface κτλ , ενώ σε συνδυασμό με τις αισθήσεις του ρομπότ ( motion tracking , accelerometers κτλ ) να μπορεί να επανεκτιμά κατα βούληση τα δρομολόγια και στην τελική να αποφανθεί για το κατα πόσο όντως κινείται ή έχει κολλήσει σε έναν τοίχο..
Κάποια links τα οποία έχουν ενδιαφέρον είναι η γλώσσα Esperanto που είναι μια τεχνητή γλώσσα με συντακτικό χωρίς ιδιοματισμούς ενώ επίσης τα anime Ergo Proxy και Eve No Jikan τα οποία είδα τελευταία και είναι πηγή έμπνευσης με το cyber punk περιεχόμενο τους!!
Αυτά λοιπόν!
Συνεχίζω τον κώδικα μου!