CRAM: Cognitive Robot Abstract Machine

CRAM is a software toolbox for the design, implementation and deployment of cognition-enabled plan execution on autonomous robots. CRAM equips autonomous robots with lightweight reasoning mechanisms that can infer control decisions rather than requiring the decisions to be preprogrammed. This way CRAM-programmed autonomous robots are more flexible and general than control programs that lack such cognitive capabilities. CRAM does not require the whole reasoning domain to be stated explicitly in an abstract knowledge base. Rather, it grounds symbolic expressions into the perception and actuation routines and into the essential data structures of the control plans.

CRAM's domain-specific reactive concurrent language is based on the idea of RPL (Robot Plan Language) of Drew McDermott. Its core packages are implemented in Common Lisp with support to the ROS middleware infrastructure.


This project received funding from several funding agencies in different research projects. We would like to acknowledge the support from