This document describes the architecture of COMPAS RRC, and documents design decisions taken during development.
The protocol specification is located in
Protocol Version check
The following procedure is used to verify the protocol versions between
Python RRC Client,
ROS Driver and
RRC Server are all matching:
Python RRC Client<->
On start, ROS Driver sets current procol version into a parameter.
On connect, Python RRC Client checks protocol version in parameter matches its own protocol version and raises an exception if not the same.
ROS Driver sends current procol version on every message (as defined in the protocol specification).
RRC Server checks first protocol after
PP to Mainand stops with a message if not the same.
Every feedback from the robot contains protocol version in the header.
ROS Driver checks protocol version on first feedback after the connection, and raises an exception if not the same.