SwiftNav Rover Setup

Introduction

The SwiftNav Piksi is a low cost RTK (real-time kinematic) GPS that can archive cm level accuracy in the right conditions. There are several different ways to connect to your Piksi board, the main two being serial and ethernet. We recommend connecting via ethernet cable when possible. This is becuase if you’re using RTK GPS you are probably developing an outdoor robot, and its not very comfortable to debug outside. This tutorial will show you how to route the GPS information from the robot to a development computer that can be inside (this even works if the robot and the development computer are on different networks). Routing the data is much easier to do with ethernet data than it is with serial data.

Require Materials

  • SwiftNav piksi (orange)
  • Piksi development board (blue)
  • Serial cable
  • Ethernet cable
  • Robot computer (running ubuntu)
  • Development computer (running ubuntu)

To begin we will assume both the robot computer and the development computer are on the same wifi, although later on we will describe how to setup a VPN so that they can be on different networks. Below is a chart of the xample IP address’s and usernames that will be used throughout the tutorial.

Computer Wifi IP Address Ethernet IP Address Username
Robot computer 192.168.1.5 not set yet my_robot
Development computer 192.168.1.6 not set yet my_laptop

Note: You can check your IP address using the ‘ifconfig’ command
You can check you username by using the ‘user’ command

Step 0 - Download SwiftNAv console

If you haven’t already go to the SwiftNav site and download the latest console. https://support.swiftnav.com/customer/en/portal/articles/2492795-swift-console

Step 1 - Set the Piksi’s IP address

Using the serial cable provided connect to your Piksi. Once connected navigate to the settings tab and under the ethernet section change your setting to match the below table.

Ethernet  
ip config mode static
ip address 1.2.3.20
netmask 255.255.255.0
gateway 1.2.3.1

Hit ‘save to device’ and wait a few seconds for the changes to be written

Step 2 - Connect to Piksi using Ethernet Cable

Disconnect the serial cable and connect to the Piksi using an ethernet cable. Set the ethernet IP address of your development computers ethernet interface to be 1.2.3.10

    sudo iface etho 1.2.3.10

Try to ping 1.2.3.20. If successful open up the console and connect using 1.2.3.20 and port 55555. If you see the same data as step 1 everything is working so far and you can go on to step 3.

Step 3 - Connect Piksi to the Robot Computer

Disconnect the Piksi from the development computer and connect it to the robot computer using the ethernet cable. Now SSH into your robot computer

    ssh my_robot@192.168.1.5

set the ethernet IP address to 1.2.3.10

    sudo iface etho 1.2.3.10

Try pinging your 1.2.3.10. If successful, run the following command to setup a reverse ssh tunnel that will forward the GPS data to your development computer

    ssh -R 55555:1.2.3.10:55555 my_laptop@192.168.1.6

If successful it should look like youu SSH’ed back into your development computer

Step 4 - View the data with swiftnav console

Next open the swiftNav console using a different terminal. For IP address put “localhost” and for port put “55555”. Hopefully you should now see all your GPS data.

Step 5 - (Optional) Setup VPN

Right now you can view GPS data with another computer, but you computers have to be on the same network which isn’t very useful. To solve this add both computers to a VPN using OpenVPN or Tinc VPN. Here is a very nice tutorial on how to setup a Tinc VPN https://smartystreets.com/blog/2015/10/how-to-setup-a-tinc-vpn

Step 6 - (Optional) Move robot to cell network

To do truly remote monitoring of an outdoor robot its very nice to have your robot using cellular data. You can buy a netgear cell modem for about $100 https://www.amazon.com/NETGEAR-LTE-Modem-Broadband-Connection/dp/B01N5ASNTE/ref=sr_1_1?ie=UTF8&qid=1529813520&sr=8-1&keywords=netgear+cell+modem

Just plug in an activated SIM card into your netgear modem and then plug your robot, your Piksi, and the netgear modem all into an ethernet switch. Login to the modem and set its IP address to be static and 1.2.3.1 and the subnet to be 255.255.255.0.

From your robot computer test if you can ping www.google.com and also if you can ping 1.2.3.20. If you can do both you should be able to run the reverse ssh tunnel now to monitor your robots GPS data anywhere within cell coverage! Pretty neat aye :)

This site was built using GitHub Pages.