Measurement system
Block diagram
The system is composed by two nodes (the ground node and the air/drone node) that communicate with each other through IEEE 802.11 ac.
Each node contains a set of devices connected to it, and managed by a host computer. A diagram of the devices connected to each node is shown in the following Figure.
The specific devices used for each of the components in the previous Figure are shown in the next Table.
| Type device | Device used |
|---|---|
| Host computer (ground) | Raspberry Pi 4B |
| Host computer (air) | DJI Manifold 2-C |
| Gimbal | DJI Ronin RS2 |
| PCAN "bridge" | DJI Ronin Focus Wheel + PEAK system PCAN-USB |
| GPS | Septentrio mosaic-go heading evaluation kit |
| RFSoC board | Xilinx RFSoC 2 x 2 Kit |
| WiFi Txr (ground) | Raspberry Pi 4B integrated IEEE 802.11ac |
| WiFi Txr (air) | TP Link Archer T4U |
| RF System | Sivers EVK06002 + Sivers TRX BF/01 RFIC |
In addition to the mentioned devices, we use a router (TP-Link AX1500 or RUTX11) as an access point for both nodes. The router is already configured to assign specific static addresses to each node.
Software
Files
The main files where most of the system functionality is implemented are:
-
a2gmeasurements.py: this file has all the functionality related with operating, controlling and collecting information from the devices. It comprises the classesGimbalRS2,GpsSignaling,myAnritsuSpectrumAnalyzer,HelperA2GMeasurements,GimbalGremsyH16,SBUSEncoderandRFSoCRemoteControlFromHostamong others. See the available API in API Reference Gimbal, API Reference GPS, API Reference RFSoC, API Reference Communication. -
GUI_A2G_MEAS.py: this file has all the functionality related with the Graphical User Interface (GUI). It calls methods froma2gmeasurements.pyto manipulate the devices by using the GUI. -
drone_main.py: this is a script that setup the devices and the wireless connection at the air node. -
a2gUtils.py: this file contains few auxiliary (general purpose) methods that are used by other files previously mentioned. It is required for both nodes. If the developer wants to follow the file structure already used, they can extend this file by adding any auxiliary or general purpose functionality that is not specifically related to the devices used, i.e. some type of mathematical computation, memory management, etc. -
docs/: this folder contains the documentation for this project.
The files a2gmeasurements.py and a2gUtils.py must be placed in the working directories of each node's host computer.
The file GUI_A2G_MEAS.py is only required to be placed in the working directory of the ground node's host computer.
The file drone_main.py is only required to be placed in the working directory of the air node's host computer.
GimbalRS2 to host connection
Connect the PCAN-USB bridge to the DJI Ronin Focus Wheel such that the GND signal of the Focus Wheel is connected to the GND signal of the PCAN-USB bridge, the CANL signal of the focus wheel is connected to the CANL signal of the PCAN-USB bridge, and the CANH signal of the focus wheel is connected to the CANH signal of the PCAN-USB bridge.
The Figures below show the pin assignment for the Focus Wheel and for the PCAN-USB bridge.
GPS to host connection
Connect the USB port from the Septentrio gps to any USB port of the host computer.
Note
DO NOT** use the port named REC-USB of the Septentrio gps.
RFSoC to host connection
Connect any of the RFSoC Ethernet ports to any of the Ethernet ports of the host computer.
Since each node uses both the Ethernet port (to communicate with each RFSoC) and the WiFi (to communicate with the other node), the host computer should be configured so that it supports both types of communication simultaneously.
Additionally, we configure the Ethernet network (composed by a host computer and an RFSoC) to have static IP addresses different from the WiFi network.
Windows
Note
The following instructions have already been set up for the Manifold.
In Windows, follow these steps to make the host computer communicate through both Ethernet and WiFi:
- In the Control Panel open the
Network and Sharing Center - Click on
Change adapter settings - Right-click on the Ethernet adpater icon and choose
Properties. (You have to repeat this process for the WiFi adapter as well) - Click on the
Configurebutton, under theNetworktab - Click on the
Advancedtab - From the left choices, select
Priority and VLAN - From the right drop-down menu, select
Priority and VLAN disabled - Press
Ok
These additional steps are required to finish the configuration:
- Open a PowerShell window
- Type
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 - Type
Start-Service sshd - Type
Get-Service sshd - Type
Set-Service -Name sshd -StartupType 'Automatic'
RaspbianOS
Note
The following instructions have already been set up for the Raspberry Pi 4B 64 bits.
Follow these steps:
- Open the
/etc/dhcpd.conffile - Go to the end of the file
- In a newline write
interface eth0 - In a newline write
static ip_address=10.1.1.50/24 - In a newline write
static routers=10.1.1.1 - In a newline write
static domain_name_servers=10.1.1.1
SSH host computer and RFSOC
To check that the Ethernet network between the host computer and its associated RFSoC is working properly, we can try to establish an SSH connection. To do so, open a terminal or command line in the host computer. There type the following command:
where ipaddress should be replaced with 10.1.1.30 if the host computer is in the ground node (Raspberry Pi), and ipaddress should be replaced with 10.1.1.40 if the host computer is in the drone node (Manifold).
The password required for the SSH connection is:
Enter password
xilinx
This will allow you to use the command line of the RFSoC from the host computer.
Host WiFi to router connection
In order to have a communication between the two nodes, each host computer (Manifold, Raspberry) will connect to the same router wirelessly. The router will act as a centralized device automatically handling any message exchange between both hosts, as illustrated below:
At the moment this documentation was written, the following router settings are available:
| Property | TP-LINK | RUTX11 |
|---|---|---|
| URL (router configuration) | 192.168.0.1 |
192.168.0.10 |
| Username (router configuration) | admin | |
| Password (router configuration) | jvvtt2937 | Jvvtt2937 |
| SSID (5GHz) | TP-Link_F2EC_5G | RUT_5A15_5G |
| Password (SSID) | 00700122 | n1GYa3u7 |
To guarantee that the connection between each of the host computers (Manifold and Raspberry or their replacements) to the router is done through the 5GHz network, only the 5GHz band is enabled in the router configuration website.
The following pictures show how to disable the 2GHz network for the routers available at the moment this documentation was written:
In order to automatize the connections between both host computers, the chosen router has been configured so that the IP addressing of the DHCP server assigns always the same IP address to the host computers (Manifold and Raspberry) identified by their MAC addresses.
The address assignment by the DHCP server is shown in the following table:
| MAC Address | Static IP address asigned |
|---|---|
| 34-60-F9-76-EB-B6 (Manifold) | 192.168.0.157 |
| E4-5F-01-A1-1D-E8 (Raspberry Pi 4B 64bits) | 192.168.0.124 |
Such address reservation is configured in the available routers as shown below:
Multiple routers at the same time
Both routers have configured to have the same address range (192.168.0.100 - 192.168.0.249), so if for any reason they have to be used simultaneously, the address range should be exclusive for each router.