-
Notifications
You must be signed in to change notification settings - Fork 3
Running an example
This system is able to run autonomous cinematography missions with a team of drones. It allows media directors to run missions involving different types of shots with one or multiple cameras, running sequentially or concurrently.
The repository includes launchers to run the complete system. The multidrone_simulator package allows one to launch several environments and a dynamic target to be filmed that can be controlled manually. For instance, if you want to launch an experiment site environment with two drones and a human target, you can type:
roslaunch multidrone_planning simulator_karting_2.launch
The target has two modes that allow controlling its trajectory. You can select the mode through the keyboard
parameter in target_node.launch
:
This mode allows you to move the target through the keyboard.
- W -> forward
- S -> Backward
- A -> Left
- D -> Right
- Use J-K to move the orientation of the target
- Press b to quit"
This mode allows you to move the target through a trajectory file. You can modify it in multidrone_simulator/models/target/trajectory/trajectory.txt
Each column indicates a waypoint: x_pose y_pose z_pose roll pitch yaw velocity
To command the target to start following its trajectory: rosservice call /target_node/start_trajectory "{}"
If you want to run the full system for two drones, you can launch:
roslaunch multidrone_planning multidrone_full_system_2.launch
The system is ready to interface with the Dashboard, a graphical tool for human-computer interaction between media end-users and the rest of the system. This component allows the director to design cinematography missions, including all shot descriptions and their triggering Events, when needed. This module is out of the scope of this repository, but even so, an auxiliary node is included to run pre-configured missions. You can run this Dashboard interface with:
roslaunch multidrone_planning pydashboard_karting.launch
There are several options that you will have to choose in the following order to run a mission:
-
Event enrollment: there are several pre-configured events that you can enroll through this option. If you can configure your own event, you will have to add an XML configuration file to
dashboard_interface/xml/XMLs/events
. For instance, to enroll the START_RACE event, type1-enter-4-enter
. -
Mission enrollment: there are several pre-configured missions in the repository that are available to choose through this option. If you want to configure your own mission, you will have to add an XML configuration file to
dashboard_interface/xml/XMLs/missions
. For instance, to run a mission with two drones, press2-enter-18-enter
. -
Validate Mission: it is necessary to validate the mission as the next step. Press
3-enter
to validate. -
You will have to select the mission role, the mission ID and the Shooting Action Sequence (SAS) role. For instance, type
4-enter-main-enter-18-enter-main-enter-enter
. -
Select the fifth menu entry to send a safe-to-go service to the drones.
-
You can send events through the sixth menu entry. For instance, select
GET_READY
, wait for the drone to go to the starting pose and selectSTART_RACE
.