Data sharing¶
Communication of signals and data between software systems, which is indicated in
Figure 10, is achieved using a data distribution service standard OMG DDS.
In the following, we provide an overview of the various signals. This overview also
includes the interface definition language (IDL) types used for the
different signals. The IDL types are defined in the companion project RatatoskIDL
.
Signal overview¶
The diagram in Figure 10 only give a high-level view of the data sharing between the different systems.
With focus on the two algorithm systems Mimir: Leadline and Mimir: Path planner, we provide a more complete signal list in Table 1.
Source is a signal originator, it is the system that sends out the signal. Target is an intended signal receiver.
The DCPS DDS interface (data-centric publish-subscribe) is designed to allow multiple recipients – one-to-many.
Causality is one of input, output, parameter and describes the variable type.
In our case, the variability for parameter in the table is always tunable, that is, they can be changed while algorithms are running.
Please consult the documentation for the respective system/algorithm on how to specify the DDS topic and other settings in their configuration files.
In the case of Balder, the DDS topic names are specified in FkinDdsTopics
.
Note that Name in the table below is not the topic name of a signal. It is the variable named used in the Mimir configuration file.
Name |
Causality |
IDL type |
(S)ource/(T)arget |
---|---|---|---|
Mimir: Leadline |
|||
|
input |
|
S: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
|
parameter |
|
S: Balder, |
Mimir: Path planner |
|||
|
output |
|
T: Balder |
Mimir: Path planner |
|||
|
input |
|
S: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
|
parameter |
|
S: Balder |
|
parameter |
|
S: Balder |
|
parameter |
|
S: Balder |
|
parameter |
|
S: Balder |
|
parameter |
|
S: Balder |
|
parameter |
|
S: Balder |
|
parameter |
|
S: Ratatosk |
|
parameter |
|
S: Ratatosk |
|
parameter |
|
S: Ratatosk, Balder 1 |
|
parameter |
|
S: Ratatosk, Balder |
|
input |
|
S: Balder 2 |
|
input |
|
S: Ratatosk |
|
input |
|
S: Ratatosk |
|
input |
|
S: Ratatosk |
|
input |
|
S: Ratatosk |
|
input |
|
S: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
|
output |
|
T: Balder |
Note
Balder currently does not support user configuration of topic names. Future
improvements include moving FkinDdsTopics
outside the compiled
program, so that it can be loaded at runtime. This would allow configuration of
topics without recompilation.