Synchronous Dataflow and Visual Programming for Prototyping Robotic Algorithms

  • Sebastian Buck
  • Richard Hanten
  • C. Robert Pech
  • Andreas Zell
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 531)


Robots perceive their environment by processing continuous streams of data, which can be very naturally modelled as a dataflow graph. The development of new perception algorithms is often an iterative process, involving the investigation of a set of parameters and their influence on the system. The amount of immediate feedback available to the developer can make these influences more obvious and can therefore speed up development. We present a framework based on synchronous dataflow and event-based message passing that forms the basis of a visual programming language for rapid prototyping of robotic perception systems. We explicitly model algorithmic parameters in the dataflow graph, which results in a more expressive feature set. We provide an open-source implementation, consisting of a user interface for immediate feedback and interactive manipulation of dataflow algorithms and an independent execution framework that can be directly used on any robot.


Perception Prototyping Visual programming Dataflow Robotics 



This work is funded by the German Federal Ministry of Education and Research (BMBF Grant 01IM12005B). The authors would like to thank Sebastian Otte and Fabian Becker for providing their implementations of artificial neural networks and evolutionary optimization algorithms, as well as the students, who are using CS::APEX in their research, for providing constructive feedback.


  1. 1.
    Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R., Ng, A.Y.: Ros: an open-source robot operating system. In: ICRA workshop on open source software. Vol. 3, p. 5 (2009)Google Scholar
  2. 2.
    Lee, E., Messerschmitt, D.G., et al.: Synchronous data flow. Proc. IEEE 75(9), 1235–1245 (1987)CrossRefGoogle Scholar
  3. 3.
    Buck, S., Hanten, R., Huskić, G., Rauscher, G., Kloss, A., Leininger, J., Ruff, E., Widmaier, F., Zell, A.: Conclusions from an object-delivery robotic competition: sick robot day 2014. In: The 17th International Conference on Advanced Robotics (ICAR), Istanbul, TR, pp. 137–143 (2015)Google Scholar
  4. 4.
    Otte, S., Krechel, D., Liwicki, M.: Jannlab neural network framework for java. In: Perner, P. (ed.) MLDM Posters, pp. 39–46. IBaI Publishing (2013)Google Scholar
  5. 5.
    Kronfeld, M., Planatscher, H., Zell, A.: The eva2 optimization framework. In: Learning and Intelligent Optimization, pp. 247–250. Springer (2010)Google Scholar
  6. 6.
    Eker, J., Janneck, J.W., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., Xiong, Y.: Taming heterogeneity-the ptolemy approach. Proc. IEEE 91(1), 127–144 (2003)CrossRefGoogle Scholar
  7. 7.
    Ludäscher, B., Altintas, I., Berkley, C., Higgins, D., Jaeger, E., Jones, M., Lee, E.A., Tao, J., Zhao, Y.: Scientific workflow management and the kepler system. Concurrency Comput.: Practice Exp. 18(10), 1039–1065 (2006)CrossRefGoogle Scholar
  8. 8.
    Hart, S., Dinh, P., Yamokoski, J., Wightman, B., Radford, N.: Robot task commander: A framework and ide for robot application development. In: 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2014). pp. 1547–1554 (2014)Google Scholar
  9. 9.
    Berthold, M.R., Cebron, N., Dill, F., Gabriel, T.R., Kötter, T., Meinl, T., Ohl, P., Sieb, C., Thiel, K., Wiswedel, B.: KNIME: the Konstanz Information Miner. In: Studies in Classification, Data Analysis, and Knowledge Organization (GfKL 2007). Springer (2007)Google Scholar
  10. 10.
    Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., Witten, I.H.: The weka data mining software: an update. SIGKDD Explor. Newsl. 11(1), 10–18 (2009)CrossRefGoogle Scholar
  11. 11.
    Demšar, J., Curk, T., Erjavec, A.: Črt Gorup, Hočevar, T., Milutinovič, M., Možina, M., Polajnar, M., Toplak, M., Starič, A., Štajdohar, M., Umek, L., Žagar, L., Žbontar, J., Žitnik, M., Zupan, B.: Orange: data mining toolbox in python. J. Mach. Learn. Res. 14, 2349–2353 (2013)Google Scholar
  12. 12.
    Bitter, I., Van Uitert, R., Wolf, I., Ibanez, L., Kuhnigk, J.M.: Comparison of four freely available frameworks for image processing and visualization that use itk. IEEE Trans. Visual. Comput. Graphics 13(3), 483–493 (2007)CrossRefGoogle Scholar
  13. 13.
    Biggs, G., Ando, N., Kotoku, T.: Rapid data processing pipeline development using openrtm-aist. In: 2011 IEEE/SICE International Symposium on System Integration (SII). pp. 312–317 (2011)Google Scholar
  14. 14.
    Ethan Rublee, V.R., et al.: Ecto - A C++/Python Computation Graph Framework (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Sebastian Buck
    • 1
  • Richard Hanten
    • 1
  • C. Robert Pech
    • 1
  • Andreas Zell
    • 1
  1. 1.University of TübingenTübingenGermany

Personalised recommendations