RoboidControl-cpp/README.md

19 lines
1.2 KiB
Markdown

RoboidControl is a cross platform framework to control autonomous robots. This library contains the generic functionality. Most projects will use one of the platform-specific implementations:
* [RoboidControl for Arduino](https://gitlab.passervr.com/passer/arduino/roboidcontrol)
Network Sync Protocol
=====================
The client connects to a Roboid Site using a Serial or WiFi connection.
It will then send a 'Client (0xA0)' message to the Site
The Site will respond with a 'NetworkId (0xA1)' message containing the NetworkId of this new client.
Then the client can start sending normal messages.
When the client sends a 'Pose (0x10)' message for a thing which is not known by the Site
(the networkId/thingId combination is not known), the Site will send an 'Investigate (0x81)'
message to the client.
The client shall respond with a 'NewThing (0x80)' message containing the type of the thing.
Optionally, the client can send a 'ModelURL (0x90)' message containing a link to the OBJ model of the thing.
The same mechanism work the other way round, when the client receives a pose for an unknown object.
The deviation is that the Site will (currently) not send 'ModelURL (0x90)' messages.