FINROC – Framework for Intelligent Robot Control

FINROC (Framework for Intelligent Robot Control) is a modular software framework for the development and operation of complex robotics and control systems. It enables the structured implementation of autonomous applications using reusable software components and supports both small mobile robots and large-scale, distributed robot systems. FINROC has been under development and continuously expanded since 2008 at the Robotics Research Lab at the University of Kaiserslautern. The framework is based on C++ and Java and places particular emphasis on modularity, real-time capability, and long-term maintainability.

Architecture and Functionality

FINROC follows a component-based approach in which complex robotics software is built from individual, interconnected modules.

The fundamental structural elements are:

  • Modules: Standalone software components that perform specific tasks and communicate via input and output ports.
  • Groups: Group multiple modules into logical units and enable hierarchical structuring.
  • Parts: Executable processes in which robotics applications are run.

Communication takes place via defined interfaces and data flows. This allows individual components to be developed and tested independently and reused in different applications.

Key Features

  • Modularity: Flexible combination and reuse of individual software components.
  • Real-time Capability: Efficient data processing through optimized communication mechanisms.
  • Scalability: Use in small robotic systems through to complex, distributed applications.
  • Extensibility: Integration of various sensors, algorithms, and control functions.
  • Platform Independence: Support for various hardware platforms and operating systems.

Development Tools

FINROC provides complementary tools for the development, analysis, and visualization of robotics software.

  • Finstruct: Graphical representation, configuration, and connection of software components.
  • FinGUI: Visualization of sensor data, system states, and control information.
  • Simulation and data acquisition: Support for the development, testing, and evaluation of autonomous functions.

Applications in Robotics

FINROC is used in research and industry for the development of autonomous robot systems. Among other things, the framework forms the software foundation for the behavior-based robot architecture REACTiON and supports the integration of perception, navigation, and control across various robotics platforms. Thanks to its modular structure, developed functions can be deployed in both simulation environments and on real robots.

Scientific Publication

On Software Quality-Motivated Design of a Real-Time Framework for Complex Robot Control Systems

Authors: Max Reichardt, Tobias Föhst, and Karsten Berns
Year: 2013
Publication: Electronic Communications of the EASST, Volume 60, Software Quality and Maintainability (SQM 2013).