A standardized communication protocol for autonomous robots to exchange data, coordinate tasks, and collaborate in real-time environments.
The R2R Protocol enables seamless robot-to-robot interaction across industrial automation, swarm robotics, logistics, and multi-agent systems. It defines structured message formats, negotiation logic, discovery mechanisms, and extensible APIs.
✅ Structured JSON/Protobuf messaging
✅ Supports TCP/IP, UDP, MQTT, WebSocket
✅ Task negotiation (auction, consensus)
✅ Status & telemetry updates
✅ Optional authentication
✅ Extensible via plugins/modules
✅ Docker-ready
✅ GitHub Actions CI/CD integration
✅ Python SDK published on PyPI
Language | Status | Directory |
---|---|---|
🐍 Python | ✅ Stable | sdk/python |
🦀 Rust | ⏳ Coming Soon | — |
🖥️ C++ | ⏳ Coming Soon | — |
🐹 Go | ⏳ Coming Soon | — |
🌐 JavaScript | ⏳ Coming Soon | — |
Want to contribute an SDK in your favorite language? Check out the contributing guide.
Abstract architecture of the R2R protocol, showcasing the components and their interactions
Detailed architecture of the R2R protocol, showcasing the components and their interactions.
See the full Protocol Specification.
🔧 Install from PyPI
pip install r2r-protocol
from r2r_protocol import RobotClient
# Connect to R2R server
client = RobotClient(robot_id="bot_01", host="192.168.1.10")
# Send status update
client.send_status({
"battery": 85,
"position": {"x": 10.2, "y": 5.1},
"task_progress": 0.75
})
You can run the R2R SDK in a Docker container:
docker build -t r2r-sdk .
docker run -it r2r-sdk
This will start a sample client instance and verify that the SDK works.
To contribute or extend the protocol:
- Clone the repo
git clone https://github.com/Tech-Parivartan/r2r-protocol.git
cd r2r-protocol
- Set up Python environment
cd sdk/python
pip install -e .
- Install test dependencies
pip install pytest
Run unit tests using:
cd tests
python -m pytest test_messages.py
We welcome contributions! Please read our here to get started.
Ways to Help
- Report bugs and suggest features
- Write more comprehensive tests
- Improve documentation and architecture diagrams
- Build example applications and integrations
Please open an issue before submitting a PR so we can align on scope.
The r2r-protocol is an open-source project by Tech Parivartan, under the Apache License 2.0. See the LICENSE file for details.
Have questions, feature requests, or want to share how you're using R2R-Protocol?
- Open an issue on GitHub
- Join our Discord / Slack (coming soon)
- Email us at [email protected]
- Follow us on Twitter @TechParivartan
- Follow us on LinkedIn Tech Parivartan
- Enhanced security features
- Visualization tools for monitoring robot interactions
- Support for more programming languages
- Improved error handling and logging
- Integration with popular robotics frameworks (ROS, OpenRAVE)