Mapping Server & Mole integration
Related tasks
Context
Mapping server and Mole are external projects that tie into Cloudsim to perform simulation data processing and analysis in real-time.
Change
This MR introduces jobs and mechanisms to launch Mapping server and Mole instances when launching simulations. Specific changes are as follow.
Mapping server
The following resources have been introduced for the mapping server integration:
- A job for launching the mapping server pod in the gzserver node.
- A job for launching the respective network policies to communicate the mapping server with the gzserver.
- A command generator to pass the respective arguments to the mapping server container.
Mole
The SubT launch pipeline has been updated to launch a Mole bridge pod when configured. In order to configure the bridge and launch the bridge for a specific world, a docker image URI must be specified in the optional SubTCircuitRules.MoleBridgeImage
model field.
The bridge requires some environment variables to be configured to uniquely identify each simulation. The following environment variables are configured for the bridge during launch:
-
ROS_MASTER_URI
is set to the Ignition Gazebo server's IP. -
WORLD_ID
Specifies the launched world. This value starts at 1 and is set to the multi-sim world identifier (as opposed to the run identifier). -
TEAM_ID
Specifies the team associated with the simulation. This value is set to the simulation's owning team database identifier. -
REPLICATION_ID
Simulation unique identifier. This value set to the simulation's GroupId.
A new Mole
configuration store has been added to the default platform Store
component. This store is used to configure the Mole bridge during launch.