Modular Controller Architecture 2

For robot prototyping and development a transferable and modular software framework is very useful. Especially the reuse of components on different robotic platforms is an important aspect. To support software structuring and reusability, the C++ framework MCA2 is being developed at the FZI (Forschungszentrum Informatik, German for Research Centre for Informatics) in Karlsruhe.

Modular Controller Architecture 2 - KL Branch

In recent years, the Robotics Research Lab at the University of Kaiserslautern has used and further developed MCA2 in cooperation with the original authors in Karlsruhe. Today a variety of new tools and extensions are available which shall be published step by step on this web page. In order to assure compilability of the libraries and tools provided here - independent from the release cycles of and synchronisation with the original version of MCA2 - we have decided to publish our variant of the MCA2 framework as well. Note that, in contrast to the original MCA2, MCA2-KL is a linux-only software framework. There is no support for Microsoft Windows. The framework, all constructs and libraries published on this site are not designed to compile or run under Windows.

What is MCA2?

Conceptually MCA2 provides a modularisation methodology which is based on the idea of standardised interfacing to software components or modules as these are called in MCA2 terminology. Modules can be interconnected via so called edges over which data can be transferred in order to build up a sophisticated control systems. Furthermore modules can be wrapped into groups which are themselves modules and fulfill the same interface standards. That way hierarchies can be built up which support clarity in structuring and data flow.

The standardised interfacing allows for the easy integration of software modules originally developed in the context of other projects. The communication between integrated modules is done by the framework, such that the programmer can focus on the functional aspects of a control system.

How to install it?

Please don't - consider using the much more powerful Finroc instead!


Here are some useful external links: