Visible to the public 2020 Benchmark Proposal: VerticalCAS by Elena BotoevaConflict Detection Enabled

3 replies [Last post]
ttj
ttj's picture
Offline
Established Community Member
Joined: Aug 15 2012

The scenario involves two aircraft, the ownship and the intruder, where
the ownship is equipped with a collision avoidance system referred to as
VerticalCAS (Julian and Kochenderfer 2019,
https://arxiv.org/abs/1903.00520). The intruder is assumed to follow a
constant horizontal trajectory. VerticalCAS once every second issues
vertical climbrate advisories to the ownship pilot to avoid a near
mid-air collision (NMAC), a region where the ownship and intruder are
separated by less than 100ft vertically and 500ft horizontally, where
the input to VerticalCAS is the current geometry of the system (intruder
altitude relative to ownship, ownship vertical climbrate and time to
loss of horizontal separation) and the previous advisory. There are 9
advisories and each of them instructs the pilot to accelerate until the
vertical climbrate of the ownship complies with the advisory. The pilot
can then choose any acceleration from a given (possibly degenerate)
interval, where we discretised the interval into 3 equally spaced
values. Given the current system state, the new advisory and the
acceleration, the new state of the system can be computed following the
laws of physics (linear dynamics). The safety specifications considered
are "in all possible evolutions of the system, after k time steps, the
vertical separation is more than 100 ft in absolute value" for a given
set of initial states. Note that VerticalCAS is implemented as 9 neural
networks of the architecture 3-20-20-20-20-20-9, one for each advisory,
where the network to be used is chosen based on the previous advisory.

We considered it in our AAMAS 2020 paper
http://ifaamas.org/Proceedings/aamas2020/pdfs/p25.pdf, the
implementation of the scenario together with the nodels in Keras format
can be found here
https://vas.doc.ic.ac.uk/software/neural/nanesverify-download.tgz. If
the link doesn't work, the package NANESVerify with all relevant files
can be found at https://vas.doc.ic.ac.uk/software/neural/.

stanleybak
stanleybak's picture
Offline
Established Community Member
Joined: Apr 29 2015
onnx

Are these available in ONNX? Is there a concrete simulation available to make sure we're executing these correctly (Is there scaling?)

ebotoeva
ebotoeva's picture
Offline
Established Community Member
Joined: May 19 2020
simulations

There is a script vcas-simulations.py in the folder resources/vcas/models/ that simulates executions from an initial state. It randomly chooses one of the three available accelerations.

manzand
manzand's picture
Offline
Established Community Member
Joined: Apr 24 2019
Keras to ONNX

You can use this library to convert keras models to onnx: https://github.com/onnx/keras-onnx

You can also use nnvmt (https://github.com/verivital/nnvmt) , which has this parser integrated as well. Simply run one command like
>> python nnvmt.py -i code/resources/vcas/models/name.h5 -o outputPath -t keras -f onnx

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.