3DR Solo Integration Guide

From Swift Navigation Wiki
Jump to: navigation, search

Introduction

This guide presents a step-by-step tutorial for integrating the Piksi RTK GPS receiver as a secondary, high precision GPS unit aboard the 3DR Solo.

We recommend you use the standard Ublox module as the primary GPS and Piksi as the secondary GPS on your vehicle. This provides the highest reliability and safety. ArduPilot will automatically switch to the GPS with the most accurate solution. In Piksi’s case, it will switch to Piksi's solution once it has a float or integer fixed RTK solution.

IMPORTANT NOTE: The driver will NOT function if the base station Piksi does not send its own surveyed position.

Prerequisites

  1. Please first follow the Piksi User Getting Started Guide and read RTK Fundamentals before following this guide!
  2. Successfully complete a bench test of RTK Fixed positioning performance with two Piksis connected to your computer.

To acheive RTK position solutions, the vehicle's Piksi needs to receive GPS Observations from a ground station Piksi, and the ground station Piksi's location must be known as accurately as possible. There are two methods of getting ground station data to the Piksi on the Solo. First, a dedicated pair of radios can be used to send this data. Radios supplied in a Piksi RTK kit will work perfectly. The second method is to send data over a UDP bridge on the Solo Link.

Dedicated Radio Setup

One Time Hardware Setup

Vehicle

Install Piksi on the Solo with the following important factors in mind:

  1. Piksi should be installed on the bottom of the Solo
  2. Piksi should be installed using foam tape to prevent vibrations effecting it

Install GPS antenna and Ground plate with the following important factors in mind:

  1. Install the Antenna on top of the Solo with a clear sky view
  2. Try to mount antenna away from the stock GPS which is housed behind the battery
  3. Connect antenna's sma port to the sma jack on the Piksi

Install Piksi radio with the following important factors in mind ** Not needed if sending SBP data through SoloLink:

  1. Install the radio as far away from Piksi as possible
  2. Position the radio antenna so that it points down (keep it away from the propellers)
  3. Connect the radio to UartA on Piksi

Connect Piksi to Solo with the following important factors in mind:

Piksi ( UartB) Accessory Port
GND GND
RX SER2_TX
TX SER2_RX
VCC +5V
  1. You must create a wire to connect Piksi's UartB port to Serial 2 port on Solo.
    • If you have an accessory bay, then you can connect straight to the board using o.1mm connectors. Solo accessory bay.jpg
    • If you don't own a solo accessory bay, then you will need to buy an adaptor and solder straight to it Solo pin connection.jpg
    • Detailed information about the connector type, pin layout, and connection design can be found here

Base

In order to achieve RTK position solutions, the vehicle's Piksi needs to receive information from a stationary Piksi. The stationary Piksi relays observations over radio to the vehicle's Piksi.

  1. Connect the ground station Piksi to the ground station computer via the micro USB connection.
  2. Use the provided radio cable to connect UART A from the Piksi to the radio.
  3. Mount an antenna for the Piksi acting as a ground station.
    • It is important that ground station antenna have clear sky view.
    • This antenna should have a ground plane.
    • For best results mount this antenna on a pole or tripod at least 6ft from the ground and away from any obstacles.

Solo radio bottom.jpgSolo radio side.jpgSolo radio top.jpg


One Time Software Setup

Vehicle (Solo)

The solo needs to be configured to read the data from Piksi on Serial 2. The following instructions show how to talk to the solo and make changes to the pixhawk paramaters.

  1. Power up the solo and the controller. Connect to the wifi hotspot created by the solo controller. (The default password is "sololink")
  2. Once connected, access the pixhawk on UDP port 0.0.0.0:14500 using the GCS of your choice
  3. Change the following parameters on the pixhawk on Solo.
Parameter Value
GPS_TYPE 1
GPS_TYPE2 1
SERIAL2_BAUD 115
SERIAL2_PROTOCOL 5
SERIAL3_BAUD 38
SERIAL3_PROTOCOL 5
EKF_POSNE_NOISE 0.1

Vehicle (Piksi)

The follow changes need to be made to the default Piksi settings.

Section Setting Value Notes
UART B sbp message mask 65280
UART A baudrate 57600
solution soln freq 5 (5 solutions per second)
solution output every n obs 1
telemetry configuration string AT&F,ATS1=57,ATS2=64,ATS3=50,ATS5=0,AT&W,ATZ Sets the NetID of radio to 50 (from default of 25)*

Base

The follow changes need to be made to the default Piksi settings.

Section Setting Value Notes
Surveyed Position latitude <determine this value> This value must be as accurate as possible
Surveyed Position longitude <determine this value> This value must be as accurate as possible
Surveyed Position altitude <determine this value> This value must be as accurate as possible
Surveyed Position Broadcast True
solution soln freq 5hz
solution output every n obs 1
sbp obs message max size 102
UART A baudrate 57600
telemetry configuration string AT&F,ATS1=57,ATS2=64,ATS3=50,ATS5=0,AT&W,ATZ Sets the NetID of radio to 50 (from default of 25)*

Sololink SBP Relay Setup (UDP)

This setup allows the SBP data to relay through the solo-link, thus eliminating the need of a radio. Follow the setup instructions in the #Dedicated Radio Setup section first. Unplug and remove the radio on the Solo.

Setup Overview

  1. Use the Piksi console to forward observations from your ground station Piksi to your ground control station software (Mission Planner or MAVProxy)
  2. Use your ground control station to inject GPS messages to your vehicle
  3. Wait until your vehicle's Piksi reaches RTK lock: your ground station will report a GPS Fix of type "DGPS" for Float and "RTK" for integer fix.
  4. Fly!

Starting Ground Station Piksi

You only need to change anything on the ground station Piksi if you have moved the antenna since the last flight. If so, follow #Piksi (ground station) Setup.

  1. Connect your ground station Piksi to its ground station antenna.
  2. Plug the ground station Piksi into your ground station computer using a microUSB connector.
  3. Open the Piksi Console
    • Navigate to the "Advanced":"SBP Relay" tab.
    • Set the "Messages to Broadcast" to "Observations"
    • Set the IP address to "127.0.0.1" (this is the default value)
    • Set the Port to 13320 (this is the default value)
    • Click "Start"
  4. The console is now forwarding observations over UDP which the ground station can inject onto the main telemetry stream. Keep the console running for the duration of your flight!
    • Note, there is alternatively a command line tool to broadcast SBP over UDP which is part of the Piksi_tools repository. Please see [the file on github] for more info.

PiksiConsoleSBPRelay.png

Connecting to the GCS

Connect to the wifi link of the solo. The default password is "sololink". After that, we need to use a GCS to start injecting the base Piksi data to the solo network.

MAVProxy (Windows, Linux and OS X)

  1. Run MAVProxy and connect to the flight controller
    • In terminal this command will connect to the solo "mavproxy.py --master"
  2. Start DGPS module
    • use this command to start injecting the data into the serial stream "module load DGPS"

Mission Planner (Windows only)

It is necessary to configure your ground control software to receive packets from Piksi Console and inject into the serial stream. Mission Planner has this capability with the instructions below provided it is version 1.3.29 or later.

  1. Start Mission Planner
  2. Connect to your vehicle as normal.
  3. Hit Ctrl-F to access the experimental mission planner features:
    MP experimental mission planner.png
  4. Click the Inject GPS button
    Gps inject.png
  5. Select "UDP Host" in the upper drop-down
  6. Click Start
  7. In the ensuing pop-up window, choose the default port (13320)
  8. Listen port.png
  9. You should see the "waiting for UDP packet" message briefly. This window will go away if the Piksi console UDP client is sending UDP packets.

    Using the Piksi-Solo System for Accurate Flight

    Power the base Piksi using a laptop or other source of power. Power the copter with the solo battery.

    Expected Vehicle Behavior

    Confirm that red light is blinking on vehicle Piksi. It shows that GPS observations are being received from the ground station Piksi !

    • The vehicle will use ublox until Piksi gets a float/fixed RTK fix
    • GPS STATUS2 will report DGPS or RTK fix (level 4, 5) in your GCS when Piksi obtains a solution.
    • Initially the float filter jumps around a lot, this can trigger many gps glitch messages in arducopter. We will be working to improve this.
    • Once in RTK Fixed, take off!