<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>AUTO-DISCERN: Autonomous Driving Using Common Sense Reasoning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Suraj Kothawade</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vinaya Khandelwal</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kinjal Basu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Huaduo Wang</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gopal Gupta</string-name>
          <email>guptag@utdallas.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science Department, The University of Texas at Dallas</institution>
          ,
          <addr-line>Richardson</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <volume>51</volume>
      <fpage>64</fpage>
      <lpage>68</lpage>
      <abstract>
        <p>Driving an automobile involves the tasks of observing surroundings, then making a driving decision based on these observations (steer, brake, coast, etc.). In autonomous driving, all these tasks have to be automated. Autonomous driving technology thus far has relied primarily on machine learning techniques. We argue that appropriate technology should be used for the appropriate task. That is, while machine learning technology is good for observing and automatically understanding the surroundings of an automobile, driving decisions are better automated via commonsense reasoning rather than machine learning. In this paper, we discuss (i) how commonsense reasoning can be automated using answer set programming (ASP) and the goal-directed s(CASP) ASP system, and (ii) develop the AUTO-DISCERN 1 system using this technology for automating decision-making in driving. The goal of our research, described in this paper, is to develop an autonomous driving system that works by simulating the mind of a human driver. Since driving decisions are based on human-style reasoning, they are explainable, their ethics can be ensured, and they will always be correct, provided the system modeling and system inputs are correct.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Autonomous Vehicles (AVs) have been sought for a long
time. With the availability of cheaper hardware (sensors,
cameras, LIDAR) and the advent of advanced software
technology (AI, Machine/Deep learning (ML/DL), Computer
Vision) over the last decades, rapid advancements have been
made in AV technology. However, no car has yet achieved
full automation or Society of Automation Engineers (SAE)
Level 5
        <xref ref-type="bibr" rid="ref5">(Blanco May, 2021)</xref>
        . We believe that AV technology
advancement has slowed due to over-reliance on ML/DL for
automating all aspects of AVs. While ML technologies are
important for developing AV technology, we believe that we
can achieve better success by closely emulating how humans
drive a car. Once a human driver has viewed their
surrounding and processed a scene in their mind, they use their
commonsense knowledge and commonsense reasoning to make
driving decisions (e.g., if the traffic light is red, apply brakes
Copyright © 2021, for this paper by its authors. Use permitted
under Creative Commons License Attribution 4.0 International (CC
BY 4.0).
      </p>
      <p>1AUTO-DISCERN : AUTOnomous DrivIng uSing Common
sEnse ReasoniNg
and stop). Our goal in this paper is to develop an AV
system that emulates the mind of a human: we will use ML/DL
technology for tasks for which humans use pattern matching
(vision and scene understanding) and automated
commonsense reasoning for tasks for which humans perform mental
reasoning (driving decision-making)(see Fig. 1).</p>
      <p>
        To automate commonsense reasoning, we use ASP
        <xref ref-type="bibr" rid="ref11 ref7">(Gelfond and Kahl 2014; Brewka et al. 2011; Gebser et al. 2014)</xref>
        and the goal-driven implementation of ASP called s(CASP)
        <xref ref-type="bibr" rid="ref2">(Arias et al. 2018)</xref>
        . A goal-driven implementation of ASP is
important for automated commonsense reasoning as
SATsolver based implementations such as CLINGO
        <xref ref-type="bibr" rid="ref11">(Gebser
et al. 2014)</xref>
        face several practical issues (e.g., scalability,
explainability) (Gupta et al. 2017) for applications such as
autonomous driving.
      </p>
      <p>2</p>
    </sec>
    <sec id="sec-2">
      <title>Autonomous Vehicle Technology</title>
      <p>We express various decision making strategies that drivers
use as commonsense rules in ASP, that will be executed
on the s(CASP) system. These rules capture various
driving decisions regarding steering, turning, braking,
accelerating, stopping, etc. We also report on a prototype system
called AUTO-DISCERN that we have developed that takes a
scene-description and sensor values as input and calculates
the driving decision at that instant using the rules. A use case
is shown in Fig. 1. We expect that a scene description
(perception) will be obtained via image processing techniques
that use deep learning methods. Because our decision
making is based on automated commonsense reasoning, every
decision can be explained, and, in theory, our system will
never make a wrong decision, as long as the rules are
correct and system input is correct.</p>
      <p>Our main contribution in this paper is to show how
automated commonsense reasoning can be harnessed to achieve
an SAE Level 5 autonomous driving system.</p>
      <p>Autonomous vehicles (AVs) hold enormous promise: they
can reduce the cost of transportation and increase
convenience, as well as reduce road accidents and traffic
fatalities by a significant number. AVs can also have a big
environmental impact: private ownership of cars can become
unnecessary. AVs can greatly aid in the mobility of elderly,
disabled, and disadvantaged. The story of AVs has been one
of great optimism: it was projected in 2017 that there will
be 10 million AVs on the road by 2020 and that fully
autonomous vehicles will be the norm in 10 years. Not only we
have not reached the 10M vehicle mark, but also no vehicle
has earned the fully automated (SAE Level 5) designation.</p>
      <p>
        The history of making vehicles autonomous began with
the introduction of the cruise control in 1948
        <xref ref-type="bibr" rid="ref25">(Wikipedia
contributors 2021)</xref>
        . In 1999, the US Federal
Communication Commission allocated 75 MHz of spectrum dedicated
to short range communication. In early 2000s, several teams
developed and demonstrated autonomous cars in response
to a DARPA grand challenge
        <xref ref-type="bibr" rid="ref10 ref24">(DARPA 2014; Thrun 2010)</xref>
        .
In 2009, Google began its self-driving project, and in 2014
Google’s AV passed a 14-mile driving test in Nevada. The
US National Highway Transportation and Safety
Administration (NHTSA) released its initial policy on AVs that year,
and in 2015, Tesla released its autopilot self-driving
software. Since then, many other companies have entered the
market, and many partnerships have been forged between
them. The Society of Automation Engineers developed a
scale for vehicle automation: Level 0: No automation; Level
1: Driver assistance (e.g., cruise control); Level 2: Partial
automation (perform steering and acceleration under human
watch); Level 3: Conditional automation (most tasks can be
performed, but human driver has control; Level 4: High
automation (car can perform all tasks under specific
circumstances, e.g., in a geo-fenced area; human over-ride is still
possible); Level 5: Full automation (all tasks automated; no
human intervention required at all).
      </p>
      <p>No car has reached SAE Level 5 yet. The principle reason,
we believe, is over-reliance on ML and DL technologies for
most aspects of driving. Our goal here is to show that
automated commonsense reasoning is essential for achieving
SAE Level 5 automation.</p>
      <p>3</p>
    </sec>
    <sec id="sec-3">
      <title>Machine Learning-based AV Systems</title>
      <p>At present, machine learning plays a major role in the AV
technology. A significant amount of technology goes into an
AV: radar (to detect cars and other large objects), ultrasonic
sensors (to detect objects close by, e.g, the curb), lidar (to
detect lane markings, edge of a road, etc.), GPS (for
direction to destination and knowing AV’s location), and video
cameras (for obtaining the surrounding scene and
analyzing it). All these are connected to a central computer where
processing takes place. Driving data is collected along with
sensor readings, video images, Lidar data, etc. In NVidia’s</p>
      <p>
        PilotNet project
        <xref ref-type="bibr" rid="ref6">(Bojarski et al. 2020)</xref>
        , for example, a deep
learning model is trained on this data to make one of three
decisions: steering along a predicted trajectory, amount of
braking, and amount of acceleration. Predicted trajectories
are one of the following: (i) lane stable (keep driving in the
same lane); (ii) change to left lane (first half of
left-lanechange maneuver); (iii) change to left lane (second half of
left-lane-change maneuver); (iv) change to right lane (first
half of right-lane-change maneuver); (v) change to right lane
(second half of right-lane-change maneuver); (vi) split right
(e.g. take an exit ramp); (vii) split left (e.g., left branch of a
fork in the road). A ML based solution can be boiled down to
predicting the degree of steering, the amount of braking, and
the amount of acceleration at every moment during driving.
Of course, the last two are mutually exclusive, that
acceleration and braking are rarely needed at the same time.
      </p>
      <p>
        Neural-based technology has a number of well-known
issues with respect to accurate prediction of an outcome. An
ML algorithm is a universal function that learns an
approximate mapping from an input to an output in accordance to
the training data. This technology is fundamentally
statistical. Edge cases, unusual circumstances that are uncommon
in training data, are not covered. Obviously, anything outside
the training data is not learned. This is especially true for
autonomous driving, where there are many situations that may
never be encountered in the driving data collected for
training. A good example of this is flashing red and blue lights
in police cars and fire trucks that Tesla autopilot system has
had trouble with
        <xref ref-type="bibr" rid="ref21">(Shen 2021)</xref>
        . There are many such
examples where a ML system gets confused by the noise present
in the data and generates an erroneous model. Fig. 2 shows
a scenario where Tesla AV model fails to detect a barrier on
the left. Fig. 3 shows an example where slight perturbations
to traffic signs can cause failure cases in ML models. There
are many instances where an AV got into an accident,
resulting in loss of life
        <xref ref-type="bibr" rid="ref18">(Law 2021)</xref>
        . We believe that our
commonsense reasoning-based AUTO-DISCERN system can safely
deal with situations where other ML-based systems failed
(see error mitigation in Sec. 6.3).
      </p>
      <p>Because of these issues, many companies have scaled
down their ambitions down from SAE level 5. Some
companies shut down (e.g., Starsky Robotics). Others (e.g.,
Waymo) revised their goal down to achieving SAE Level
4 while others have restricted autonomous behavior within
limited circumstances (e.g., geo-fenced areas). So the goal
of reaching SAE Level 5 seems illusive. In this paper, we
argue that SAE Level 5 can be reached via automated
commonsense reasoning. In fact, we believe that automated
commonsense reasoning is indispensable for the AV technology
to reach SAE Level 5 (full automation).</p>
      <p>4</p>
    </sec>
    <sec id="sec-4">
      <title>AV based on Commonsense Reasoning:</title>
    </sec>
    <sec id="sec-5">
      <title>Motivation</title>
      <p>To drive a vehicle, a human driver must have the:
1. ability to control the vehicle, i.e., be able to steer, brake,
accelerate, and signal for a turn.
2. ability to make visual deductive inferences, i.e., be able
to see objects in front of or around the vehicle and
make decisions, estimate the speed of objects, and project
where they will be in the near future.
3. ability to make a visual abductive inference, i.e.: (i) be
able to infer hidden or occluded parts of the objects; e.g.,
a car will normally have four tires, even though only two
are visible; (ii) be able to perform counterfactual
(“whatif”) reasoning.
4. ability to distinguish between various scenarios, e.g., be
able to tell, for example, that a car in a bill board is not
the same as a car on the street.</p>
      <p>Essentially, there are two types of tasks involved in
driving: (i) visual scene processing and inferencing (tasks #2
through #4 above) and (ii) controlling the vehicle (task #1).
Learning to control the vehicle is hard for humans, but
visual inferencing comes naturally to us. Controlling the
vehicle is easy for a machine, learning visual inferencing is
significantly harder for it.</p>
      <p>To realize truly autonomous vehicles (SAE Level 5), we
need to emulate the way humans drive cars, i.e., use ML
for scene processing, while using automated commonsense
reasoning for making inferences regarding driving actions.
Once an inference is made (steer, accelerate, brake, etc.),
it can be easily carried out by the machine. Our ideas are
based on the insight that for tasks for which humans use
pattern matching (e.g., picture recognition), we should use ML
technology, while for tasks for which humans use deduction,
we should use automated reasoning. The current practice of
using ML for all AV tasks is overkill and is preventing us
from reaching SAE Level 5.</p>
      <p>
        We envisage that the cameras will provide an image of
the surroundings every second or so. This image will be
processed using deep learning (object, lane detection, depth
prediction, etc.) so that all the items present in the picture will
be labeled and their bounding-boxes marked. The labels will
be predicates, that will be extracted from the picture, along
with coordinates of each bounding-box. A picture can be
labeled with predicates with the help of datasets such as
Visual Genome
        <xref ref-type="bibr" rid="ref17">(Krishna, Zhu et al. 2016)</xref>
        and systems such
as DenseCap
        <xref ref-type="bibr" rid="ref14 ref15">(Johnson, Karpathy, and Fei-Fei 2016)</xref>
        . These
predicates that describe the picture, constitute the input to
the AUTO-DISCERN system. The commonsense rules that
a human driver uses will take this data (expressed as
predicates that capture the position and spatial relationship among
various objects in the scene) as input to compute a driving
decision. The question then arises: How does one automate
commonsense reasoning?
5
      </p>
    </sec>
    <sec id="sec-6">
      <title>Background</title>
      <p>
        Commonsense Reasoning: As mentioned earlier, an
autonomous driving system should be able to understand and
reason like a human driver. If we examine how we humans
reason, we fill lot of gaps in our understanding of a scene,
conversation, or a piece of text we read, through our
commonsense knowledge and reasoning (e.g., if we see a car
moving fast on a road, we use our commonsense
knowledge to infer that, normally, there must be a driver inside).
Thus, to develop autonomous driving software, we need to
automate commonsense reasoning, i.e., automate the human
thought process. The human thought process is flexible and
non-monotonic in nature, which means “what we believe
now may become false in the future with new knowledge”.
It is well known that commonsense reasoning can be
modeled with (i) defaults, (ii) exceptions to defaults, (iii)
preferences over multiple defaults, and (iv) modeling multiple
worlds
        <xref ref-type="bibr" rid="ref7">(Gelfond and Kahl 2014; Brewka et al. 2011)</xref>
        .
      </p>
      <p>Much of human knowledge consists of default rules, for
example, “Normally, birds fly” is a default rule. However,
there are exceptions to defaults, for example, penguins are
exceptional birds that do not fly. Reasoning with default
rules is non-monotonic, as a conclusion drawn using a
default rule may have to be withdrawn if more knowledge
becomes available and the exceptional case applies. For
example, if we are told that Tweety is a bird, we will conclude it
flies. Knowing later that Tweety is a penguin will cause us to
withdraw our earlier conclusion. Similarly, if we see a car,
we know there must be a driver inside, normally, unless we
realize it’s a robot-taxi, then we withdraw that conclusion.</p>
      <p>Humans often make inferences in the absence of complete
information. Such an inference may be revised later as more
information becomes available. This human-style reasoning
is elegantly captured by default rules and exceptions.
Preferences are needed when there are multiple default rules, in
which case additional information gleaned from the context
is used to resolve which rule to apply. One could argue that
expert knowledge amounts to learning defaults, exceptions,
and preferences in the field that a person is an expert in.</p>
      <p>
        Also, humans can naturally deal with multiple worlds.
These worlds may be consistent with each other in some
parts, but inconsistent in other parts. For example, animals
don’t talk like humans in the real world, however, in the
cartoon world, animals do talk like humans. So Nemo the fish,
may be able to swim in both the real world and the cartoon
world, but it can talk only in the cartoon world. Similarly, we
are able to distinguish between a car shown on a billboard
on the road and an actual car on the road. Humans have
no trouble distinguishing between multiple worlds (world
shown in the billboard vs real world) and can easily switch
between them as the situation demands. Default reasoning,
augmented with the ability to operate in multiple worlds,
allows one to closely represent the human thought process.
Default rules with exceptions and preferences and multiple
worlds can be elegantly realized in the paradigm of ASP
        <xref ref-type="bibr" rid="ref4 ref7">(Gelfond and Kahl 2014; Baral 2003; Brewka et al. 2011)</xref>
        and executed using the s(CASP) system
        <xref ref-type="bibr" rid="ref2">(Arias et al. 2018)</xref>
        .
ASP and s(CASP): ASP is a declarative paradigm that
extends logic programming with negation-as-failure. We
assume that the reader is familiar with ASP. Considerable
research has been done on ASP since the inception in the late
80s of the stable model semantics that underlies it
        <xref ref-type="bibr" rid="ref7">(Brewka
et al. 2011)</xref>
        . A major problem with ASP implementations
is that programs have to be grounded and SAT-solver-based
implementations such as CLINGO
        <xref ref-type="bibr" rid="ref11">(Gebser et al. 2014)</xref>
        used to execute the propositionalized program to find the
answer sets. There are multiple problems with this
SATbased implementation approach, which include exponential
blowup in program size, having to compute the entire
model, and not being able to produce a justification for a
conclusion (Gupta et al. 2017).
      </p>
      <p>
        Goal-directed implementations of ASP such as s(CASP)
        <xref ref-type="bibr" rid="ref2">(Arias et al. 2018)</xref>
        work directly on predicate ASP programs
(i.e., no grounding is needed) and are query-driven
(similar to Prolog). The s(CASP) system only explores the parts
of the knowledge-base that are needed to answer the query,
and they provide a proof tree that serves as justification for
the query. The s(CASP) system support predicates with
arbitrary terms as arguments as well as constructive
negation
        <xref ref-type="bibr" rid="ref2">(Arias et al. 2018)</xref>
        . It also supports abductive
reasoning. Goal-directed implementations of ASP such as s(CASP)
have been used for developing systems that emulate an
expert. Chen et al have used it to emulate a cardiologists mind
by automating applications of the guidelines they use for
treating congestive heart failure
        <xref ref-type="bibr" rid="ref8">(Chen, Marple et al. 2016)</xref>
        .
The system, reportedly, can outperform cardiologists
        <xref ref-type="bibr" rid="ref9">(Chen,
Salazar et al. 2018)</xref>
        . In our project, we want to emulate the
mind of an automobile driver.
      </p>
      <p>6</p>
    </sec>
    <sec id="sec-7">
      <title>Commonsense Reasoning-based AV</title>
      <p>The commonsense rules that a human driver uses for driving
are modeled in ASP, using defaults, exceptions and
preferences. The input to these rules is gleaned from a scene that
the driver sees, where the scene is translated into a set of
predicates that describe the objects and their placement in
a scene. We assume that state-of-the-art ML technology is
used to obtain these predicate labels. These predicates are
represented as a set of facts in ASP that describe the
environment and serves as input to the AUTO-DISCERN system.
Formally, facts F for a given frame at a timestamp T are
combined with (commonsense) driving rules R to make a
driving decision Y, given an intent X . Fig. Fig. 4 shows the
facts describing a scene and rule snippets that will be
activated for this scenario to compute a driving decision at each
timestamp. The ASP facts F contain speed, lane, relative
distance, predicted trajectory of the AV and other detected
objects, lane structure, intersection information, visible
traffic signs and lights, etc. An intent X describes the short term
goal that needs to be achieved by the AV in order to reach
its destination. It is based on the instruction from the
navigation system, for example, continue in lane, stay in leftmost
Step 1. Scenario representation Extract entities from the
images obtained from the environment using ML, computer vision
models along with sensor data. Convert extracted information
into structured format F that can be processed by prolog like
programs
self_speed(5, 1), self_lane(1, 1), speed_limit(10, 1),
lanes([1,2,3], 1), traffic_signs(stop, 1),
obj_meta(1, 2, car, ...), traffic_light(green, 1)
Step 2. Common sense reasoning Apply s(CASP) based rules
R on the facts F to obtain a primitive understanding of the
involved entities and their relations at every frame. Build upon the
primitive understanding to obtain high level driving decisions Y
select_action(brake, T) :- brake_conditions(T),
obstacle_in_lane(...
right_lane_clear(T) :- lanes(Lids, T) ...</p>
      <p>not neg_lane_clear(...)
obstacle_in_lane :- subclass(OType, automobile), ...</p>
      <p>Depth #&lt; Dist
RESULT. High level action for each frame, along with a detailed
trace of why the action was chosen for the frame
..., action(cruise, 140), action(accelerate, 141),
action(cruise, 142), action(change_lane_left, 143),
... , action(turn_left, 149), action(brake, 150) ...
lane, turn left, etc. Based on the facts and the driving rules, a
decision Y is taken which is one of accelerate, brake, cruise,
change lane left, change lane right, turn left, turn right, etc.
6.1</p>
      <sec id="sec-7-1">
        <title>Driving Rules</title>
        <p>The driving rules written in s(CASP) are rules that drivers
use while driving (e.g., if behind a slow-moving vehicle,
change lanes to go faster [default], unless lanes are blocked
[exception]). We refer to this collection of rules as the
‘Driving Rules Catalog’. First, we describe this catalog using
examples. We then show (in the experimentation and testing
section) how the catalog examples can be converted into
ASP rules and executed in s(CASP) to make decisions.</p>
        <p>At the topmost level, the catalog is categorized by the
set of actions (brake, accelerate, change lane, turn etc.). For
each action, ASP rules have been developed that use
knowledge of the scene to compute the driving action. Note that
the number of commonsense rules that humans use while
driving is not really that large. We have cataloged 35 rules at
present. Next, we give some examples.
À Change lane to left, if there is a non-automobile obstacle
ahead in the lane within x meters, and the left lane is clear
to perform the lane change
Á Turn right, if the intent is to enter the right lane, and
if on the major lane of a T-junction intersection, and
if AV’s predicted path does not intersect with any
object(pedestrian, cyclist, . . . )
Â Turn right, if the intent is to enter the right lane, and if at
a signalized 4-way intersection, and if the traffic light is
green, and if AV’s predicted path does not intersect with
any object
Ã Brake, if there is an object ahead, within stopping
distance from the AV and in the same lane
Ä Brake, if at an unsignalized 4-way intersection, and AV
vehicle is not the earliest to arrive at the intersection
To arrive at a decision, the AV evaluates all possible
actions consistent with the current intent and decides on the
best one. For each action, there is a set of default rules and
exceptions. The default rules evaluate the conditions under
which AV should consider taking the action. The exception
acts as a filter, checking if the action is safe to perform.
The hierarchical logic and default reasoning have been
encoded in s(CASP). Here is code for change lane-left:
select_action(change_lane_left, T)
:change_lane_left_conditions(T),
not ab(d_select_action(change_lane_left, T)),
not neg_select_action(change_lane_left, T).</p>
        <p>The change lane left conditions define the default rules to
perform the action. The AV would consider changing to left
lane if the current intent is to stay in leftmost lane (precursor
to performing a left turn) or it needs to overtake a vehicle or
avoid an obstacle ahead.
change_lane_left_conditions(T) :- self_lane(SLid, T),
nonmv_ahead_in_lane(T, SLid, 20, OType),
neg_can_drive_over(OType), can_swerve_around(OType).
change_lane_left_conditions(T)
:</p>
        <p>intent(stay_in_leftmost_lane, T).</p>
        <p>However, it is not always possible to perform an action even
if it is a short term goal. Predicate neg select action encodes
the exception rules when performing the action is not safe
or possible. The AV cannot change to the left lane if its not
clear of obstacles. Similarly, it cannot accelerate if it is
approaching a red traffic light or it is above the speed limit.
neg_select_action(accelerate, T)
:above_speed_limit(T);
self_lane(SLid, T), neg_lane_clear(T, SLid, 10);
traffic_light(red, T).
neg_select_action(change_lane_left, T)
:</p>
        <p>not left_lane_clear(T).
6.2</p>
      </sec>
      <sec id="sec-7-2">
        <title>Experimentation &amp; Testing</title>
        <p>We demonstrate the usability and simplicity of our approach
to autonomous driving. Further, we show selected scenarios
where common sense reasoning is essential to safe driving
and how our approach achieves this. For each selected
scenario, we show the relevant rules that lead to the action and
describe the decision making process.</p>
        <p>System Testing We have developed a large set of test
scenarios to test our ASP-coded commonsense rules for
driving. The test scenarios cover normal and adverse conditions
encountered during driving. These scenarios cover general
cases as well as corner case situations that even humans
would find challenging to drive in. In Fig. 5, we show some
of the scenarios that are covered by our model.</p>
        <p>
          Common Driving Scenarios Once our rules were tested,
we evaluated the AUTO-DISCERN system on real-world
situations obtained from the KITTI
          <xref ref-type="bibr" rid="ref12">(Geiger, Lenz, and Urtasun
2012)</xref>
          dataset. The experiment covers scenarios from a
variety of traffic conditions that one may come across on a
dayto-day basis. We test AUTO-DISCERN on manually
annotated subset of KITTI scenarios to obtain a runtime analysis.
(a)
(b)
(c)
We selected 3 representative frames from 2 scenarios per
environment and show the runtime for each frame. Tab. 1
summarizes the result. The performance is largely determined by
the number of objects in the frame and the complexity of the
action performed.2 Note that on average our system
computes a decision for a frame in half a second. Our system
will take a snapshot once per second. We expect, on
average, half of this one second to go into analyzing the picture,
annotating it and generating input data, and the other half in
computing the driving decision using s(CASP).
        </p>
        <p>Selected frames from the experiment along with the rules
that allowed AUTO-DISCERN to perform the required action
are shown below. Fig. 6a shows a situation where the AV has
to merge into the left lane with high incoming traffic. As the
AV approached the merge, it slowed down to a stop,
performing the lane change when the left lane was clear. Fig.
6b is an example of waiting before performing a right turn.
The rules build upon predicted object trajectories obtained
from ML model to realize performing a right turn is unsafe.
These rules were derived from example À and Á of the
driving rules catalog respectively.</p>
        <p>Finally, we tested the AUTO-DISCERN system on cases
where a ML based system failed. AUTO-DISCERN system
was able to arrive at a correct decision in all such scenarios.</p>
      </sec>
      <sec id="sec-7-3">
        <title>6.3 Discussion</title>
        <p>Our experiments indicate that commonsense knowledge
about driving can be modeled with relative ease. This should
not come as a surprise, as we use relatively few rules to chart
a course through the various types of objects we encounter
as we drive. If the rules are correct, and the input to our
system is correct, then we are in effect modeling an unerring
2Experiment run on Intel(R) Core(TM) i7-6500U CPU @
2.50GHz 8-Core Processor, 12GB RAM.
change_lane_left_conditions(T)
:</p>
        <p>intent(merge_into_left_lane, T).
neg_select_action(change_lane_left, T)
:</p>
        <p>
          not left_lane_clear(T).
brake_conditions(T) :- intent(merge_into_left_lane, T),
not left_lane_clear(T).
(a) AV performs a change lane left to merge at high city traffic.
turn_right_conditions(T) :- intent(enter_right_lane, T).
neg_select_action(turn_right, T)
:self_pred_path(SPath, T),
obj_pred_path(Oid, OPath, T),
path_intersects(SPath, OPath).
brake_conditions(T) :- intent(enter_right_lane, T),
intersection(_, _, at, T).
(b) AV waits for pedestrians before performing a right turn.
human driver. There are many advantages to developing an
AV system based on commonsense reasoning:
Explainability: Every driving decision made is explainable,
as it can be justified via rules. The justification is obtained
by using the s(CASP) system’s proof tree generation facility
          <xref ref-type="bibr" rid="ref1">(Arias et al. 2020)</xref>
          . An example proof tree fragment for the
scenario in Fig. 6a is shown below:
QUERY:Does 'start_drive' holds (for 410, and 411)?
&gt;'start_drive' holds (for 410, and 411) because
&gt;'suggest_action' holds(for change_lane_left) because
&gt;'action' holds (for change_lane_left) and
&gt;there is no evidence that 'neg_suggest_action'
holds (for change_lane_left) and
&gt;'select_action' holds (for change_lane_left) because
&gt;'change_lane_left_conditions' holds because
&gt;'intent' holds (for merge_into_left_lane).
&gt;there is no evidence that 'neg_select_action'
holds (for change_lane_left) because
&gt;'left_lane_clear' holds because
...
&gt;there is no evidence that 'neg_lane_clear'
holds (for Lid 2, and StopDist 10) because
&gt;there is no evidence that 'class' holds,
with Var0 not equal bicycle, bike, car,
pedestrian
...
        </p>
        <p>The global constraints hold.</p>
        <p>Error Mitigation: A major problem with ML-based
systems is that unusual and corner cases may be missed. For
example, as shown earlier, the speed limit of 35 may be
read as 85. If a human misinterprets the speed limit sign
of 35 as 85, their commonsense knowledge that they are
in a city tells them that an 85 speed limit seems too high.
This type of commonsense reasoning can be performed in
our AUTO-DISCERN system. Defaults rules with exceptions
can be written in ASP to determine what a reasonable speed
limit ought to be in each type of surrounding, which can
then be used to perform sanity checks as shown in the
(selfexplanatory) example below:
max_speed(Location, S) :- reasonable_speed(Location, S1),
posted_speed_limit(Location, S2),
minimum(S1, S2, S), not abnormal(Location, S).</p>
        <p>Commonsense knowledge can also be used to ensure that
the frame corresponding to a scene is consistent with
information provided by various sensors in the AV. If there is
any inconsistency, the sensor information can be given
priority, as visual information is more likely to be erroneous.
Consider the example shown in Fig. 2. The following rules
allow AUTO-DISCERN to perform a change lane right based
on sensor data overriding the visual information.
change_lane_right_conditions(T)
:sensor(left, Dist, T),
collision_distance(CD, T), Dist =&lt; CD.</p>
        <p>Thus, ensuring that the AV system is safe is considerably
easier as we are emulating a human driver’s mind that gets
inputs from various sources and tries to infer a consistent
world view with respect to which a driving action is taken.
A system like AUTO-DISCERN can also be used to aid ML
based AV systems to cross-check the decision made by them.
Additionally, it’s provably ethical and explainable.</p>
      </sec>
      <sec id="sec-7-4">
        <title>Handling Complex Scenarios: More complex scenarios</title>
        <p>can also be handled through the use of s(CASP)-based
commonsense reasoning technology. For instance, flashing
traffic lights require that a sequence of scenes is processed to
recognize the flashing of lights. Commonsense rules to
perform this processing can be easily written in ASP/s(CASP).
Similarly, predicting where various objects in the scene will
be a few seconds in the future can also be done by analyzing
a sequence of temporally ordered scene through
commonsense reasoning. Incorporating more nuanced commonsense
reasoning is part of our future work.</p>
        <p>An ML based AV system has to be retrained if it has to
be used in another country with slightly different
conventions. In contrast, a commonsense reasoning-based AV
system such as AUTO-DISCERN can be easily used in such
situations as the differences in conventions can be described
as commonsense rules (the DL-based scene understanding
system, of course, must be retrained if traffic signs are
different). Note that humans don’t have to be heavily retrained
when they drive in another country.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Related Work and Conclusions</title>
      <p>
        Use of formal logic and ASP to model driving has been
proposed in the past. Bhatt et al. have employed ASP and
the CLINGO system for autonomous driving experiments
        <xref ref-type="bibr" rid="ref22 ref23">(Suchan et al. 2018; Suchan, Bhatt, and Varadarajan 2019)</xref>
        .
They propose a framework that takes visual observations
computed by deep learning methods as input and provides
visuo-spatial semantics at each timestamp. These
semantics help in reasoning with overall scene dynamics (e.g.
sudden occlusion of a motorcycle at a distance due to a
car right in the front). However, their work can only
support decision-making via visual sense-making. On the other
hand, our AUTO-DISCERN system focuses on
“understanding” the scene through commonsense reasoning and then
computing a driving decision. Additionally, use of CLINGO
for executing ASP poses some limitations as discussed
earlier (Gupta et al. 2017).
      </p>
      <p>
        Karimi and Duggirala
        <xref ref-type="bibr" rid="ref16">(Karimi and Duggirala 2020)</xref>
        have
coded up rules from the California DMV handbook in ASP
using CLINGO. Their goal is to verify the correctness of
AV systems’ behavior at intersections. In contrast, our
approach is to use commonsense reasoning/ASP for actual
autonomous driving. There are other works in this
direction that apply formal logic/reasoning to verifying AV
systems, particularly at unsignaled intersections
        <xref ref-type="bibr" rid="ref13 ref14 ref19 ref3 ref7">(Hilscher and
Schwammberger 2016; Azimi et al. 2011; Hafner et al.
2013; Loos and Platzer 2011)</xref>
        , as well as situations where
an AV should hand over to a human driver
        <xref ref-type="bibr" rid="ref20">(McCall 2019)</xref>
        .
      </p>
      <p>To conclude, in this paper we described our
AUTO-DISCERN system that employs commonsense
reasoning (CSR) for autonomous driving. Commonsense
knowledge about driving is represented as a predicate
answer set program and executed on the s(CASP)
goaldirected ASP system. While ML based AV have made
significant advances, none of them have reached the level of
full automation. We strongly believe that taking an approach
based on automating CSR is indispensable for developing
AV technology. The goal is to emulate human drivers,
who use CSR for making decision while driving. Rules for
driving were developed into the AUTO-DISCERN system
with the help of existing data-sets such as KITTI, driving
manuals available, and our own commonsense knowledge
of driving. Our system is explainable and provably ethical.
Input to the system consists of data from all the sensors
as well as description of the scene as predicates (obtained
using ML technology). Given that CSR is used, ML errors
in processing the scene can be compensated for.</p>
      <p>The main contribution of our work is to demonstrate how
a complete decision making system for autonomous
driving can be developed by modeling commonsense reasoning
in ASP and the s(CASP) system. The s(CASP) system is
what makes AUTO-DISCERN possible, and it is one reason
why an AV system based entirely on commonsense
reasoning has not been developed thus far. Future work includes
refining and developing the AUTO-DISCERN infrastructure
to make it work with the CARLA setup (https://carla.org) as
well as to develop an actual AV deployment with our
industrial partner.</p>
    </sec>
    <sec id="sec-9">
      <title>Acknowledgement</title>
      <p>Authors are supported by NSF awards IIS 1718945, IIS
1910131, IIP 1916206 and by grants from Amazon and
DoD.</p>
      <p>Gelfond, M.; and Kahl, Y. 2014. Knowledge representation,
reasoning, and the design of intelligent agents: The
answerset programming approach. Cambridge University Press.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Arias</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Carro,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <surname>Z.</surname>
          </string-name>
          ; and Gupta,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <year>2020</year>
          .
          <article-title>Justifications for goal-directed constraint answer set programming</article-title>
          .
          <source>arXiv preprint arXiv:2009</source>
          .10238.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Arias</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Carro,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Salazar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ;
            <surname>Marple</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          ; and Gupta,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <year>2018</year>
          .
          <article-title>Constraint answer set programming without grounding</article-title>
          .
          <source>TPLP</source>
          ,
          <volume>18</volume>
          (
          <issue>3-4</issue>
          ):
          <fpage>337</fpage>
          -
          <lpage>354</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Azimi</surname>
            ,
            <given-names>S. R.</given-names>
          </string-name>
          ; Bhatia,
          <string-name>
            <surname>G.</surname>
          </string-name>
          ; Rajkumar,
          <string-name>
            <surname>R. R.</surname>
          </string-name>
          ; and Mudalige,
          <string-name>
            <surname>P.</surname>
          </string-name>
          <year>2011</year>
          .
          <article-title>Vehicular networks for collision avoidance at intersections</article-title>
          .
          <source>SAE International Journal of Passenger Cars-Mechanical Systems</source>
          . Vol.
          <volume>4</volume>
          , no.
          <source>2011-01-0573</source>
          , pp.
          <fpage>406</fpage>
          -
          <lpage>416</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Baral</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <year>2003</year>
          .
          <article-title>Knowledge representation, reasoning and declarative problem solving</article-title>
          . Cambridge Univ. Press.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Blanco</surname>
          </string-name>
          , S. May,
          <year>2021</year>
          . SAE Updates,
          <article-title>Refines Official Names for 'Autonomous Driving' Levels. Car and Driver</article-title>
          . https://www.caranddriver.com/news/a36364986/ sae
          <article-title>-updates-refines-autonomous-driving-levels-chart/.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Bojarski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Daw</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Deg˘irmenci, A.;
          <string-name>
            <surname>Deri</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Firner</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Flepp</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Gogri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Hong</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Jackel</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ; et al.
          <year>2020</year>
          .
          <article-title>The NVIDIA PilotNet Experiments</article-title>
          . arXiv preprint arXiv:
          <year>2010</year>
          .08776.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Brewka</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ; et al.
          <year>2011</year>
          .
          <article-title>Answer set programming at a glance</article-title>
          .
          <source>Commun. ACM</source>
          ,
          <volume>54</volume>
          (
          <issue>12</issue>
          ):
          <fpage>92</fpage>
          -
          <lpage>103</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Marple</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ; et al.
          <year>2016</year>
          .
          <article-title>A Physician Advisory System for Chronic Heart Failure management based on knowledge patterns</article-title>
          .
          <source>Theory Pract</source>
          . Log. Program.,
          <volume>16</volume>
          (
          <issue>5-6</issue>
          ):
          <fpage>604</fpage>
          -
          <lpage>618</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Salazar</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ; et al.
          <year>2018</year>
          .
          <article-title>An AI-Based Heart Failure Treatment Adviser System</article-title>
          .
          <source>IEEE Journal of Translational Engineering in Health and Medicine</source>
          ,
          <volume>6</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>DARPA.</surname>
          </string-name>
          <year>2014</year>
          .
          <article-title>The DARPA Grand Challenge: Ten Years Later</article-title>
          . https://www.darpa.mil/news-events/2014-03-13.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kaminski</surname>
            , R.; Kaufmann,
            <given-names>B.</given-names>
          </string-name>
          ; and Schaub,
          <string-name>
            <surname>T.</surname>
          </string-name>
          <year>2014</year>
          .
          <article-title>Clingo = ASP + Control: Preliminary Report</article-title>
          . CoRR, abs/1405.3694.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Geiger</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Lenz</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ; and Urtasun,
          <string-name>
            <surname>R.</surname>
          </string-name>
          <year>2012</year>
          .
          <article-title>Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite</article-title>
          . In Conference on Computer Vision and
          <article-title>Pattern Recognition (CVPR).</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Hafner</surname>
            ,
            <given-names>M. R.</given-names>
          </string-name>
          ; Cunningham,
          <string-name>
            <given-names>D.</given-names>
            ;
            <surname>Caminiti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ; and
            <surname>Vecchio</surname>
          </string-name>
          ,
          <string-name>
            <surname>D. D.</surname>
          </string-name>
          <year>2013</year>
          .
          <article-title>Cooperative collision avoidance at intersections: Algorithms and experiments</article-title>
          .
          <source>IEEE Transactions on Intelligent Transportation Systems</source>
          . Vol.
          <volume>14</volume>
          , No.
          <issue>3</issue>
          , pp.
          <fpage>1162</fpage>
          -
          <lpage>1175</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Hilscher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ; and Schwammberger,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <year>2016</year>
          .
          <article-title>An abstract model for proving safety of autonomous urban traffic</article-title>
          .
          <source>Proc. International Colloquium on Theoretical Aspects of Computing</source>
          . Springer Verlag,
          <year>2016</year>
          , pp.
          <fpage>274</fpage>
          -
          <lpage>292</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Johnson</surname>
          </string-name>
          , J.;
          <string-name>
            <surname>Karpathy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Fei-Fei</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <year>2016</year>
          .
          <article-title>DenseCap: Fully Convolutional Localization Networks for Dense Captioning</article-title>
          .
          <source>In Proc. IEEE CVPR</source>
          ,
          <volume>4565</volume>
          -
          <fpage>4574</fpage>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Karimi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; and Duggirala,
          <string-name>
            <surname>P. S.</surname>
          </string-name>
          <year>2020</year>
          .
          <article-title>Formalizing Traffic Rules for Uncontrolled Intersections</article-title>
          .
          <source>In 2020 ACM/IEEE 11th International Conference on Cyber-Physical Systems (ICCPS)</source>
          ,
          <fpage>41</fpage>
          -
          <lpage>50</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Krishna</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ; Zhu,
          <string-name>
            <surname>Y.</surname>
          </string-name>
          ; et al.
          <year>2016</year>
          .
          <article-title>Visual Genome: Connecting Language and Vision Using Crowdsourced Dense Image Annotations</article-title>
          . In https://arxiv.org/abs/1602.07332.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Law</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <year>2021</year>
          .
          <article-title>The Dangers of Driverless Cars</article-title>
          .
          <source>The National Law Review</source>
          ,
          <volume>11</volume>
          (
          <issue>249</issue>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Loos</surname>
            ,
            <given-names>S. M.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Platzer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <year>2011</year>
          .
          <article-title>Safe intersections: At the crossing of hybrid systems and verification</article-title>
          .
          <source>14th IEEE Int'l Conference on Intelligent Transportation Systems (ITSC)</source>
          ,
          <fpage>1181</fpage>
          -
          <lpage>1186</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>McCall</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <year>2019</year>
          .
          <article-title>A taxonomy of autonomous vehicle handover situations</article-title>
          .
          <source>Transportation Research Part A: Policy and Practice</source>
          ,
          <volume>124</volume>
          :
          <fpage>507</fpage>
          -
          <lpage>522</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Shen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <year>2021</year>
          .
          <article-title>Tesla on autopilot slams into police car</article-title>
          . USA Today. https://www.usatoday.com/story/money/ business/2021/08/29/tesla-part
          <article-title>-automated-drive-systemslams-</article-title>
          <string-name>
            <surname>into-</surname>
          </string-name>
          police-car/5642789001/.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Suchan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Bhatt,
          <string-name>
            <given-names>M.</given-names>
            ; and
            <surname>Varadarajan</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <year>2019</year>
          .
          <article-title>Out of Sight But Not Out of Mind: An Answer Set Programming Based Online Abduction Framework for Visual Sensemaking in Autonomous Driving</article-title>
          .
          <source>In Proc. IJCAI</source>
          ,
          <year>1879</year>
          -
          <fpage>1885</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <surname>Suchan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Bhatt,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Walega</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            ; and
            <surname>Schultz</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. P. L.</surname>
          </string-name>
          <year>2018</year>
          .
          <article-title>Visual Explanation by High-Level Abduction: On Answer-Set Programming Driven Reasoning About Moving Objects</article-title>
          .
          <source>In Proc. AAAI</source>
          <year>2018</year>
          ,
          <year>1965</year>
          -
          <fpage>1972</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <string-name>
            <surname>Thrun</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <year>2010</year>
          .
          <article-title>Toward Robotic Cars</article-title>
          .
          <source>Commun. ACM</source>
          ,
          <volume>53</volume>
          (
          <issue>4</issue>
          ):
          <fpage>99</fpage>
          -
          <lpage>106</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <article-title>Wikipedia contributors</article-title>
          .
          <year>2021</year>
          .
          <article-title>History of selfdriving cars - Wikipedia, The Free Encyclopedia</article-title>
          . https://en.wikipedia.org/w/index.php?title=
          <source>History of selfdriving cars&amp;oldid=1040733011. [accessed Jan</source>
          .
          <volume>6</volume>
          '21].
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>