Link Search Menu Expand Document

Qualcomm Flight RB5 Reference Drone User Guide

This guide will walk you from taking the Qualcomm Flight RB5 out of the box and up into the air!

For technical details, see the datasheet.

Table of contents

  1. Overview
    1. Required Materials
    2. What’s in the Box
    3. Vehicle Components
  2. Connecting to QGroundControl over WiFi
    1. Power on Qualcomm Flight RB5
    2. Connect to WiFi Network
    3. SSH onto Qualcomm Flight RB5
  3. Connecting to 5G network
    1. Configuring Service
    2. Disabling / enabling service
  4. Connect to QGroundControl
  5. Connecting to QGC over 5G
    1. OpenVPN client on Qualcomm Flight RB5
  6. Sensor Calibration
    1. RC Radio Setup
    2. Bind to Radio
    3. Spektrum
    4. Calibrate Radio
    5. Confirm RC Settings
    6. Qualcomm Visual Inertial Odometry (QVIO) Setup
  7. Preflight Checks
    1. Attitude Check
    2. VIO Data Validation
    3. Arming Vehicle Without Props
    4. Install Propellers
  8. First Flights
    1. First Flight (Manual Mode)
    2. Second Flight (Position Mode)

WARNING

Unmanned Aerial Systems (drones) are sophisticated, and can be dangerous. Please use caution when using this or any other drone. Do not fly in close proximity to people and wear proper eye protection. Obey local laws and regulations.

RB5-safety-card


Overview

Required Materials

To follow this user guide, you’ll need the following:

  • Spektrum Transmitter
    • e.g. SPMR6655, SPM8000 or SPMR8000
    • Any Spektrum transmitter with DSMX/DSM2 compatibility will likely work
    • Buy Here
  • LiPo 4S battery with XT60 connector
    • e.g. Gens Ace 3300mAh, or any 4S battery with XT60 connector
    • Buy Here
  • Host computer with:
    • QGroundControl 3.5.6+
    • Ubuntu 18.04+
    • Wi-Fi

What’s in the Box

Included in the box are:

  • Qualcomm Flight RB5 Development Kit with Spektrum Receiver
  • 10” props
  • Fan

RB5-out-of-box


Vehicle Components

The following images give an overview of the vehicle components.

vehicle-overview-back-zoom-144-1024.jpg

vehicle-overview-back-zoom-144-1024.jpg

vehicle-overview-right-144-1024.jpg

vehicle-overview-back-zoom-144-1024.jpg

vehicle-overview-back-zoom-144-1024.jpg

vehicle-overview-back-zoom-144-1024.jpg


Connecting to QGroundControl over WiFi

For setup and configuration of your Qualcomm Flight RB5 you must Remove the Propellers for safety.

Power on Qualcomm Flight RB5

Now power up the Qualcomm Flight RB5 Development board. This can be done by connecting a 5V Power Supply to the power module’s barrel jack. Or you can plug in a 4S battery:

To install a 4S battery, slide into the body as shown. There is a stop at the front of the vehicle that will prevent the battery from sliding too far forward. The battery should be pressed all the way in until it hits the stop for a consistent center of mass. Power on the vehicle by connecting the battery to the XT60 connector on the fan and connect the other end of the connector to the power module shown in yellow below. Always use the fan with when developing on the bench to avoid overheating.

vehicle-battery-2-144-1024.jpg

Connect to WiFi Network

First, ADB onto your device with

adb shell

In order to connect your Qualcomm Flight RB5 to WiFi, modify the wpa_supplicant file using the following:

vi /data/misc/wifi/wpa_supplicant.conf

Replace the default SSID and psk with the credentials for your WiFi network

# Only WPA-PSK is used. Any valid cipher combination is accepted.
ctrl_interface=/var/run/wpa_supplicant
update_config=1

network={
#Open
#        ssid="example open network"
#        key_mgmt=NONE
#WPA-PSK
	ssid="Monkey1" # <-- Modify SSID here
	#proto=WPA
	key_mgmt=WPA-PSK
	pairwise=TKIP CCMP
	group=TKIP CCMP
	psk="tUgasw4z" # <-- Modify psk here
#WEP
#	ssid="example wep network"
#	key_mgmt=NONE
#	wep_key0="abcde"
#	wep_key1=0102030405
#	wep_tx_keyidx=0
}
wowlan_triggers=magic_pkt

SSH onto Qualcomm Flight RB5

In order to SSH onto the device, first ADB in using:

adb shell

Next, determine the IP address using:

ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.188  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::7970:262b:29b8:37e9  prefixlen 64  scopeid 0x20<link>
        ether 00:03:7f:12:33:6e  txqueuelen 3000  (Ethernet)
        RX packets 51  bytes 7204 (7.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18  bytes 1889 (1.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

In this case, the Qualcomm Flight RB5’s IP address on the network is 192.168.1.188

Now we can SSH on target using:

ssh root@192.168.1.188

The default SSH password is oelinux123

If the SSH connection is successful, you should see the following:

Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.19.125-perf aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

 * Super-optimized for small spaces - read how we shrank the memory
   footprint of MicroK8s to make it the smallest full K8s around.

   https://ubuntu.com/blog/microk8s-memory-optimisation
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

root@qrb5165-rb5:~#

Connecting to 5G network

In order to establish a connection to the 5G network, rb5-flight-modem is required.

Configuring Service

The rb5-flight-modem service can be configured by running the following:

rb5-flight-configure-modem

The user will be prompted to select their modem hardware and APN (Access Point Name) for their chosen SIM card.

This will enable the rb5-flight-modem service in the background and it will be started at boot.

Disabling / enabling service

The rb5-flight-modem service can be disabled by running the following:

systemctl disable rb5-flight-modem

The service can be re-enabled by running:

systemctl enable rb5-flight-modem

The status of the service can be viewed by running:

systemctl status -l rb5-flight-modem

Connect to QGroundControl

First, verify that PX4 is running on your Qualcomm Flight RB5 using the following

systemctl status px4-start

If it is not running, it can be enabled to run on boot using the following:

systemctl enable px4-start

It can also be disabled from running at boot using:

systemctl disable px4-start

In order to connect to QGC, ensure that your host computer is connected to the same network as your Qualcomm Flight RB5.

If PX4 is running and both devices are connected to the network then the Qualcomm Flight RB5 should automatically detect the host PC running QGC and connect.

voxl-qgc-connected.png

Connecting to QGC over 5G

In order to connect QGC over the LTE or 5G network, a VPN will be needed in order to complete the bridge from the cellular network to the

A typical use case of an LTE connection is to connect a drone to a Ground Control Station (GCS) such as QGroundControl. Typically the GCS is also connected to an LTE network. In this case, both the drone and the GCS have been assigned IP addresses on the LTE network that are private to the carrier network. This prevents the drone from directly connecting to the GCS since their IP addresses are not visible to each other over the internet.

There are a variety of ways to solve this issue. ModalAI uses a VPN as the preferred solution.

LTE data flow

This diagram shows how the VPN solution works. In this example a server is allocated with a static IP address, 35.236.55.229. You can easily set your own server up with Google Cloud Platform, Amazon Web Services, Microsoft Azure, etc. Ubuntu is our preferred OS for our servers. Our VPN is setup using the OpenVPN software package.

In the example above, once the drone has connected to the AT&T network, it obtains the IP address 10.47.x.y and the GCS, once connected, obtains the address 10.47.x.z.

With the OpenVPN server software running on the cloud server and OpenVPN client software on both the drone and the GCS, the devices can now connect and get VPN IP address assignments. In this diagram, the drone is assigned 10.8.0.6 and the GCS is assigned 10.8.0.8. The drone can now communicate directly to the GCS using the 10.8.0.8 IP address.

It is desirable for the drone and the GCS to always get the same IP address when connecting to the VPN. This is possible by assigning each separate network endpoint a unique security certificate. When each endpoint connects using it’s certificate it can be configured to receive the same address every time.

OpenVPN client on Qualcomm Flight RB5

The Qualcomm Flight RB5 comes with OpenVPN pre-installed

In order to use OpenVPN on the Qualcomm Flight RB5, you will need to supply a configuration file and the certificates / keys for your VPN. These files can be placed in the directory /etc/openvpn.

The following is an example of running OpenVPN as a daemon:

cd /etc/openvpn

openvpn --daemon --script-security 2 --config vpn-key.ovpn

Sensor Calibration

Qualcomm Flight RB5 flight sensors are delivered pre-calibrated from the factory. PX4 will warn you if your compass needs to be re-calibrated depending on your location and environmental conditions. If so, or if you’d like re-calibrate all sensors, follow the px4 sensor calibration precedure.

RC Radio Setup

Now you need to bind and calibrate your DSM RC radio through the QGroundControl interface.

These instructions focus on the default receiver using Spektrum DSMx. For other radio types see the Flight Core Radios Page and Flight Core Connections Page for more details.

Bind to Radio

Spektrum

Instructions on how to bind a Spektrum radio can be found here.

Calibrate Radio

Now follow the on-screen instructions to calibrate the range and trims of your radio.

8-calibrate-radio.png

Confirm RC Settings

Every user will want to use different flight modes and different switch assignments, but for getting started with Qualcomm Flight RB5 we suggest starting with something similar to this configuration and working from there.

  • “Flap Gyro” switch left of Spektrum Logo
    • Channel 6
      • Up position: Manual Flight Mode
      • Middle Position: Position Flight Mode
      • Down Position: Offboard Flight mode
  • “Aux2 Gov” switch right of Spektrum Logo
    • Channel 7
      • Up position: Motor Kill Switch Engaged
      • Down Position: Motor Kill Switch Disengaged (required to fly)

Since we have a manual kill switch on the radio there is no need for the “safety switch” on the Pixhawk GPS module as so it is disabled in our params file in favor of the kill switch.

9-flight-mode-config.png

If you have a Spektrum DX6e or DX8 radio with a clean acro-mode model you can accomplish the above channel mapping by loading the following config file

https://gitlab.com/voxl-public/px4-parameters/-/blob/master/params/spektrum_dx8_config.params

Still confirm the mapping in QGroundControl before flight!

Qualcomm Visual Inertial Odometry (QVIO) Setup

In order to run the QVIO on the rb5, you’ll need a series of dependencies

  • rb5-camera-server
  • rb5-qvio-server
  • rb5-mavlink-server
  • PX4

Once those are all installed you are ready to get started! Begin by opening 3 seperate terminals and SSH into RB5 on all 3. Begin by launching the camera server and selecting the downward facing tracking camera which has an ID of 2.

yocto:/home/root# rb5-camera-server -c 1

Afterwards launch the QVIO server on a separate terminal

yocto:/home/root# rb5-qvio-server

Finally launch the Mavlink router, on a separate terminal, which will send the QVIO data to PX4

yocto:/home/root# rb5-mavlink-router

Now qvio server is running and will display its results on the Mavlink router terminal. You can further validate that this data is being received by PX4 by validating VIO data on QGroundControl. This mentioned section is found under Pre-Flight Checks.


Preflight Checks

Now disconnect the 5V power supply or battery you used during the configuration steps. Move the Qualcomm Flight RB5 to a safe location where you wish to fly and connect a battery for flight while the Qualcomm Flight RB5 is on the ground.

The position and direction Qualcomm Flight RB5 powers up in will dictate the origin and orientation of the Visual Inertial Odometry (VIO) coordinate frame, also known as LOCAL_POSITION_NED in PX4 terminology. Qualcomm Flight RB5 will correct for any tilt due to non-level ground.

Attitude Check

Lift the vehicle and move it around, verify that the attitude reported in QGroundControl GUI looks and responds correctly. Try not to cover the tracking camera during this process.

qgc_attitude_gui.png

VIO Data Validation

In QGroundControl, go to Widgets > MAVLink Inspector. Find the LOCAL_POSITION_NED node in the list, and validate the data as follows.

The local coordinate frame in PX4 is right-handed, with X pointing forward out the drone, Y pointing to the right, and Z-axis down in units of meters. This is also known as FRD frame (forward, right, down).

It should show roughly “0 0 0” if you placed the Qualcomm Flight RB5 back down where it powered up.

voxl-vio-mavlink-inspector.png

  • Lift the vehicle straight up a meter, validating that the Z measurement gets more negative, roughly 1 meter
  • Walk forward 1 meter, validating that the X measurement gets more positive, roughly 1 meter
  • Walk to your right 1 meter, validating that the Y measurement gets more positive, roughly 1 meter
  • Place the vehicle back in the takeoff position, and validate that you are back to roughly “0 0 0

Arming Vehicle Without Props

With the propellers off arm the vehicle.

  • Set killswitch to off (“Aux2 Gov” switch down)
  • Left stick hold down and to the right

Validate the motor rotation is as expected and the vehicle responds to throttling up momentarily.

Disarm the vehicle:

  • Left stick hold down and to the left

Correct rotation direction of motors:

vehicle-overview-props-144-1024.jpg

Install Propellers

Install the propellers following this orientation. Each motor shaft has a white or black top to indicate which propeller goes where. Note that the clockwise spinning propellers are reverse threaded to prevent loosening during flight.

Ensure you tighten the propellers down tightly by hand or they may spin off when engaging the kill switch.

RB5-Prop-Locations


First Flights

First Flight (Manual Mode)

You should be comfortable flying before proceeding!

Arm the vehicle, now safely fly in manual mode! No instructions here, you should know what you are doing if you’re flying!

Land and disarm.

Second Flight (Position Mode)

The following will have you take off and fly in position flight mode. You should be comfortable flying before proceeding!

  • Check the VIO data by again looking at Widgets > MAVLink Inspector and ensure the LOCAL_POSITION_NED X Y and Z values look consistent with where the vehicle has landed.

  • On your RC Radio flip to position mode. If using the DX8 config described before, that will be accomplished by moving ghe flap_gyro switch to the middle position.

  • Validate that QGroundControl recognizes you are in Position mode

  • Arm the vehicle

  • To take off, move the throttle to 50% or the “hover” position then slowly increase throttle above %50 until the Qualcomm Flight RB5 takes off. Note that full throttle will raise the vehicle rapidly at 3 m/s (no throttle will drop at 1 m/s)

  • Having the sticks at ‘center’ position will hold the vehicle in place. Once the feedback controller settles, you should be able to leave the throttle stick in the middle position, and the Qualcomm Flight RB5 will hold still with no user input.

  • Land and disarm the vehicle