This repository contains the machine-readable manifest (repos.json) describing all RoboFlex components under flexrobotics.
Used by documentation tools, LLMs, and automation scripts to understand the structure of the RoboFlex ecosystem.
Lightweight, dynamic, and distributed robotics middleware.
Build computation graphs that connect sensors, processors, and actuators across processes, languages, and networks.
RoboFlex is a C++/Python library for distributed robotics.
It lets you:
- Stream from cameras and microphones.
- Process data (e.g. run tensors through PyTorch).
- Integrate multiple sensor streams.
- Control actuators and robots — locally or remotely.
| Feature | Description |
|---|---|
| Simple install | pip install roboflex, then pip install roboflex.realsense etc. |
| Simple concept | Distribute Nodes that send/receive Messages over pub-sub networks. |
| Multi-language graphs | Configure computation graphs in Python or C++ — the same node APIs are exposed in both. |
| Dynamic messaging | Uses FlexBuffers — self-describing, schema-less, zero-copy. |
| High-performance core | Written in C++; integrates with xtensor, Eigen, and NumPy. |
| Library, not framework | You control main() — no YAML or XML configs. |
The central idea of RoboFlex is the computation graph:
Nodes send and receive
Messages over any supported transport (e.g. MQTT, ZMQ).
Graphs can be configured entirely in Python or C++, depending on your deployment.
A few lines of code define your dataflow — no configuration files required.
See roboflex for API details and examples.
RoboFlex is modular: each feature lives in its own repo under the flexrobotics organization.
| Category | Repository | Description |
|---|---|---|
| Core | roboflex | Core library: Nodes, RunnableNodes, Messages, Python bindings, utilities. |
| Examples | roboflex_examples | Multi-component demos and integrations. |
| Repository | Description |
|---|---|
| roboflex_audio_alsa | Audio broadcasting via ALSA. |
| roboflex_audio_sdl | Audio broadcasting via SDL2. |
| roboflex_realsense | RGB-D capture from Intel Realsense cameras. |
| roboflex_webcam_gst | Webcam input using GStreamer. |
| roboflex_webcamuvc | Webcam input using libuvc (USB UVC). |
| roboflex_dvs | Dynamic Vision Sensor (event camera) support. |
| Repository | Description |
|---|---|
| roboflex_visualization | SDL2 visualizers for RGB and depth streams. |
| roboflex_imgui | GUI and visualizers using IMGUI + IMPLOT. |
| Repository | Description |
|---|---|
| roboflex_dynamixel | Support for Dynamixel servo motors. |
| Repository | Description |
|---|---|
| roboflex_transport_zmq | ZeroMQ transport for pub-sub messaging. |
| roboflex_transport_mqtt | MQTT transport for pub-sub messaging. |
| Repository | Description |
|---|---|
| roboflex_util_jpeg | In-memory JPEG encode/decode for (C,H,W) tensors. |
| roboflex_util_png | In-memory PNG encode/decode for (C,H,W) tensors. |
| roboflex_profiler | Runtime profiler for computation graphs. |
From roboflex_examples:
| Example | Description |
|---|---|
realsense_tv.py |
Real-time viewer for Intel Realsense RGB-D streams. |
webcam_tv.py |
Viewer for USB-UVC webcams. |
audio_tv.py |
Real-time audio spectrum display. |
camera_follow |
Pan-tilt face-tracking camera mount using Dynamixel motors. |
| Language | How to build |
|---|---|
| Python | pip install roboflex (plus any device packages like roboflex.realsense). |
| C++ | Uses CMake. Clone the repo and: bash<br>mkdir build && cd build<br>cmake .. && make -j<br>sudo make install<br> |
- Message format: MESSAGEFORMAT.md
- Discussions & examples: roboflex_examples
- Issues & roadmap: roboflex
LLM-SUMMARY
RoboFlex is a modular, dynamic robotics middleware written in C++ with Python bindings.
It definesNodeandMessageprimitives for building distributed computation graphs across MQTT/ZMQ transports.
Graphs can be configured in Python or C++.
Messages use FlexBuffers for schema-less serialization compatible with xtensor, Eigen, and NumPy.
Repositories include device drivers (Realsense, webcams, DVS, audio), visualization tools (SDL2, IMGUI), transports (MQTT, ZMQ), and utilities (PNG/JPEG codecs, profiler).
Install viapip install roboflex.
Organization: flexrobotics
© 2025 FlexRobotics – MIT License
