Table of Contents
ORKA, the Ontology for Robotic Knowledge Acquisition, models the perception pipeline of robotic agents by encapsulating the sensory, algorithmic, and measurement aspects of the perception process. This innovative approach not only bridges the agents' sensing capabilities with the characteristics of the environment, enhancing the grounding process but also links to external databases as additional knowledge sources. Developed following the Ontology101 methodology, ORKA addresses the critical need for a unified representation of the robotic perception domain, marking a significant leap forward in the field of robotic knowledge acquisition.
- Ontology101 Methodology
- Semantic Web Rule Language (SWRL) for reasoning
- SPARQL for querying
- Protegé for ontology editing and management
To explore ORKA or integrate it into your project, follow these steps:
Basic understanding of ontologies and semantic web technologies. Access to ontology management tools such as Protegé.
To run the evaluation yourself, you need > Python 3.10. You can install the required libraries by running.
pip install -r requirements.txt
Download the latest version of ORKA from our repository. Open the ontology file using Protegé or your preferred ontology management tool.
ORKA has been evaluated through competency questions and comparison with related ontologies, highlighting its unique contribution to the domain of robotic knowledge acquisition. With 209 classes, 41 object properties, and 39 data properties, ORKA is populated with instances from two distinct robotic use-cases.
For examples, please refer to the Evaluation
SWRL rules are utilised in the ontology to infer new knowledge. Here is an example of such rules:
orka:ProprioceptorSensor(?s) ^ oboe-core:Measurement(?m) ^ oboe-core:Observation(?o) ^ sosa:hosts(?r,?s) ^ sosa:madeBySensor(?m,?s) ^ oboe-core:hasMeasurement(?o,?m) -> oboe-core:ofEntity(?o, ?r)
This rule means that if the sensor is a proprioceptor sensor, then every observation made by the sensor is of the robot itself.
- Extend ORKA with time representation and multi-sensory integration.
- Develop alignment modules for integration with other robotic and knowledge systems.
- Pilot ORKA in real-world robotic applications to validate and refine its capabilities.
See the open issues for a full list of proposed features (and known issues).
Error message: An error occurred during reasoning: Unsupported axiom: Ignoring transitivity and/or complex subproperty axioms for usesProtocol Solution This error occurs because of the property chains SSN uses. Removing the property chains solves the issue:
- 'made by actuator' o implements SubPropertyOf: 'used procedure'
- 'made by sensors' o implements SubPropertyOf: 'used procedure'
- 'made by sampler' o implements SubPropertyOf: 'used procedure'
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License.
Mark Adamik - m.adamik@vu.nl
Project Link: https://github.com/Dorteel/orka/