Cognitive robot abstract machine (CRAM) is a cognitive architecture for autonomous robots designed to perform everyday manipulation tasks in human environments. It was developed by Beetz et al. at the University of Bremen. It claims to let robots transform underspecified task instructions into context‑sensitive and executable actions. This is based on its current beliefs about the environment and the predicted outcomes of actions.
Description CRAM is a hybrid cognitive architecture that integrates symbolic and sub‑symbolic representations and processes. It can achieve this by transforming underspecified abstract task instructions into context‑sensitive executable actions.
The architecture connects symbolic knowledge directly to both the robot's perception and movement systems and to the internal data structures that govern its behavior. The core of the system is built around two primary elements, which are the CPL plan language and the KnowRob knowledge processing framework.
History Beetz et al. introduced CRAM at the 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), where they described it as a software toolbox for cognition‑enabled robotics. It has been extended with features like semantic digital twins, episodic memory systems, and dual‑process reasoning. The second generation, CRAM 2.0, was developed as part of a German Research Foundation (DFG) project and was introduced in a 2025 article in the journal Cognitive Systems Research.
Architecture CRAM is a cognitive architecture that employs generalized action plans. They are transformed into parameterized low‑level motion plans using knowledge and reasoning with a contextual model. Process modules can be configured by the higher‑level control logic. These modules interpret the properties of designators and convert them into specific low-level commands based on the robot's current understanding of its environment.
KnowRob is a knowledge processing system that delivers reasoning and knowledge services for autonomous robots. Its modular design can allow components to be loaded only when required.
Applications CRAM has been used in research on cognition‑enabled robot control, including mobile manipulation in household environments. The CRAM cognitive architecture allows a robot to carry out activities such as laying a table for a meal and loading a dishwasher afterward.
Differences between other architectures CRAM is one of several cognitive architectures for robotics. According to Beetz and Kümpel et al., its core feature was its emphasis on lightweight reasoning. A 2025 study by Beetz et al. on CRAM 2.0 shows that the architecture addresses underdetermined task specification through generalized action plans that are instantiated via contextual queries to a semantic knowledge base.
See also Automated planning and scheduling Cognitive robotics Contextual design Domestic robot Natural language programming Robot software Semantic interpretation
References
External links CRAM Python implementation on GitHub University of Bremen – Cognitive Robotics Official CRAM page at the University of Bremen