Supervisory
Design > Protocols
Supervisory Command Design
The supervisory function is centralized in the supervisory console which connects to a routing module on the Robot DHQ robot. The commands are strings of ASCII characters in the standard command format. At a "high" level of abstraction the commands look like this.
<Routing Address><Routing Address><Routing Address>...<End Module>
The number of routing modules between the supervisory console and the most remote end module is 0-n. The only limit is the ability of the supervisory module to remember and use the chart of modules on the robot.
The key to this working properly is the routing module. Details of the routing module are HERE.
The routing address consists of three characters. The first character is "R". The second identifies the routing module "version". The third identifies the port to which the end module or next routing module is connected.
The map of routing modules and end modules is finite and can be enumerated automatically by the supervisory console.
The function of the end points needs to be established by the designer and maker but the only way the supervisory console program can know this information is by being informed of the function by the operator or builder. For example, R11R12R52R11S1xxx could be a command sent to a servo that controls the index finger on the left hand. In this case the command is routed through four routing modules.
End modules could be control modules as in the example or they could be data logging modules. Data logging modules are yet to be defined.