How to take off your drone

Bebop drones

Bebop and Bebop 2 are controlled via a WiFi link (or via a virtual ethernet link) so you probably want to provide a valid Wifi “stolen_interface” in your .drone file. If you don’t need to control the drone via Wifi, you can comment the “stolen_interface” parameter in the .drone file and the drone will not create its usual Wifi access point. See How to connect to the simulated drone for more information on how to connect to a drone via a Wifi link.

Once connected to your drone with a controller (e.g. FreeFlight Pro), send the take off command to the drone and it should take off and go in hovering mode waiting for further instructions from the controller.

Disco

The Disco requires a Skycontroller 2 as a Wifi controller and a valid “stolen_interface” parameter in the .drone file. See How to connect to the simulated drone for more information on how to connect to a Skycontroller 2 via Wifi.

To take off, the drone must be shaked and tossed into the air. In order to do that, you must send a start action to the handling sphinx plugin identified as disco/fixedwings_shake/handling. This can be achieved either from the Web interface, or by sending an action request to the JSON-RPC server:

$ echo '{"jsonrpc": "2.0", "method": "TriggerAction",\
  "params": {"machine":"disco", "object":"fixedwings_shake/handling", "action":"start"}, "id": 1}'\
  | curl -d @- http://localhost:8383 | python -m json.tool

Once connected to your drone with the Skycontroller 2, send a “shake” command to sphinx followed by a take off command to the drone. The Disco should be lifted up and shaked by sphinx. After the drone has received the take off command the propeller should start spinning and the drone should immediatly take off and go in loiter mode at a predefined altitude. When the Disco reaches its loiter altitude it should respond to the commands of the Skycontroller 2.

Bebop, Bebop 2 and Disco front camera

Bebop, Bebop 2 and Disco have an optional 1080p front camera that is used for live streaming to the controller. This camera is activated by default in the examples installed with sphinx. To disable the front camera, set the with_front_cam option to false. The front camera activation requires a high-end GPU (see System requirements) so you might want to disable it if your system has an integrated or low-end GPU. The drone firmware might not even run if the camera is enabled on a low-end GPU.

To enable/disable the front camera, check and modify your .drone file or override the parameter from the command line:

$ sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone::with_front_cam=false

With low-end GPU, you might try to use the low_gpu option set to true. This option decreases the front camera rendering quality. Hopefully, this will be enough to run the simulation with the front camera enabled on your system.

$ sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone::with_front_cam=true::low_gpu=true

See Anatomy of a ‘.drone’ file for more information on the .drone files and on how to set the drone parameters.

Bebop 2 Power

To simulate a Bebop 2 Power, just launch a Bebop 2 simulation as usual and set the with_hd_battery option to true. For example:

$ sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone::with_hd_battery=true

Bebop 2 Thermal

Bebop 2 Thermal is basically a Bebop 2 Power with an additionnal thermal camera on the rear. The with_flir option must be set to true to attach and simulate the thermal camera. Additionnaly, you might want to set the thermal camera orientation with the flir_pos option set to “vertical”, “horizontal” or “titled” (by default). Finally, don’t forget to also add a Bebop 2 Power battery (with_hd_battery=true).

$ sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone::with_flir=true::flir_pos=vertical::with_hd_battery=true

The Bebop Thermal additionnaly requires a Skycontroller 2 as a controller. See How to connect to the simulated drone for information on how to connect to a drone with a Skycontroller 2.

Once connected to your drone, send the take off command to the drone from your Skycontroller and the drone should take off and go in hovering mode waiting for further commands. The thermal image of the drone should also be visible in the thermal view of FreeFlight Thermal.

Minidrones

Minidrones (Airborne, Mambo and Swing) only accept to be connected via a Bluetooth link. You must provide a valid Bluetooth MAC address (the one of your Bluetooth hardware) in the “stolen_bdaddr” option in your .drone file. You can also override this drone parameter from the command line:

sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/mambo.drone::stolen_bdaddr=00:1A:7D:DA:71:11

The Bluetooth device associated with this MAC address will be used by the minidrone to communicate with its controller. See How to connect to the simulated drone for more information on Bluetooth requirements.

Once connected to your drone with a controller (e.g. FreeFlight Mini), send the take off command to the drone and it should take off and go in hovering mode waiting for further instructions from the controller.

Sequoia accessory

Through USB it is possible to connect a physical Sequoia camera to a simulated “SQ” drone.

One drone model supports Sequoia in Hardware-In-the-Loop mode: Disco.

Prerequisites

1. make sure your simulated drone has a “eth0” wifi interface. You may need to edit the <stolen_interface> element from your .drone file (see Anatomy of a ‘.drone’ file)

  1. disable the automount of usb devices:
$ sudo apt-get install dconf-cli
$ dconf write /org/gnome/desktop/media-handling/automount false

Usage

When your simulated SQ drone is running, plug a sequoia to an available USB port on your host, the simulated SQ drone should detect it and be able to use it.

From your host you should also be able to access the sequoia http server at 10.202.0.2 .