Skip to main content

Using Your Drone

Follow this step-by-step guide to see how your drone works on the inside and how to interact with it day to day. While some steps are universal across products, others may vary depending on your specific model. Use the tabs to select the guide tailored to your product.

Our drones are unique platforms that let you build custom features on top of prebuilt autonomous flight capabilities, both indoors and outdoors. This is powered by the MRS UAV System, which typically comes pre-installed and runs on the drone. Depending on the project, it may also need to run on your PC, in that case, follow the Installation guide to set it up.

Since the MRS UAV System is installed natively on the drone's onboard computer, there is no container layer or web dashboard sitting between you and the system. You interact with it directly over SSH (see the Network page).

Tmuxinator Sessions

Once connected, launching, monitoring and stopping the system is done through Tmuxinator-managed tmux sessions rather than a GUI. A prepared session is already available in the example_session folder in the drone's home directory:

cd ~/example_session/ # or cd ~/example_session/outdoor # if you have multiple sessions available
./tmux.sh

A typical session folder consists of:

  • config: Configuration files related to the flight and core UAV settings.
  • session.yml: The launch commands for every node and script the session starts, organized into tabs.
  • record.sh: Starts the ros bag recording of the session, which is useful for debugging and post-flight analysis.
  • tmux.sh (or start.sh, depending on the session): Runs session.yml through Tmuxinator.
  • kill.sh: Stops all nodes and closes the tmux session.
Containerized sessions

If your drone does not have the MRS UAV System and ROS installed natively, the session may be running inside a Docker container. In that case, the start.sh will launch the container first, and then run the session inside it.

Besides the previously mentioned files, which are inside of the tmux folder, the session may also include a compose.yml file, a logs folder, and a Dockerfile.

If you want to know more about how Docker works, please refer to the Docker documentation.

Navigate through the tabs to see the different outputs. Some of the most common ones are:

  • status: Shows the current state of the drone. You can also interact with the drone from this tab (press h to list the available commands).
  • core: Outputs from the different "Managers" that run concurrently. More information here.
  • hw_api: Information related to the interface between the core and the autopilot.
  • roscore or zenoh: Runs the main roscore or zenoh node, which is the backbone of the ROS system.
  • takeoff or autostart: Automates the drone's takeoff routine. More information here.

More tabs may be available depending on the session, the sensors in use, and the required functionalities.

tip

Our system uses custom bindings to navigate within the tmux session. Refer to the tmux section of this cheatsheet.

warning

Avoid editing the example session in place. Copy it as a starting point for your own sessions instead.