Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:getting_started [2013/06/24 13:28] – [Read about the concepts behind KnowRob] admindoc:getting_started [2022/02/07 11:52] (current) gkazhoya
Line 1: Line 1:
 ====== Getting started ====== ====== Getting started ======
 ~~NOTOC~~ ~~NOTOC~~
-The following list is intended as a guideline how to get started using KnowRob. The first steps aim at getting an overview of what is available and how to use the existing modules. At some point, you will likely want to implement your own components. We try to give some hints on how to go beyond the basic tutorials below.+The following list is intended as a guideline on how to get started using CRAM.
  
-===== Install the system ===== +  * You can install CRAM packages following the [[../installation|Installation]] instructions.
-Follow the [[/installation|installation guide]] to set up the system on your computer and follow the [[tutorial/knowrob_basics|KnowRob basics]] tutorial to learn how to start it, how to send queries, and how to visualize their results. +
-===== Go through the beginner tutorials ===== +
-There is a number of tutorials that showcase the functionality provided by the different KnowRob components. They can be used in two different ways: As a beginner, you can just copy the queries and paste them into your Prolog shell to explore the functionality. All the tutorials below work without programming and should give you a quick overview of what is available.+
  
-On the other hand, the provided queries are also intended as a starting point to dig deeper into the system. There are no tutorials for every possible adapation and extensionbut often it helps to know which predicate shall be called with which arguments, to look at the code of that predicate and start exploring from there.+  * To learn how to comfortably use the recommended development environmentcheck the [[ide|Setup and IDE]] page, which describes the main software components of the development environmenthow to set them up and how to use them.
  
-===== Read about the concepts behind KnowRob ===== +  * To get a very quick crash course in Lispcheck the commands [[doc:getting_started:lisp_crash_course|here]].
-To understand the design decisions and capabilities of the systemread about the [[important concepts]] and have a look at the related publications. The [[http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:bvb:91-diss-20111125-1079930-1-7|PhD thesis by Moritz Tenorth]] is currently the most comprehensive description of the concepts that underlie the KnowRob system. There is also a [[http://ijr.sagepub.com/content/32/5/566.abstract|recent article]] in the IJRR journal about KnowRob. +
-===== Learn OWL and Prolog =====+
  
-For effectively using the KnowRob systemsome basic knowledge about the main languages, OWL and Prolog, is helpfulIt becomes a definite MUST when you would like to do some advanced stuff and start to implement your own modulesBelow are links to good tutorials that will get you started.+  * If you are looking to acquire hands-on experience with CRAMlook through the [[../tutorials|Tutorials]]
  
-==== OWL tutorials ==== +  * To learn more about the theoretical backgrounds of CRAM check out the [[../publications|Publications]] page.
-Download the Protege OWL editor (version 4.1) which makes exploring and editing OWL files much easier: http://protege.stanford.edu/download/protege/4.1/installanywhere/ and have a look at the documentation (http://protegewiki.stanford.edu/index.php/Protege4GettingStarted). The tutorial (http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/resources/ProtegeOWLTutorialP4_v1_2.pdf) is not only a good introduction to the Protege program, but to modeling with OWL in general. It will take you a day or two, but is worth the time. Also look at the XML/OWL code you just created in Protege with a text editor to see how the relations you created using the GUI are represented in OWL. It is important now only to understand how things look in the editor, but also how they are encoded in the lower-level data structures.+
  
-==== Prolog tutorials ==== +  * To broaden your background knowledge on RoboticsAI, Planning and Lisp consult the [[links|Links]] page.
-Though you probably won't need very sophisticated Prolog skills in the beginningyou should have a rough understanding of how a Prolog program looks like and what the basic concepts are to implement your own queries and (later) modules. The tutorials at http://www.learnprolognow.org/ are a very good introduction -- try to follow them at least until Lesson 6.+
  
- +  * Before starting to write your own CRAM packages skim through the [[http://cram-system.org/doc/guidelines|Programming Guidelines]] page.
-===== Write your own modules ===== +
- +
-Once you have an overview of what KnowRob provides and know how to write OWL and Prolog, you can start to create your own KnowRob extensions. You will first need to decide which parts to implement in [[faq#Which programming language should I use for what purpose|which language]] and then then proceed to [[create your own KnowRob package]].+