4 research outputs found

    Programming Robots for Activities of Everyday Life

    Get PDF
    Text-based programming remains a challenge to novice programmers in\ua0all programming domains including robotics. The use of robots is gainingconsiderable traction in several domains since robots are capable of assisting\ua0humans in repetitive and hazardous tasks. In the near future, robots willbe used in tasks of everyday life in homes, hotels, airports, museums, etc.\ua0However, robotic missions have been either predefined or programmed usinglow-level APIs, making mission specification task-specific and error-prone.\ua0To harness the full potential of robots, it must be possible to define missionsfor specific applications domains as needed. The specification of missions of\ua0robotic applications should be performed via easy-to-use, accessible ways, and\ua0at the same time, be accurate, and unambiguous. Simplicity and flexibility in\ua0programming such robots are important, since end-users come from diverse\ua0domains, not necessarily with suffcient programming knowledge.The main objective of this licentiate thesis is to empirically understand the\ua0state-of-the-art in languages and tools used for specifying robot missions byend-users. The findings will form the basis for interventions in developing\ua0future languages for end-user robot programming.During the empirical study, DSLs for robot mission specification were\ua0analyzed through published literature, their websites, user manuals, samplemissions and using the languages to specify missions for supported robots.After extracting data from 30 environments, 133 features were identified.\ua0A feature matrix mapping the features to the environments was developedwith a feature model for robotic mission specification DSLs.Our results show that most end-user facing environments exist in the\ua0education domain for teaching novice programmers and STEM subjects. Mostof the visual languages are developed using Blockly and Scratch libraries.\ua0The end-user domain abstraction needs more work since most of the visualenvironments abstract robotic and programming language concepts but not\ua0end-user concepts. In future works, it is important to focus on the development\ua0of reusable libraries for end-user concepts; and further, explore how end-user\ua0facing environments can be adapted for novice programmers to learn\ua0general programming skills and robot programming in low resource settings\ua0in developing countries, like Uganda

    Ανάπτυξη συμπεριφοράς ποδοσφαιριστή για το πρωτάθλημα Standard Platform του RoboCup

    No full text
    Diploma thesis submitted for the fulfillment of the requirements for the Diploma (Integrated Master) degree in Electrical and Computer Engineering at the Technical University of CreteSummarization: Humans are used to operate in dynamic environments, which nevertheless can be quite unpredictable and complicated for a robot. Therefore, for an autonomous robot to be able to adapt and act in such an environment, it must tackle a large variety of the problems, using a top-down approach that breaks them down into simpler ones. The annual robot soccer (RoboCup) competition offers such a dynamic environment and one of the main components of any RoboCup player is the algorithm responsible for decision making, known as robot behavior control. In this thesis, we aim to develop from scratch soccer player behaviors for the Standard Platform League (SPL), where all teams share the same robot platform, but develop different software, in an attempt to better understand the process of behavior development. Behavior development can be very tricky, since it combines information from different modules (vision, motion, communication, estimation, etc.) and decides the actions that need to be taken for the agent to achieve its goal. We worked on a recent code base framework developed by SPL Team B-Human that uses the C-based Agent Behavior Specification Language (CABSL) for the behavior development, which is freely available, however with all behavior code turned to void on purpose. We implemented three soccer behaviors for three basic soccer roles: a striker, a defender and a goalkeeper. Furthermore, we implemented an additional behavior, called ball control, in order to assess the utilization of the framework beyond typical robotic soccer behaviors. We aim for this work to serve as the initial steps for new code base of our SPL team Kouretes and as a guide for assisting the understanding and the use of the chosen framework and its capabilities.Περίληψη: Οι άνθρωποι είναι συνηθισμένοι να λειτουργούν σε δυναμικά περιβάλλοντα, τα οποία ωστόσο μπορούν να είναι αρκετά απρόβλεπτα και περίπλοκα για ένα ρομπότ. Επομένως, για να μπορεί ένα αυτόνομο ρομπότ να προσαρμόζεται και να δρα σε ένα τέτοιο περιβάλλον, πρέπει να αντιμετωπίσει μια μεγάλη ποικιλία των προβλημάτων, χρησιμοποιώντας μια προσέγγιση top-down, η οποία τα διαιρεί σε απλούστερα. Ο ετήσιος διαγωνισμός ρομποτικού ποδοσφαίρου (RoboCup) προσφέρει ένα τέτοιο δυναμικό περιβάλλον και ένα από τα κύρια συστατικά του κάθε παίκτη είναι ο αλγόριθμος που φροντίζει για τη λήψη αποφάσεων, γνωστός ως έλεγχος ρομποτικής συμπεριφοράς. Στην παρούσα διπλωματική εργασία, στοχεύουμε να αναπτύξουμε από το μηδέν τις συμπεριφορές ενός ποδοσφαιριστή για το πρωτάθλημα Standard Platform League (SPL), όπου όλες οι ομάδες μοιράζονται την ίδια ρομποτική πλατφόρμα, αλλά αναπτύσσουν διαφορετικό λογισμικό, σε μια προσπάθεια να κατανοήσουμε καλύτερα τη διαδικασία ανάπτυξης συμπεριφοράς. Η ανάπτυξη συμπεριφοράς μπορεί να αποβεί δύσκολη, καθώς συνδυάζει πληροφορίες από διαφορετικές ενότητες (όραση, κίνηση, επικοινωνία, εκτίμηση, κλπ.) και αποφασίζει τις ενέργειες που πρέπει να εκτελεσθούν για την επίτευξη του στόχου του πράκτορα. Δουλέψαμε σε ένα πρόσφατο πλαίσιο λογισμικού που αναπτύχθηκε από την ομάδα SPL Team B-Human που χρησιμοποιεί τη γλώσσα C-based Agent Behavior Specification Language (CABSL) για την ανάπτυξη συμπεριφοράς, το οποίο είναι ελεύθερα διαθέσιμο, ωστόσο με όλο τον κώδικα συμπεριφοράς διαγραμμένο. Αναπτύξαμε τρεις συμπεριφορές παικτών για τρεις βασικούς ρόλους ποδοσφαίρου: έναν επιθετικό, έναν αμυντικό και ένα τερματοφύλακα. Επιπλέον, αναπτύξαμε μια πρόσθετη συμπεριφορά, που ονομάζεται έλεγχος μπάλας, προκειμένου να εκτιμήσουμε την αξιοποίηση του πλαισίου λογισμικού, πέρα από τις τυπικές ρομποτικές συμπεριφορές ποδοσφαίρου. Στοχεύουμε το έργο αυτό να αποτελέσει τα αρχικά βήματα για τη δημιουργία της νέας βάσης λογισμικού της ομάδας μας SPL Κουρήτες και οδηγό για την καλύτερη κατανόηση και χρήση του επιλεγμένου πλαισίου και των δυνατοτήτων του
    corecore