UAV Challenge Medical Express Extension Autonomy Activity
Teams completing in the Autonomy Extension Challenge of the UAV Challenge Medical Express will be required to keep clear of Dynamic No-Fly Zones (DNFZ) in addition to the Static No-Fly Zones (SNFZ) stipulated for the standard Medical Express activity.
Within the Medical Express area of operations (AO), dynamic entities (virtually representing other airspace users) will operate at the same time that teams are navigating through the prescribed AO. These dynamic entities will broadcast their track (location, heading and speed) to the competing teams as Surveillance Data Processing System (SDPS) track messages via a pseudo radar server. The server will broadcast the DNFZ track data as ASTERIX compliant message streams, which teams will need to monitor to know when and where the DNFZs spawn, fly and terminate.
Under the Medical Express rules, teams are required to regularly broadcast the location of their aircraft so that its progress can be monitored and infringements of no-fly zones can be identified. This information will also be used to manage DNFZ entities and the interaction of the team’s aircraft with these.
Characteristics of a DNFZ
A DNFZ will generally follow a relatively predictable track; however, their track may change as a result of the actions of the team’s aircraft. In this case the DNFZ may dynamically interact with the team’s aircraft. Teams will need to remain clear of all DNFZs, which most likely will require dynamic re-tasking of the aircraft’s flight goals. A DNFZ may be present prior to the start of each flight. They may also spawn during the period that the team’s aircraft is flying. A DNFZ may terminate at any time during the competition period.
Note: Further details of the DNFZ are available in Appendix C of Version 3 of the Medical Express rules.
DNFZ Track Server
The tracks of the DNFZ entities will be broadcast as ASTERIX compliant message streams via an idealised Radar server at a rate of 1 Hz. The data items included in the ASTERIX messages are:
- I062/010 Data Source Identifier (Numeric)
- I062/040 Track Number (Numeric)
- I062/070 Time of Track Information (Since Midnight UTC)
- I062/080 Track Status
- I062/105 Calculated Track Position (WGS-84)
- I062/130 Calculated Track Geometric Altitude (ft)
- I062/220 Calculated Rate of Climb/Descent (ft/min)
The DNFZ track server will be hosted by the Medical Express Technical Committee. Teams will need to connect to the server to receive the ASTERIX track messages. A client application will be required to read and interpret the ASTERIX track messages. The choice of the client application is at the discretion of each team.
A copy of the DNFZ track server will be provided to permit teams to test and verify their respect procedures for receiving and processing Asterix track messages. Teams will receive an email with the link to download the zip file. Versions of the server are available for host computers running Windows or Linux – Ubuntu 16.04 operating systems (Ubuntu 14.04 can be provided if necessary).
The track server is contained in a single archive file: VirtualEntityServer.zip. This expands to:
- Ubuntu 16.04
- VirtualEntityServer_cli
- PreRecordedEntities
- Track_1.fpr
- Windows
- Qt5Core.dll
- Qt5Network.dll
- VirtualEntityServer_cli.exe
- InputFile.ini
- README.txt
- RELEASE.txt
Setting up the DNFZ track server
Use the following instructions to set up the DFNZ track server on a host computer:
Windows OS:
- The following software is required for setting up and running the track server:
Cygwin – available at https://cygwin.com/install.html - WinZip, 7zip – or another tool capable of extracting *.zip files
To run the DNFZ track server:
1. Using WinZip or 7zip, extract VirtualEntityServer.zip to the current directory
2. Copy the PreRecordedEntities directory and the InputFile.ini file into the Windows directory under the VirtualEntityServer directory.
3. Open the Cygwin terminal:
4. Navigate to the Windows directory:
$ cd /cygdrive/<drive>/<folder location>/VirtualEntityServer/Windows
5. Run the command to start the track server:
$ ./VirtualEntityServer_cli.exe InputFile.ini, or
$ ./VirtualEntityServer_cli.exe –o output.log InputFile.ini
The InputFile.ini file contains parameter data for initialising the server, while the output.log file stores log messages.
6. The DNFZ entity server is now running and broadcasting messages utilising data stored in the track_1.fpr file included in the PreRecordedEntities directory.
7. More information on track server can be found in the included README.txt file.
Linux – Ubuntu OS:
Note: Requires the qt5.10.0 libraries to be installed.
To run the DNFZ track server:
1. Open a terminal window and navigate to the directory containing the VirtualEntityServer archive file
2. Using unzip extract VirtualEntityServer.zip to the current directory
> unzip ./VirtualEntityServer.zip
3. Copy the PreRecordedEntities directory and the InputFile.ini file into the Linux directory under the VirtualEntityServer directory.
> cp –r PreRecordedEntities ./Ubuntu 16.04
> cp InputFile.ini ./Ubuntu 16.04
4. Navigate to the Linux directory:
> cd ./ Ubuntu 16.04
5. Run the command to start the track server:
> ./VirtualEntityServer_cli InputFile.ini, or
> ./VirtualEntityServer_cli –o output.log InputFile.ini
The InputFile.ini file contains parameter data for initialising the server, while the output.log file stores log messages.
6. The DNFZ entity server is now running and broadcasting messages utilising data stored in the track_1.fpr file included in the PreRecordedEntities directory.
7. More information on track server can be found in the included README.txt file.
Setting up a ASTERIX client
Use the following instructions to set up an Asterix client computer. Note: these commands may differ for different ASTERIX client applications:
Windows OS:
There are a number of client applications available for reading and verifying ASTERIX compliant messages, including:
1. Asterix tool kit: http://asterixtk.com/
2. Croatia Control Ltd Asterix Utility: https://github.com/CroatiaControlLtd/asterix
3. AsterixInspector: http://asterix.sourceforge.net/
The following example uses the Asterix Tool Kit available at http://www.asterixtk.com/ – this being the free limited version.
1. Open Asterix protocol analyser and select Record. This brings up the new window.
2. Select I/O and make sure UDP multicast is selected for the Input. Enter a file path for recording log files if desired.
3. Select ASTX to display a text version of the data, or alternative HEX, ASCII or AFTN. Select START to commence recording data.
4. With the DNFZ track server running the Data window will be populated and updated. Select STOP to terminate the recording.
5. To review the recorded data load the file *.rex from the Recording Files directory. A similar screen to that below should be displayed.
Linux – Ubuntu OS:
There are a number of client applications available for reading and verifying ATSERIX compliant messages, including:
1. Asterix Inspector: http://asterix.sourceforge.net/
2. Croatia Control Ltd Asterix Utility: https://github.com/CroatiaControlLtd/asterix
The following example uses: WORK IN PROGRESS (CHECK BACK SOON)
Sample data file
A file containing sample track data is included in the track_1.fpr file. The file format is as follows:
a. The first line contains names for each of the columns of data used when generating the ASTERIX messages.
b. The second line defines the units for each for the columns of data.
c. The remaining lines contain the track data for the entity.
This format can be used to create other virtual objects.
Note about System Settings, Decimal Separator
The server uses the system settings of the computer that it is running and this means that if your language settings use a comma in decimal numbers (e.g. 3,45) then you may get errors as the server will parse the numbers from the file as integers. The only fix for this at this time is to change your system setting to a language that uses the . in decimal numbers (e.g. 3.45).
Frequently Asked Questions
Q1: How close can Dynamic NFZs be to Competition waypoints?
A1: DNFZ – No limit – DNFZ can pass over the top of waypoints
Q2: Do dynamic no-fly zones have only 4 vertices?
A2: No – they are shapes
Q3: Do dynamic no-fly zones have a constant velocity? If it changes will it be instantaneous or reflect an acceleration?
A3: No – they are flight dynamics driven (either through recording or simulation). Accelerations as defined by the platform type.
Q4: Can dynamic no-fly zones spontaneously appear? If so how close to the vehicle may they appear? Will they announce their arrival before they appear?
A4: Yes
Entities will appear in the Asterix server as they cross into the observed area.
– If the entity represents a weather event it will spawn in-situ
– The entities should spawn o closer than 500 metres from the aircraft based on knowledge of the aircraft’s location at the time of spawning. This distance may be reduced if the aircraft’s location is not made available due to communication link or other issues. Thus if the aircraft is flying at 25 m.s-1 and the last known position is older than 10 seconds then the spawn location maybe closer than 250 m.
Q5: Can no-fly zones appear in the area the vehicle will have to search for the target? How close to the target can no-fly zones appear?
A5: Yes, directly overhead. But we’ll make sure they don’t hover there.
Q6: Can no-fly zones appear over the starting area or target, delaying take off or forcing rapid landing?
A6: Yes, but we’ll make sure they don’t hover