19 lines
1.2 KiB
Markdown
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. |