Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Scripts that you have started from within the LCC (as well as the middleware) are managed using tmux sessions. The script that takes care of these sessions also writes command line outputs of the running programs into .../software/../lcc_script_logs. If you want to find out why your program crashed, the contents of this folder might be useful, in addition to log messages in the system and other custom error reports. You can find this folder for remote deployment as well (on the NUCs).

Crash Checker

...

Sessions exist for the middleware and your script (if a locally running simulation was started and they are running locally). There also exist sessions for the lab cam labcam, position detection and other vital features of the LCC (if they are activated).

The integrated crash checker checks regularly - during a simulation - if all these tools are still running. To simplify the process, we only look up if the according tmux sessions still exist, which in most cases is enough to detect a crash of the contained program.

...

Remote Deployment

Take a look at this page.

Round Trip Time

...

DDS Datatype

The following datatype is used to measure the RTT:

...

Implementation

The implementation of the calculation of the RTT as well as answering / sending RTT requests is part of the cpm library. They can be activated using the activate function, e.g. for the HLC:

cpm::RTTTool::Instance().activate("hlc");

Here, hlc implies that this participant is responsible for measurements regarding the HLC, and answers to HLC RTT requests. You do not need to take care of this - HLC measurements are part of the autostart program on the NUCs.

The LCC includes some more tools to aggregate the calculated RTTs and to display them in the UI.

(RTT) Measurements

Functionality

The LCC regularly sends RTT measurement requests as long as no simulation is running (to prevent network overload). 

...

If no replies were received for some time (about 10 seconds), then all participants of that type are assumed to be turned off. The according data structures are reset and the UI does not show any information regarding the RTT of the participants anymore.

...

A small indicator has been added that shows the user how long the experiment has been running. It is also part of the monitoring bar. It displays hours, minutes and seconds (if they are greater than zero).

DDS Datatype

The following datatype is used to measure the RTT:

struct RoundTripTime {
string source_id; //To find out where the msg came from and to not answer to own msg

boolean is_answer; //If true, do not respond to this msg, as it already is an answer to an RTT request
octet count; //Counter to not mix up old with new RTT requests
};

Implementation

The implementation of the calculation of the RTT as well as answering / sending RTT requests is part of the cpm library. They can be activated using the activate function, e.g. for the HLC:

cpm::RTTTool::Instance().activate("hlc");

Here, hlc implies that this participant is responsible for measurements regarding the HLC, and answers to HLC RTT requests. You do not need to take care of this - HLC measurements are part of the autostart program on the NUCs.

The LCC includes some more tools to aggregate the calculated RTTs and to display them in the UI.