Empirical Inference Technical Report 2023

Synchronizing Machine Learning Algorithms, Realtime Robotic Control and Simulated Environment with o80

Screenshot from 2023 06 19 10 53 09

Robotic applications require the integration of various modalities, encompassing perception, control of real robots and possibly the control of simulated environments. While the state-of-the-art robotic software solutions such as ROS 2 provide most of the required features, flexible synchronization between algorithms, data streams and control loops can be tedious. o80 is a versatile C++ framework for robotics which provides a shared memory model and a command framework for real-time critical systems. It enables expert users to set up complex robotic systems and generate Python bindings for scientists. o80's unique feature is its flexible synchronization between processes, including the traditional blocking commands and the novel ``bursting mode'', which allows user code to control the execution of the lower process control loop. This makes it particularly useful for setups that mix real and simulated environments.

Author(s): Berenz, Vincent and Widmaier, Felix and Guist, Simon and Schölkopf, Bernhard and Büchler, Dieter
Year: 2023
Bibtex Type: Technical Report (techreport)
Eprint: 2306.09764
Institution: Robot Software Architectures Workshop (RSA) 2023, ICRA
State: Published
URL: https://arxiv.org/abs/2306.09764
Links:
Attachments:

BibTex

@techreport{berenz2023synchronizing,
  title = {Synchronizing Machine Learning Algorithms, Realtime Robotic Control and Simulated Environment with o80},
  abstract = { Robotic applications require the integration of various modalities, encompassing perception, control of real robots and possibly the control of simulated environments. While the state-of-the-art robotic software solutions such as ROS 2 provide most of the required features, flexible synchronization between algorithms, data streams and control loops can be tedious. o80 is a versatile C++ framework for robotics which provides a shared memory model and a command framework for real-time critical systems. It enables expert users to set up complex robotic systems and generate Python bindings for scientists. o80's unique feature is its flexible synchronization between processes, including the traditional blocking commands and the novel ``bursting mode'', which allows user code to control the execution of the lower process control loop. This makes it particularly useful for setups that mix real and simulated environments. },
  institution = {Robot Software Architectures Workshop (RSA) 2023, ICRA},
  year = {2023},
  slug = {berenz2023synchronizing},
  author = {Berenz, Vincent and Widmaier, Felix and Guist, Simon and Sch{\"o}lkopf, Bernhard and B{\"u}chler, Dieter},
  eprint = {2306.09764},
  url = {https://arxiv.org/abs/2306.09764}
}