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:package:overview [2015/05/04 14:55] gkazhoyadoc:package:overview [2021/05/02 20:56] (current) gkazhoya
Line 1: Line 1:
 +**Disclaimer: this section is outdated, so some code might not run. See the Tutorials page for more up to date code.**
 +
 ====== CRAM Software and Architecture Overview ====== ====== CRAM Software and Architecture Overview ======
  
 +For an overview of software of CRAM v0.2 take a look [[https://docs.google.com/spreadsheets/d/1FTPf2HjlM18BMpSwd9GKimZCcmlNYAZLuQPkJAROVLg/edit?usp=sharing|here]].
 +===== Software =====
 +
 +
 +CRAM code is distributed over multiple Git repositories that can be mostly found under the [[https://github.com/cram2/cram]].
 +
 +Below is a diagram showing the relations of different repositories, their usage and for some the descriptions of single packages.
 +The diagram only shows the packages necessary for running CRAM in the simulation mode. In addition to those, there are packages for using it on physical systems, packages for logging the execution, interfaces to controllers, interfaces to robot vision systems, and many more packages that are specific for a certain application and are not described here for the sake of simplisity and brevity.
 +
 +Roslisp is included in the official ROS distribution and, together with roslisp_common, they are hosted by the [[https://github.com/ros|ROS Github organization]].
 +
 +[[http://knowrob.org|KnowRob]] is an external system that CRAM uses for managing knowledge. Its source code is also [[https://github.com/knowrob/knowrob.git|hosted on GitHub]].
 +
 +{{ :doc:package:cram_archi.png?direct900 |}}
 +
 +CRAM is to 90% written in Common Lisp and is packaged using ASDF and ROS. Some of the reasons why Common Lisp was chosen as the language for CRAM are listed [[why_lisp|here]]. More on packaging etc. you can read [[http://cram-system.org/doc/ide#component_overview|here]]. 
 +
 +
 +===== Architecture =====
  
-{{ :doc:package:cram_software.png?980 |}}+CRAM is designed in such a way that one can incrementally load packages for acquiring more complex functionality implementing the same interfaces....//the rest is todo...//