CRAM: Cognitive Robot Abstract Machine

CRAM is a toolbox for designing, implementing and deploying software on autonomous robots. The framework provides various tools and libraries for aiding in robot software development as well as geometric reasoning and fast simulation mechanisms to develop cognition-enabled control programs that achieve high levels of robot autonomy. CRAM also provides tools for introspection that enable the robots to reason about their past executions and improve by autonomously optimizing their plans.

The core packages of CRAM are implemented in Common Lisp (with a little bit of C/C++) with support to the ROS middleware infrastructure.

CRAM Applications

Household application

Retail application

Outdoor rescue application


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

  • BMWK project Knowledge4Retail (Innovation competition “Artificial Intelligence”)
  • EU H2020 project REFILLS (grant agreement #731590).
  • DFG Project PIPE (project number 322037152)
  • DFG Collaborative Research Centre EASE -- Everyday Activity Science and Engineering (CRC #1320)
  • EU FP7 project SHERPA (grant agreement #600958)
  • EU FP7 project RoboHow (grant agreement #288533)
  • EU FP7 project Saphari (grant agreement #287513)
  • EU FP7 project RoboEarth (grant agreement #248942)
  • DFG Excellence Initiative research cluster CoTeSys – Cognition for Technical Systems
  • Willow Garage as part of the PR2 Beta Program


Please see the relevant publications here.