Wiki source code of Design Patterns and Ontology

Last modified by Harmen Kroon on 2022/04/05 12:57

Show last authors
1 == Ontology ==
2 An ontology is a specification of a conceptualization. That is, an ontology is a description of the concepts and relationships that exist within a certain domain [[(Gruber, T. 2018)>>https://queksiewkhoon.tripod.com/ontology_01.pdf]] in our case the WAF product. We use these ontologies to share knowledge and to commit to an ontological basis that ensures consistency within the team.
3
4 We have specified an upper ontology based on the entities, locations and activities and their relationships as well as an interaction ontology laying out all the expressivities and sensing between MiRo and its environment in [[Main.Ontology]]. The upper ontology show which human and/or machine entities interact and in which context the interaction is performed. Our interaction ontology diagram is focused on more detailed interaction between the MiRo robot and other entities and shows which sensors and actuators are used in the specific interaction.
5
6 == Design Pattern ==
7 Design patterns are reusable "bits" that can be used in a larger system. We have designed two types of [[design patterns>>https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/view/Main/Design%20Patterns/]]: team design patterns and interaction design patterns. The team design patterns give a high-level overview of the interaction [[(Van Diggelen & Johnson, 2019)>>https://doi.org/10.1145/3349537.3351892]]. They describe teamwork: how the human and robot should work together to complete a common task. Both physical and cognitive tasks or components of tasks can be visualized. For our team design pattern, we made a small state diagram, as the human is able to have different levels of control. This helped us specify our core interaction and state diagram too, and showed us which areas needed some more thought: if the human loses concentration, we can use our interaction design patterns to get their attention and guide them back.
8
9 Interaction design patterns are design patterns for smaller parts of the interaction. We tried to make ours as general as possible. We made design patterns for guiding a human, guiding a human back after a wrong turn, and getting attention. We chose these as they are highly generalizable, and something you might want a robot to commonly do. We made patterns for guiding the human, getting the human's attention, and guiding the human back when they take a wrong turn. Besides making these general, we did highlight some examples of how to implement them for a dog-like robot. We were able to specify these design patterns to [[functions>>https://xwiki.ewi.tudelft.nl/xwiki/wiki/sce2022group02/view/Functions/]]. Making these design patterns helped us not focus on our own project too much, and allowed us to look at how robots should behave in general.