I’m pleased to announce a microblx to ROS connector function block [1].
microblx [2] is a minimal and lightweight framework for building hard real-time control or signal processing applications by composing function blocks.
The microblx-ros block allows connecting microblx data-flow to ROS topics without impacting real-time performance of the former.
This version supports a number std_msgs and geometry_msgs (the latter converted to KDL types), and further ones will be added based on need or demand. Contributions welcome…
This version supports ROS1 only, though ROS2 may be added in the future if there is interest.
Acknowledgment: This work was supported by the European H2020 project RobMoSys via the COCORF (Component Composition for Real-time Function blocks) Integrated Technical Project.
I know of at least one proprietary system, but unfortunately, not any open source ones yet. The good news is that we’re working on a concrete motion control application in the context of this project which will be made available as open source in the near future. I’ll post an update when that happens!
To try it out any recent Linux system should do. I’ve used microblx on small
ARM CPUs like the beaglebone but also on larger x86 multicores for
hard real-time data processing. The choice often boils down to the
requirements for IO bandwidth and CPU power.
As of today, there is little tooling support for running microblx on a
microprocessor+RTOS like zephyr, though it should not be very hard to
do.