A Non-Invasive ROS 2 Integration Framework for the GuardBot RollerBot 23 (RB23)
ROS 2 • Teleoperation • Telemetry • Multimedia Streaming • Experiment Logging
GuardROS is a non-invasive ROS 2 interoperability framework developed for the GuardBot RollerBot 23 (RB23) platform.
The framework acts as a middleware integration layer capable of bridging the proprietary RB23 communication ecosystem with modular ROS 2 workflows without requiring modifications to the original firmware or hardware.
GuardROS enables:
- ROS 2 teleoperation
- Real-time telemetry acquisition
- Video streaming
- Bidirectional audio communication
- Experimental logging
- ROS 2 topic integration
- Middleware-based extensibility
- Future autonomous robotics integration
The framework was experimentally validated under real-world operational conditions, demonstrating stable bidirectional communication, multimedia integration, and long-duration operational stability.
GuardROS operates as a bidirectional interoperability layer between:
- The proprietary GuardBot communication infrastructure
- ROS 2 applications and robotics workflows
The framework decodes telemetry, video, audio, and operational packets from the RB23 platform and exposes them as ROS 2-compatible interfaces and topics.
It also supports the inverse communication flow, allowing ROS 2 nodes to send teleoperation and autonomous control commands back to the robot.
- ROS 2 interoperability
- Modular architecture
- Real-time teleoperation
- Structured telemetry access
- Multimedia streaming
- Bidirectional audio
- Experiment logging
- Reproducible experimentation
- ROS 2 topic mapping
- Middleware-based communication
- External tool compatibility
- Distributed robotics workflows
GuardROS was designed to support future robotics applications such as:
- SLAM
- Nav2
- Computer vision
- Sensor fusion
- Autonomous navigation
- Distributed robotic systems
guardros_ws/
├── scripts/
│ ├── run_guardros.sh
│ └── stop_guardros.sh
│
├── experiments/
│ ├── logs/
│ └── analysis/
│ └── analyze_guardros_logs.py
│
├── src/
├── build/
├── install/
└── log/- Ubuntu 22.04
- ROS 2 Humble
- Python 3
- GuardBot RollerBot 23 (RB23)
git clone https://github.com/<your-repository>/guardros.gitcd guardros_ws
colcon buildsource install/setup.bashBefore running GuardROS, configure the workspace path inside:
~/guardros_ws/scripts/run_guardros.shLocate:
WORKSPACE="/home/your_user/guardros_ws"Replace it with your actual workspace path.
Also verify the ROS 2 installation path:
ROS_SETUP="/opt/ros/humble/setup.bash"chmod +x scripts/run_guardros.sh
chmod +x scripts/stop_guardros.sh./scripts/run_guardros.shThe script will request the ROBOT_ID.
After initialization, multiple terminals are automatically launched, including:
- RB23 Driver
- Keyboard Teleoperation
- Video Viewer
- Telemetry Viewer
- Audio Node
- Experiment Logger
Experiment logs are automatically stored at:
~/guardros_ws/experiments/logs/Each session creates a timestamped directory containing logs such as:
control_log.csv
telemetry_log.csv
video_log.csv
audio_log.csv
typed_telemetry_log.csv
diagnostics_driver_log.jsonlGuardROS includes an analysis utility:
experiments/analysis/analyze_guardros_logs.pyThe script generates:
- Statistical summaries
- Timing analysis
- Jitter analysis
- Battery plots
- Temperature plots
- Ping plots
- PNG figures
python3 experiments/analysis/analyze_guardros_logs.py \
experiments/logs/SESSION_NAMEThe framework was experimentally validated across multiple operational scenarios:
| Test | Objective |
|---|---|
| T1 | Idle stability validation |
| T2 | Teleoperation validation |
| T3 | Video stress validation |
| T4 | Audio stress validation |
| T5 | Long-duration operational validation |
| T6 | Native application comparison |
Results demonstrated:
- Stable 20 Hz command stream
- Stable telemetry acquisition
- Stable ~20 FPS video streaming
- No UDP reception errors
- Sustained operation without manual reconnection
| Capability | Native Apps | GuardROS |
|---|---|---|
| ROS 2 interoperability | No | Yes |
| ROS topic integration | No | Yes |
| Structured telemetry access | Limited | Yes |
| Experimental logging | No | Yes |
| Middleware integration | No | Yes |
| Autonomous robotics integration | No | Supported |
- Power on the RB23 robot
- Wait for network connection
- Run GuardROS
- Perform experiments
- Stop GuardROS
- Analyze generated logs
The current implementation still depends on the original proprietary GuardBot communication infrastructure and server ecosystem.
Future work aims to reduce this dependency through direct or embedded communication architectures.
Planned future developments include:
- Embedded communication architectures
- Direct robot communication
- SLAM integration
- Nav2 support
- Sensor fusion pipelines
- Autonomous robotics workflows
- Distributed robotic systems
If you use GuardROS in academic work, please cite:
@article{guardros2026,
title={GuardROS: A Non-Invasive ROS 2 Integration Framework for the GuardBot RollerBot 23},
author={Mosconi, Denis and Marsicano, Joao Aires and Becker, Marcelo},
journal={IEEE},
year={2026}
}Apache-2.0
- Denis Mosconi
- Joao Aires Marsicano
- Marcelo Becker
This work was carried out with the support of Petrobras, with resources from the ANP R&D clause, in partnership with the University of São Paulo (USP) and FAFQ.
docs/
├── images/
│ ├── logo.png
│ ├── architecture.png
│ └── rb23.png