====== Minutes of the "handover" meeting -- An overview of what's available in KnowRob ====== ===== Infrastructure ===== ==== Repositories ==== All packages in all repositories are supposed to compile at any time in order not to break the build for anyone. If you plan longer-term changes that result in a broken state in between, please create a temporary branch or your own fork, but merge it back as soon as possible. * **knowrob:** Core stack, try to keep this as generic as possible (it's a bit overfit to household scenarios, but we should keep in mind that it's used for household, outdoor, underwater and other robotics) * **knowrob_addons:** Miscellaneous packages that are less mature or less generic than those in KnowRob * **knowrob_dev:** Formerly internal development repository, currently contains the CAD model reasoning * **knowrob_gui:** Graphical editors for semantic maps and action recipes * **knowrob_human:** Tools for reasoning about human data, developed for the TUM Kitchen Data Set * **knowrob_tutorials:** Tutorial package: first steps, perception integration ==== Package naming ==== * Please use knowrob_* instead of the older comp_* (with computables) or mod_* (for generic modules). Since there are no stacks any more, all packages live in the same namespace, so each should have a unique and meaningful name. ==== Package layout ==== http://www.knowrob.org/doc/create_your_own_knowrob_package ===== Best practices ===== * Separate code and data: do not auto-load OWL files with data (such as environment maps), do this using a proper launch file such as the ones in knowrob_map_data * Use unique identifiers: avoid name clashes between instances that share the same identifier * Keep the dependency list small, create demo-specific packages with launch files and dependencies * Put special-purpose functionality into knowrob_addons * Create wiki pages while developing a novel package, copy/paste your test queries there, make your students do the same to document how their stuff can be used without having to think too much about it ===== Representations in OWL ===== ==== Upper ontology ==== see knowrob.owl in knowrob_common/owl/ ==== Computable properties ==== http://www.knowrob.org/doc/reasoning_using_computables http://www.knowrob.org/doc/defining_computables ==== Objects ==== * Object classes * Object instances * Object positions over time ==== Actions ==== * Action classes * Action recipes/task descriptions * Action instances/log files ===== Overview of the available KnowRob packages ===== - rosprolog, json_prolog - knowrob_common - comp_temporal, comp_spatial - knowrob_objects, knowrob_map_tools, knowrob_map_data, comp_orgprinciples - knowrob_actions - knowrob_srdl - tf_prolog - knowrob_mongo, visualization infrastructure - knowrob_addons: knowrob_cram, knowrob_motion_constraints - knowrob_gui - knowrob_human - knowrob_tutorials