Buck, Sebastian and Zell, Andreas

CS::APEX: A Framework for Algorithm Prototyping and Experimentation with Robotic Systems

Journal of Intelligent & Robotic Systems (2018), Apr


Abstract

Robotic systems differ drastically in their sensory capabilities, their computational power and their designated tasks. For efficient algorithm development, however, we need to have a common modeling framework that enables us to generalize and re-use existing solutions. A modular approach, which is coherent across different platforms, also allows faster prototyping of new systems, given that existing functionality can be reused from already implemented modules. In this paper we develop a modeling framework based on data flow graphs that achieves the following goal: We first merge synchronous data flow and reactive programming into hybrid flow graphs, where we explicitly model synchronous and asynchronous data flow. Then we transfer concepts from finite-state machines to achieve a coherent framework which we call Activity Flow Graphs. The flow of activity enables us to model high level states directly in the data flow graph. The result is a single computation graph that can express both perception and high level control aspects of any robotic system. This theoretical foundation is the core of our open-source software framework CS::APEX, which allows the creation, manipulation and evaluation of Activity Flow Graphs and enables rapid prototyping and experimentation and can be used with any robot supporting the Robot Operating System (ROS). We then demonstrate the framework with two high level models for a fetch-and-delivery robot and a person following robot.


Downloads and Links

[doi] [pdf]


BibTeX

@article{BuckJINT2018,
  author = {Buck, Sebastian
and Zell, Andreas},
  title = {CS::APEX: A Framework for Algorithm Prototyping and Experimentation with Robotic Systems},
  journal = {Journal of Intelligent {\&} Robotic Systems},
  year = {2018},
  month = {Apr},
  day = {24},
  abstract = {Robotic systems differ drastically in their sensory capabilities, their computational power and their designated tasks. For efficient algorithm development, however, we need to have a common modeling framework that enables us to generalize and re-use existing solutions. A modular approach, which is coherent across different platforms, also allows faster prototyping of new systems, given that existing functionality can be reused from already implemented modules. In this paper we develop a modeling framework based on data flow graphs that achieves the following goal: We first merge synchronous data flow and reactive programming into hybrid flow graphs, where we explicitly model synchronous and asynchronous data flow. Then we transfer concepts from finite-state machines to achieve a coherent framework which we call Activity Flow Graphs. The flow of activity enables us to model high level states directly in the data flow graph. The result is a single computation graph that can express both perception and high level control aspects of any robotic system. This theoretical foundation is the core of our open-source software framework CS::APEX, which allows the creation, manipulation and evaluation of Activity Flow Graphs and enables rapid prototyping and experimentation and can be used with any robot supporting the Robot Operating System (ROS). We then demonstrate the framework with two high level models for a fetch-and-delivery robot and a person following robot.},
  issn = {1573-0409},
  doi = {10.1007/s10846-018-0831-7},
  url = {https://doi.org/10.1007/s10846-018-0831-7},
}