**6. Experiments on Shooting Mission Planning**

In this section, we showcase the use of our tools in example scenarios to film outdoor events. Within the framework of MULTIDRONE project, we integrated our tools for autonomous cinematography into a real system with multiple drones. In the following, we first describe an example mission to illustrate the whole process to write, translate, and execute missions. Then, we show the execution of that example shooting mission in a simulator developed in MULTIDRONE. Last, we show some results of a real experimental media production performed in north Germany shooting a rowing race.

#### *6.1. Example of a Shooting Mission*

This section details an example of a shooting mission to cover an outdoor event with a single moving target to film. The objective is to illustrate the whole process to write the shooting mission through our language in Section 4, how to translate it into a list of tasks to feed a Planner, and a possible output plan computed for each drone.

#### 6.1.1. Shooting Mission XML

The example shooting mission consists of a parent event that is a race with a single target to be filmed by a drone team. There could be several leaf events to associate missions, as for example, the start of the race or the finish line. For simplicity, our parent event contains a single leaf event named "START\_RACE" with a duration of 20 s. Associated with the start of the race there is a mission with role "main" described by two shooting action sequences with the same role "main", i.e., to be executed in parallel. One of the shooting action sequences has two consecutive shooting actions with a single shooting role each, i.e., single-drone shooting actions. The other shooting action sequence has a shooting action with two shooting roles, i.e., a shooting action to be performed by two drones simultaneously.

Figure 9 shows an example of the XML code. For the sake of simplicity, only the main elements of the XML are included. Tags relative to target information and positioning data (e.g., RT trajectory, origin of formation, shooting target, etc.) have been omitted. A complete version of the XML file of the example (also including alternative missions and shooting action sequences with other roles) can be seen online (https://grvc.us.es/downloads/docs/example0.xml).

### 6.1.2. List of Shooting Actions

Once the Mission Controller receives the XML shown in the previous section, this is parsed to extract the relevant information and build a list of objects of type SHOOTING ACTION and SHOOTING ROLE. The next code block shows the resulting list with most relevant information, where SHOOTING ACTION data type is denoted as SA whereas SHOOTING ROLE data type as SR.

The idea in this example mission is to take a lateral shot with medium-shot framing for 10 s, followed by a static shot with close-up framing. In parallel, an orbital shot with two drones (one with medium-shot framing and another with long-shot framing) should be taken for 20 s. The shooting parameters depend on the type of shot; in this example, they indicate relative positioning of the drone formation with respect to the RT (Cartesian coordinates for the lateral and static shots and polar coordinates for the orbital shot).

In the XML, duration was not specified for shooting actions SA2 and SA3 (values set to 0). Therefore, they are estimated as the difference between the event duration (20 s in the XML) and the duration of previous shooting actions, if any (10 s for SA1). Thus, SA2 will last 10 s, whereas SA3 20 s. When the duration of shooting actions is specified in time, as in this example, the XML tag "length" is set to 0.

**Figure 9.** Example XML describing our race shooting mission.

*Appl. Sci.* **2020**, *10*, 1494

```
list<SA>:
SA1:
start_event: START_RACE
planned_start_time: 0
mission_ID: M1
sequence_ID: S1
action_ID: A1
duration: 10
shooting_roles:
SR1:
shooting_type: SHOOT_TYPE_LATERAL
framing_type: FRAMING_TYPE_MS
shooting_parameters:
{''y'':-7,''z'':8}
SA2:
start_event: -
planned_start_time: 10
mission_ID: M1
sequence_ID: S1
action_ID: A2
duration: 10
shooting_roles:
SR1:
shooting_type: SHOOT_TYPE_STATIC
framing_type: FRAMING_TYPE_CU
shooting_parameters:
{''x'':5,''y'':-2,''z'':10}
SA3:
start_event: START_RACE
planned_start_time: 0
mission_ID: M1
sequence_ID: S2
action_ID: A3
duration: 20
shooting_roles:
SR1:
shooting_type: SHOOT_TYPE_ORBIT
framing_type: FRAMING_TYPE_MS
shooting_parameters:
{''initial_azimuth'':0,
''angular_speed'':0.52,
''radius'':3,''z'':3}
SR2:
shooting_type: SHOOT_TYPE_ORBIT
framing_type: FRAMING_TYPE_LS
shooting_parameters:
{''initial_azimuth'':180,
''angular_speed'':0.52,
''radius'':3,''z'':3}
```