Software Architecture
This document describes the architecture of COMPAS RRC, and documents design decisions taken during development.
Protocol Specification
The protocol specification is located in YYMMDD_A042_Protokoll_PF.xlsx
.
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
<->ROS Driver
: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
->RRC Server
ROS Driver sends current procol version on every message (as defined in the protocol specification).
RRC Server checks first protocol after
PP to Main
and stops with a message if not the same.
RRC Server
->ROS Driver
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.