<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">A model to Coordinate UAVs in urban environments using defeasible logic</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Ho-Pun</forename><surname>Lam</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">ITEE</orgName>
								<orgName type="institution">The University of Queensland</orgName>
								<address>
									<settlement>Brisbane</settlement>
									<country key="AU">Australia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Subhasis</forename><surname>Thakur</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">IIIS</orgName>
								<orgName type="institution">Griffith University</orgName>
								<address>
									<settlement>Brisbane</settlement>
									<country key="AU">Australia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Guido</forename><surname>Governatori</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Abdul</forename><surname>Sattar</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">IIIS</orgName>
								<orgName type="institution">Griffith University</orgName>
								<address>
									<settlement>Brisbane</settlement>
									<country key="AU">Australia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><surname>Nicta</surname></persName>
						</author>
						<author>
							<persName><surname>Australia</surname></persName>
						</author>
						<title level="a" type="main">A model to Coordinate UAVs in urban environments using defeasible logic</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">0CC80D2CB624ACB0863D7512ADFE8467</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T10:14+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>In this paper we show how a non-monotonic rule based system (defeasible logic) can be integrated with numerical computation engines. To this end we simulate a physical system from which we obtain numerical information. The physical system perceives information from its environment and it sends some predicates which are used by the defeasible logic reasoning engine to make decisions and then these decisions are realized by the physical system as it takes action based on the decision made by the reasoning engine. We consider a scenario where UAVs have to navigate through an urban environment. The UAVs are autonomous and there is no centralized control. The goal of the UAVs is to navigate without any collisions with each other or with any building. In case of a possible collision, the concerned UAVs communicate with each other and use background knowledge or some travel guidelines to resolve the conflicts.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Typically complex systems have to manipulate and to react to different types of data (e.g., numerical and Boolean), and in many scenarios we have to integrate different types of reasoning processes. For example in a UAV (Unmanned Autonomous Vehicle) scenario, a UAV has to use some sensing devices to determine its position and the position of obstacles and the other information about other UAVs (maybe represented as a vector indicating the speed, direction of a UAV). Based on this data a UAV has to decide whether to change its course of direction or to continue with its trajectory. Accordingly, given two vectors, the UAV has to compute the intersection of the lines determined by the two vectors, and determine whether the two UAV will reach the intersection point at the same time (or within a proximity threshold). These two operations typically require some numerical computation. In case the previous computation returns that a collision is possible the UAV has to decide whether to change direction and how to change direction. While it is possible to use non logical methods for these two tasks, experience tell us that these are better handle by rule based methods <ref type="foot" target="#foot_0">4</ref> .</p><p>UAV coordination is a large research topic and a huge literature is dedicated to this. However, the focus of this paper is not on modelling UAV. Indeed, the novelty of this paper is, how a (non-monotonic) rule based system can be used for coordination, which constantly seeks information from some numeric manipulation units which can be hardware such as radar, different engine monitors, GPS etc. The advantages of using a rule based system are (1) it can be modified by an external user for different scenarios as new constraints are introduced about how the UAVs should behave (2) the decision making system has linear computational complexity, it can even be modelled as hardware.</p><p>The physical system of a UAV gathers data such as its current position, and the position, velocity and travel direction of UAVs nearby and the alternative path(s) available as contextual information, and will be used to determine whether a possible collision will occur. If it is the case then some of these information will be "transformed" into a set of rules and then merged to some pre-defined guidelines (which appears as a set of rules in a logic and is available to all UAVs) so that the reasoning engine can reason to determine how to evade the possible collision and to arrive the desired destination safely.</p><p>The paper is organized as follows: In Section 2 we briefly introduce the scenario that we deal with; then in Section 3 we motivate the reasons why we use defeasible logic and an informal introduction about the subject will be provided. In Section 4 we illustrate the various reasoning techniques used to model the UAV navigation by means of the system we have developed.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">UAV coordination problem</head><p>To illustrate the combination of techniques used to model UAVs we have the following problem scenario: Given a map of city and specific targets, a group of UAVs have to navigate through the city from a start location to a desired destination without colliding with other UAVs.</p><p>In the light of this we have implemented a UAVs navigation system to simulate this situation. Figure <ref type="figure" target="#fig_1">2</ref> captures the essence of components of our UAV navigation system. Each UAV is equipped with a GPS application engine and a reasoner. The application engine is used to request and receive information from the GPS monitor. In each reasoning cycle (see below for details), the application engine will issue request to the GPS monitor on the current traffic situation and information of the UAVs nearby; and if, on the other hand, an accident has occured at a particular location, the GPS monitor will also issue acknowledgement to the UAVs (which are close to the accident location) about the accident.</p><p>The reasoning engine is used to control the behavior of a UAV. It share certain aspects of consciousnes and the doctorine behind how the UAVs render their decision under different context. Simply speaking, the UAV's traffic is regulated by a set of 'road rules' (the knowledge base) determining which UAVs have the right of way in case they are travelling to the same location and has a high probability to collide. The UAVs navigation system uses the following reasoning cycle:</p><p>1. A UAV gathers data about its current location, travel direction and inforamtion of UAVs nearby from the GPS monitor. 2. The UAV detects if there is any possible collision (Section 4.2). 3. In case of possible collision, the UAV utilize the 'right-of-way' rules to reason the next direction of travel, or to stop its motion for a while. The 'right-of-way' rules are modelled in Defeasible Logic (See Section 3 for a short introduction to the logic). 4. If the resulted travel direction D is changed, except the case of stop moving, the UAV should then select a new path (using shortest path length, least number of turns, etc) along the set of paths in the new direction and continuous its travel 5. Go back to step 1 until the UAV reaches its desired destination.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Defeasible Logic</head><p>The coordination of the UAV is achieved by a set of norms creating the convention UAVs have to follow to prevent collision. Given that the behaviour of the UAVs is governed by a set of norms, we believe that the best choice to formalised the rules encoding the norms is with a logic that has proved able to handle norms. Thus we have decided to encode such rules in Defeasible logic. Defeasible logic is a simple and efficient skeptical rule-based non-monotonic formalism, and it has been argued that it is suitable to represent and reasons with norms <ref type="bibr" target="#b1">[2]</ref><ref type="bibr" target="#b2">[3]</ref><ref type="bibr" target="#b3">[4]</ref>. Two important features of Defeasible logic are its ability to represent exceptions (and typically normative systems leave room for exceptions) and it is possible to draw (tentative) conclusions with partial information.</p><p>A Defeasible theory <ref type="bibr" target="#b0">[1]</ref> D is a triple (F, R, &gt;) where F is a finite set of facts, R is a finite set of rules, and &gt; is a superiority relation on R. The language of defeasible logic consists of a finite set of literals, l, and their complement ∼l.</p><p>A rule r in R is composed of an antecedent (body) A(r) and a consequent (head) C(r), where A(r) consists of a finite set of literals and C(r) contains a single literal. A(r) can be omitted from the rule if it is empty. There are three types of rules in R, namely → (strict rules), ⇒ (defeasible rules), and ; (defeaters). Furthermore, Defeasible logic is equipped with a binary relation between the set of rules, called superiority relation (&lt;), to be used to determine the relative strength of two rules. The superiority relation is used when we have to conflicting rules that fire simultaneously, and it tells us that one rule prevails over the other, thus its conclusion has to be derived.</p><p>A conclusion derived from the theory D is a tagged literal and is categorized according to how the conclusion can be proved:</p><p>-+∆ q: q is definitely provable in D.</p><p>-−∆ q: q is definitely unprovable in D.</p><p>-+∂ q: q is defeasibly provable in D.</p><p>-−∂ q: q is defeasibly unprovable in D.</p><p>Provability is based on the concept of a derivation (or proof) in D = (F, R, &gt;). Informally, definite conclusions can be derived from strict rules by forward chaining, while defeasible conclusions can be obtained from defeasible rules iff all possible "attacks" are rebutted due to the superiority relation or defeater rules. A derivation is a finite sequence P = (P(1), . . . , P(n)) of tagged literals satisfying proof conditions (which correspond to inference rules for each of the four kinds of conclusions). P(1..i) denotes the initial part of the sequence P of length i. For a full presentation and proof conditions of DL refer to <ref type="bibr" target="#b0">[1]</ref>.</p><p>The set of conclusions of a defeasible theory is finite <ref type="foot" target="#foot_1">5</ref> , and it can be computed in linear time <ref type="bibr" target="#b5">[6]</ref>. The reasoning engine can be also implemented as a chip <ref type="bibr" target="#b6">[7]</ref>. For the application at hand we have the SPINdle Java implementation of defeasible logic <ref type="bibr" target="#b4">[5]</ref>. SPINdle is able to handle defeasible theories with over 1,000,000 rules <ref type="bibr" target="#b4">[5]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">UAV Navigation Problem</head><p>In this section we present a novel version of UAV navigation problem to illustrate the framework that we have developed in the pape. We will also describes some of the rules that appeared in our knowledge base, and will show to the reader under what circumstance new rule(s) will be added to the knowledge base to rebute the norms.</p><p>The objective of our framework is to have all UAVs traveled to the destination (in a city environment) without colliding with each others. To simplify our framework, we considered only four values of travel directions, namely: NORTH, EAST, WEST and SOUTH, as shown in Figure <ref type="figure">4</ref> below. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">The Knowledge Base</head><p>As described in Section 2 a UAV will gather different types of data from the GPS monitor within a proximate range and detects if a possible collision may occur. In case of possible collisionthe UAV will then utilize the information in its Knowledge Base (KB) andd to reason on the next travel direction, or to stop its motion. The KB contains the information about a UAV and is a well-documentated (doctrine) limited set of behavioral interactions that describes the behavior of the UAV under diffferent situation. To be able to travel from one location, and to aviod collision with other UAVs, a UAV should incorporate into the KB the set of context-related information (such as traffic situation, information of other UAVs) and derive a safe direction of travel when a possible collision occur. (Consider the scenario as shown in Figure <ref type="figure">4</ref> that V 1 and V 2 are moving towards to the same location and collisions may occur if none of the UAVs alter their travel directions. (the same also applies to (the same also applies to V 3 , V 4 and V 5 ))</p><p>A UAV instance at a particular time is a tuple U = (t, T, L,V, θ ) where: t is the time, T is the vehicle type (emergency or non-emergency), L, V and θ are the location, velocity and travel direction of U at time T respectively. These information, together with other context-related information will be added to the knowledge base using defeasible rules, as shown below:</p><formula xml:id="formula_0">EM01 : ⇒ ¬isEmergencyVehicle DIR01: ⇒ currentDirectionTravelSafe STT01: ⇒ safeToTravel(X) TJ01 : ⇒ ¬trafficJam(X) CM01 : → currentMove(EAST )</formula><p>The above rules <ref type="foot" target="#foot_2">6</ref> describe the propositional concerns of a particular UAV at a particular context of travel. It is assumed that the UAV is not an emergency vehicle and belived that there exist paths at different directions which is safe to travel and with no traffic jam, and is currently travelling to the EAST.</p><formula xml:id="formula_1">DIR04: currentDirectionTravelSafe ⇒ continuousTravel DIR05: continuousTravel → ¬changeDirection CD01 : continuousTravel, safeToTravel(X), currentMove(X) ⇒ Move(X) VC01 : vehicleCollisionAt(X) → ¬safeToTravel(X) DIR11: ¬safeToTravel(X), currentMove(X) → ¬currentDirectionTravelSafe DIR03: ¬currentDirectionTravelSafe ⇒ changeDirection CD11 : changeDirection, sa f eToT ravel(X), pathTo(X), ¬trafficJam(X) ⇒ Move(X) CD21 : changeDirection, currentMove(X) ⇒ ¬Move(X) DIR05&gt; DIR03 CD21 &gt; CD11</formula><p>So, under normal situation, if no traffic jam occurs at the current travel direction and the current travel direction is safe to travel, the UAV should then continues its travel without any change of its direction (rules DIR04, DIR05 and CD01). However, if a traffic jam appears in the current travel direction or if the current travel direction is not safe to travel (for example, a collision will occurs, i.e., the UAV will collide with another UAV if both continues with their current travel directions, see Section 4.2 below for the details), then the UAV should consider to alter its travel direction (rules VC01 to CD21).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Collision detection</head><p>Now consider two UAVs (U 1 and U 2 ) traveling through the city to different destinations. Using their current location and travel direction, and with the help of some simple geometry methods, an interception location L int between the two UAVs can be calculated. Let t int be the time required for a UAV to travel from the UAV's current location to L int . So, two UAVs are considered to be possibly collided if their time required to travel from their respective locations to L in f is more-or-less the same. That is, in our case, if |t int 1 − t int 2 | &lt; t limit , where t limit is the time boundary, then a possible collision may occur between the two UAVs and a new rule indicating this situation will be added to the KB, to indicate the current situation. For example, if there exist a possible collision at direction EAST, the following rule will be added to the KB:</p><formula xml:id="formula_2">ST T 11 :⇒ ¬safeToTravel(East) ST T 11 &gt; ST T 01</formula><p>The above rule tells the UAV that it is not safe to travel to EAST and thus should forbidding it from traveling to that direction. Moreover, if the UAV is traveling towards the EAST, it should also consider alter its travel direction, or to stop for a while, as well.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Right of way</head><p>However, things in reality are much more complex. We may have some emergency vehicles traveling through the city that cannot afford to pay the price of changing their path. In this situation, vehicles which are not emergency should give their way to the emergency vehicles, which can be represented in defeasible logic as follows: The above rules stated that if the vehicle is not an emergency vehicle, than it should give the right of travel to an emergency vehicle. However, if both vehicle are (not) emergence vehicles, them they should negotiate on who should change their travel direction.</p><p>After gathering all the contextual information, as mentioned before, new rules will be added to the KB. The UAV will thus start to to reason out the action on how to evade the possible collision. In most cases, as we are expected, the UAV will alter its travel direction, to avoid possible collision and gives the 'rights-of-way' to emergency vehicles. However, there are in some situations when the UAV(s) has no direction safe to travel, it will stop for a while and let other UAVs to continuous their journery first.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusion</head><p>In this paper we have demonstrated how to use a combination of numerical computation methods and rule based logic computation to simulate a complex environment such as UAV navigation. Future work includes the study of UAV negotiation, the use of Temporal Defeasible Logics, and integrating the rule-based system with reaction-based mechanism.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. UAV system overview</figDesc><graphic coords="3,169.35,148.48,276.67,213.79" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. City with UAVs</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_0">If you are not convinced about this, please, spend few seconds thinking about it the next time that (1) drive your car home after work, (2) take some form of public transportation, (3) simply cross the road. For a concrete case consider rule 162 of the Australian Civil Aviation Regulations 1988: "When two aircraft are on converging headings at approximately the same height, the aircraft that has the other on its right shall give way, except that (a) power-driven heavierthan-air aircraft shall give way to airships, gliders and balloons; . . . "</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_1">It is the Herbrand base that can be built from the literals occurring in the rules and the facts of the theory.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_2">The value of X in DIR01 and STT01 should be interpreted as the four directions of travel that we are considering, i.e. EAST, SOUTH, WEST and NORTH. Please also note that all rules above (except CM01) are defeasible since they are the common norms that stored in every UAVs. Information about a particular UAV should be added to the KB to rebute the norms as necessary.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgements NICTA is funded by the Australian Government as represented by the Department of Broadband, Communications and the Digital Economy and the Australian Research Council through the ICT Centre of Excellence program</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Representation Results for Defeasible Logic</title>
		<author>
			<persName><forename type="first">Grigoris</forename><surname>Antoniou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">David</forename><surname>Billington</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Guido</forename><surname>Governatori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><forename type="middle">J</forename><surname>Maher</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Computational Logic</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="page" from="255" to="287" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">On the Modeling and Analysis of Regulations</title>
		<author>
			<persName><forename type="first">Grigoris</forename><surname>Antoniou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">David</forename><surname>Billington</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Guido</forename><surname>Governatori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><forename type="middle">J</forename><surname>Maher</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Australian Conference Information Systems</title>
				<meeting>the Australian Conference Information Systems</meeting>
		<imprint>
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Representing Business Contracts in RuleML</title>
		<author>
			<persName><forename type="first">Guido</forename><surname>Governatori</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Cooperative Information Systems</title>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="page" from="181" to="216" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Temporalised Normative Positions in Defeasible Logic</title>
		<author>
			<persName><forename type="first">Guido</forename><surname>Governatori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Antonino</forename><surname>Rotolo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Giovanni</forename><surname>Sartor</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">10th International Conference on Artificial Intelligence and Law</title>
				<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">The Making of SPINdle</title>
		<author>
			<persName><forename type="first">Ho-Pun And</forename><surname>Lam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Guido</forename><surname>Governatori</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">3rd International RuleML Symposium</title>
				<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Propositional Defeasible Logic has Linear Complexity</title>
		<author>
			<persName><forename type="first">Michael</forename><forename type="middle">J</forename><surname>Maher</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theory and Practice of Logic Programming</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="691" to="711" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Guido Hardware Implementation of Temporal Nonmonotonic Logics</title>
		<author>
			<persName><forename type="first">Insu</forename><surname>Song</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Governatori</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">19th Australian Joint Conference on Artificial Intelligence</title>
				<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
