The ExSce Management is an approach to store, query and generate test scenarios for ROS-based multi-robot systems. Provenance data about test scenarios and their executions is modeled using PROV and stored on a property graph. Runtime information is obtained from recorded bag files. Metamorphic testing is used to generate new scenarios and validate the system's requirements.
In this section, we present a case study of a multi-robot system performing navigation tasks to be used as a running example in the rest of this document.
Table 1 summarizes the mobile robots in the multi-robot system considered for this case study:
Robot ID | Model | Base |
---|---|---|
tiago1 | tiago | pmb2 |
tiago2 | tiago | pmb2 |
tiago3 | tiago | omni_base |
tiago4 | tiago | omni_base |
pmb1 | pmb2 | - |
pmb2 | pmb2 | - |
omni1 | omni_base | - |
omni2 | omni_base | - |
Table 1: Caption: Robots considered in this case study
Their software is based on the Robot Operating System[1] (specifically, ROS1), and the examples shown in this document use their publicly available packages and simulation[2]. For a given test, a pre-defined mission consists of multiple tasks (i.e. there is no task planner). In turn, each task consists of a list of actions, and each action has a list of waypoints to be visited. The task allocation is done manually (testers choose which robots perform which tasks) and off-line (tasks are pre-assigned before the test starts). The robots use move_base and amcl for their navigation stack.
These robots are tasked with navigating between various locations in the ground floor of the Hochschule Bonn-Rhein-Sieg, as shown in Figure 1 below. The occupancy grid and gazebo models have been generated by the Floorplan DSL.
In addition to some user-defined tasks, we make use of the tasks generated for the environment by the Floorplan DSL. Figure 2 below shows all available routes:
The testers are interested in validating the following aspects.
Performance:
Safety: