Skip to content
abearman edited this page Jun 2, 2016 · 3 revisions

Prerequisites

In order to use our software, you must have the following hardware:

  1. A 3DR Solo drone, with controller, propellers, and battery
  2. A Google Tango device
  3. Our custom gimbal to hold the Tango
  4. A machine on which to run the server
  5. An iPad for the user interface

Understanding Our System

There are four different components to our software:

  1. [The Drone](#The drone) (and its controller)
  2. [The Server](#The Server)
  3. [The Tango](#The Tango)
  4. [The UI Application](#The UI Application)

See each appropriate section of the guide for how to set up and use each component.

The Drone

Power on the drone. Power on the controller as well. Even though we won't be using the controller, it still provides the WiFi signal that the drone uses to connect with the server, the Tango, and the iPad app.

If flying outdoors, wait for the drone to acquire GPS. This will be indicated on the controller's screen, which will look something like this:

Ready to takeoff

That's it! The drone is ready to fly. See our 3DR Solo guide for more details on manually controlling the drone.

The Server

On the machine that you will run the server from, connect to the 3DR Solo's WiFi. It will be called "SoloLink_####", and the password is "sololink."

Navigate to the server/ directory in the root folder of the sparrow-dev dev branch.

Navigate to your computer's network settings (System Preferences > Network on Macs). Copy or note the IP Address that is listed; we will use it later. It should be the same every time when connected to the Solo's WiFi (though different for different computers).

Run the following command:

python server.py --host <IP_ADDRESS>

The server is now up and running.

The Tango

The Tango is used for one of two things. Either you can acquire the Tango's video feed (which works indoors or outdoors), OR use the Tango to do 3D mapping and localization (is limited to indoors).

For video feed from the Tango

Power on the Tango. Connect to the Solo's WiFi by navigating to Settings > WiFi and selecting the "SoloLink_####" option with password "sololink."

Go back to the home screen, and click on the "App Discovery" icon. Open the "C++ Video Overlay" app. Enable the Tango's video feed by selecting the button in the top left corner so it reads "On." In the pop-up box which appears, enter the IP address that the server is running on (see the [server section](#The Server) for more details).

You should now see a video feed on the Tango, and, if the server is running, you will see logging statements that indicate that image frames are being transmitted to the server.

For localization and mapping from the Tango

Power on the Tango. Connect to the Solo's WiFi by navigating to Settings > WiFi and selecting the "SoloLink_####" option with password "sololink."

Go back to the home screen, and click on the "App Discovery" icon. Open the "Java Quick Start" app. In the pop-up box which appears, enter the IP address that the server is running on (see the [server section](#The Server) for more details).

You should see an empty screen with (x, y, z) and (i, j, k, l) coordinates listed. These are the local coordinates calculated by the Tango. If you move the Tango around, these will update accordingly. If the server is running, you will see logging statements that indicate that Tango positions are being transmitted to the server.

The UI Application

Power on the iPad. Build and run the Sparrow app. You should see a screen that looks like this:

Click the green "Launch" button in the upper right corner to takeoff. Once the drone has finished taking off, all of the other command buttons will be enabled and the app will look like this:

Drone information

These UI elements provide the user with the drone's location (latitude, longitude, altitude), its video feed acquired from the Tango, and the list of commands entered.

Manual Controls

Altitude

Rotation

Lateral movement

Autonomous Controls

Waypoint

First, select the "Waypoint" button to be able to drop waypoints. Then, press and hold anywhere on the map to drop a waypoint. The drone will immediately navigate to this destination.

SAR Path

Select the "SAR Path" button. A drop-down will appear, listing the pre-loaded SAR paths:

Select one path. A preview of this path will appear on the map. Slide the "Step" size in the pop-up window that appears to adjust its size. Click "Confirm" to start the drone on this SAR path. To cancel, press "Cancel."

Drop Pin

Click the "Drop Pin" button to drop a pin on the drone's current location.

These pins will be summarized and saved once the drone is landed: