Quick Start
Previous checks
WiFi connection
If WiFi is going to be used, each host computer has to be connected to the chosen router. The names of the WiFi networks are shown in WiFi Networks for each of the available routers.
Internet connection is NOT required
The router doesn't need to be connected to the internet, since it will only act as passing the messages between the two nodes. None of the nodes uses the internet for any task.
Make sure that each node is connected to the wifi network of the chosen router.
In Windows when the connection is established, the status "Connected, No Internet" will appear under the connections menu.
In RaspbianOS when the connection is established, the wireless symbol in the top bar won't be blinking and will be bold.
RFSoC server running
Before using the GUI, the RFSoC server has to be running on each RFSoC. To check if that is the case, follow these steps:
- Open a terminal in the Raspberry Pi, or open a Command Prompt in Windows (you will have to do it for both host computers: Windows Manifold and RaspbianOS Raspberry)
- Write
ssh xilinx@10.1.1.30(Raspberry) orssh xilinx@10.1.1.40(Manifold) - Enter the password:
xilinx - Write
ps aux | grep mmwsdr - From the appearing results, there has to be 2 files listed:
server.pyandrun.sh. If non of these files appear or there is only one, continue to the next step; otherwise the check is fine (no need to proceed to the next step) and the RFSoC server is running in the host computer that is being checked. - Set the current directory to the
mmwsdrfolder. - Run the
run.shfile by writingsudo ./run.sh. If any password is required, the password isxilinx.
Activate python environment
The python environment having all the required packages to run the software has to be activated.
Activating the python environment in the Raspberry depends on how do you plan to execute the software. There are two ways:
Using the Command Prompt:
- Open a new terminal window
- Type
conda activate groundnode. If typed correctly, the environment will change from(base)to(groundnode)in the terminal window
Using Visual Studio Code (recommended):
- Open Visual Studio Code
- By default it has been setup to use the correct python environment, but (if needed) to set it up, press the highlighted section of the bottom bar:
- From the options that appear, choose the one that has the string
groundnode(or the name of the new/other environment you have created) on it
In the Manifold, follow these steps:
- Open a new Anaconda Prompt
- Write
conda activate uavCom
Run the software
For the Manifold:
- In the terminal where you have previously activated the python environment, set the current directory to the
a2gMeasurementsfolder - Write
python drone_main.py - When asked
GND IP addr is 192.168.0.124?choose with the arrow keysYesif that is the case orNootherwise, and pressENTER. If you chooseNo, you will have to enter the ground IP address in the correct format (i.e.[0-255].[0-255].[0-255].[0-255]) - When asked
GPS at DRONE is going to be used?choose accordingly and pressENTER. IfYes, then enter the heading offset of the baseline between the two antennas in the proper format (i.e.[0-360]). If there is no offset or only one antenna is used, write0and pressENTER - When asked
Gimbal at DRONE is going to be used?choose accordingly and pressENTER - When asked
RFSoC at DRONE is going to be used?choose accordingly but DO NOT pressENTERyet. First you need to run the software on the ground node (Raspberry).
When should I press enter?
Down below in this guide, it will be highlighted when you can press ENTER.
For the Raspberry:
Choose how to execute the software: through the command line or by using a python IDE like Visual Studio Code (recommended as from there you will be able to modify, debug, source control, and run the software).
Ananconda Prompt:
- In the terminal where you have previously activated the python environment, set the current directory to the
a2gMeasurementsfolder - Type
python GUI_A2G_MEAS.py
Visual Studio Code:
- Make sure the working directory on the left panel is
A2GMEASUREMENTSor open it by clicking onFile>Open Folderand then choose thea2gMeasurementsfolder from the browser window - Click on
Run>Run Without Debugging
Use the GUI: Setup window
- After opening the A2GMeasurements GUI, the first window that will appear is shown in the following Figure:
- Press the
Setupmenu:
- Then press
Setup devices and more:
- After that, a Setup window as shown in the following Figure will appear (for more information about the window options, visit Setup window):
- Choose the drone gimbal from the available options:
NOTE: the Gremsy H16 gimbal option is available but the behaviour of the gimbal is not optimal.
- Choose along which of its own axis, drone's gimbal should follow ground node movement:
- Choose along which of its own axis, ground's gimbal should follow drone node movement:
- Choose ground node mobility:
- If ground node's mobility was
Static, the following text boxes will become active. Enter there the coordinates (in decimal degrees) of the ground node and after that pressAdd coordinate:
- Choose drone node mobility:
- If drone node's mobility was
Static, the following text boxes will become active. Enter there the coordinates (in decimal degrees) of the drone's node and after that pressAdd coordinate:
- If there is mismatch between the front of the ground gimbal and the GPS attitude baseline (see section Components), enter in the following text box the offset (in degrees). The offset angle is measured as described in the API html in
GpsSignaling()andGpsSignaling.setHeadingOffset():
- Finally, press
OK:
- After pressing
OK, the main window of the A2GMeasurements app will appear.
Setup window
The parameters configured in the Setup window (see Setup Window) are not modifiable until the user presses Disconnect drone. After that, the menu Setup devices and more will be available again.
Use the GUI: Main window
- Once the main window has appeared, press
Check:
You will have to wait until the software check if the devices shown in the panel are connected.
Check
If the ping and SSH requests to the drone are answered, the Connect drone button will become available.
- Press
Connect droneand after doing that:
NOW IS THE TIME WHEN YOU CAN PRESS ENTER IN THE COMMAND PROMPT OF THE MANIFOLD (Last step)