Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/334317187

Autonomous Pest Bird Deterring for Agricultural Crops Using Teams of


Unmanned Aerial Vehicles

Conference Paper · June 2019

CITATIONS READS

6 604

2 authors:

Zihao Wang K.C. Wong


The University of Sydney The University of Sydney
9 PUBLICATIONS   81 CITATIONS    44 PUBLICATIONS   553 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Autonomous UAV for pest bird deterring in vineyards View project

Hyperion Green Aircraft View project

All content following this page was uploaded by Zihao Wang on 09 July 2019.

The user has requested enhancement of the downloaded file.


Autonomous Pest Bird Deterring for Agricultural Crops Using Teams of
Unmanned Aerial Vehicles
Zihao Wang1 and KC Wong2

Abstract— An algorithm for autonomous bird deterring using do not react to UAVs. Targets that exhibit evasive behaviour
teams of unmanned aerial vehicles (UAVs) is being proposed also require the UAVs to actively pursue the targets.
in this paper. Birds cause significant damage to commercial In this paper, a novel bird deterring algorithm using teams
crops globally. A bird deterring system using autonomous
UAVs can potentially overcome the limitations of current bird of UAVs is being proposed, with a bird behaviour model de-
management methods. The problem of controlling UAVs to rived from actual experiment results. The problem of driving
deter birds is formulated as a model predictive control problem. each UAV to deter birds is formulated as a model predictive
Occupancy gird map is used to construct a world model which control problem. A model of the area to be protected is
represents the system’s knowledge of the current location of constructed using a occupancy grid map. Simulated scenarios
target birds. A bird behaviour model and a sensor model are
derived based on experimental results from a series of field are utilised to demonstrate the viability of the algorithm.
trials. The future state of the target is estimated by propagating The main contribution of the bird deterring algorithm is
the centralised world model in time. Cooperative deterring that, a novel and dynamic evader model is developed based
missions are planned autonomously by optimising cost functions on experimental results. In addition, an appropriate pursue
assigned to each UAV. A series of simulated scenarios are algorithm is developed and implemented with the evader
used to demonstrate the effectiveness of the system at driving
UAVs to protect an 8 hectare area from multiple bird flocks. model and bird deterring objective in mind.
Furthermore, it is demonstrated that by cooperating a team of The rest of this paper is arranged as follows. In section
two UAVs, the same bird deterring mission can be completed II, previous work done on the UAV bird deterring project
more efficiently compared to using a single UAV. is introduced. In section III, the bird deterring problem is
formulated. In section IV, the bird deterring strategy is ex-
I. I NTRODUCTION
plained with details on the UAV trajectory planning method.
Pest birds are responsible for a significant amount of Section V presents simulation results of the algorithm in
damage to commercial crops. In Australia, the total loss three example scenarios, followed by the discussion of the
of commercial crops to pest bird damage is estimated to results. The paper is concluded in section VI.
be at around AU$300 million annually in 2007 [1]; the
estimates in the United States can well exceed US$4.7 billion II. R ELATED W ORK
[2]. Many methods have been developed to deter birds yet This paper is an extension to our previous work in [10],
there is still a lack of panacea for every situation [3]. The where a novel bird deterrent system using multiple UAVs for
recent advancement in UAV and autonomous technologies vineyards was proposed. In the proposed system, a series of
bring increasingly more interests in using UAVs for bird ground sensors provide early warning about bird attack and
deterring among researchers and property owners [4], [5]. initial estimate of the bird location. The system launches the
UAVs are not constrained by rough terrains and obstacles UAV upon bird detection confirmation, and simultaneously
on the ground. The cost of operation can also be reduced plans the bird deterring mission based on the current knowl-
significantly by exploiting autonomous technologies. edge of bird location. The UAVs are commanded to return
Due to the difficulties in detecting bird locations precisely, and land if all birds are successfully deterred or battery level
the problem of controlling UAVs to deter birds is similar to is critical. The trajectory planning phase will be the focus of
the search problem. The search problem has been studied this paper.
extensively in the field of autonomous systems. One of the The most difficult aspect in solving the problem is mod-
most popular approach is to model the search area with a elling the bird behaviour. Naive scaring methods induce
target probability map [6], [7], [8], [9], such that only an habituation in the birds. Habituation occurs when the birds
estimate of the target location is available at initialisation. learn that the objects are not real threat. This inconsistency in
A key difference between the theoretical algorithms and the behaviour over time makes modelling bird behaviour almost
practical bird deterring mission lies in the assumption of the impossible. However, habituation can be avoided by taking
targets’ behaviour. In the search problem, dynamic targets wildlife anti-predator learning into the design considerations
*This work was not supported by any organization
of the UAV. A UAV prototype that is designed to cause anti-
1 Zihao Wang is with Faculty of Engineering & IT, School of Aerospace, predator learning in birds is built by capitalising on decades
Mechanical and Mechatronic Engineering, University of Sydney, Australia of research in bird psychology, as shown in Fig. 1. The
zwan7346@uni.sydney.edu.au prototype was utilised in a series of field trials to observe the
2 KC Wong is with Faculty of Engineering & IT, School of Aerospace,
Mechanical and Mechatronic Engineering, University of Sydney, Australia bird behaviour. The reader is referred to [11] for a detailed
kc.wong@sydney.edu.au description of our bird psychology implementation.
Fig. 2: Example target probability map of the system.
Fig. 1: Prototype UAV used in field trials.

M̃ with edge length Lx and Ly is defined by Equation (2).


III. P ROBLEM F ORMULATION 
c̄ = xmin + Lx (i − 1/2)
The problem of multiple UAVs deterring multiple bird M̃ = c̄ x ,
c̄y = ymin + Ly ( j − 1/2)
flocks from a pre-defined area with control constraints on 
the UAVs is considered. The formulation of the problem is i = 1, 2, . . . , Nx , j = 1, 2, . . . , Ny (2)
presented in this section.
To add the knowledge of the bird locations onto the map,
A. UAV and Bird Dynamics Model a probability score k ∈ [0, 1] is assigned to each cell at each
The UAVs in the problem are assumed to be multi-rotor time step t ∈ ℜ. The probability score is the indicator for the
UAVs. Both the UAVs and target birds are modelled with system’s belief in the existence of a bird flock. For example,
simple second-order dynamics. The states of UAVs and bird k = 1 at a cell indicates the system is 100% confident that
flocks, xUAV and xbird , include position, velocity (V ) and birds are located in that cell, and vice versa for k = 0. The
heading (ψ). The dynamics are constrained by maximum occupancy grid map with score k at each cell is therefore a
velocity and maximum yaw rate. All target birds are assumed probability map of the target. An example of the initial target
to form flocks, and make decisions collectively as a flock. probability map obtained by the simulated ground sensors is
The position of the flock is the geometric centre. shown in Fig. 2. The red and green triangles represent the
current locations of two bird flocks. The light grey cells are
B. World Model assigned k = 0.5 as the initial state of the world, whereas
the dark grey cells have k = 0.8 that represents the higher
The occupancy grid map is an appropriate algorithm probability around bird flocks.
for problems involving targets in two dimensional domain. The target probability map is updated at each time step by
Although in reality both the birds and the UAVs exist in the information from the bird detection sensors, the sensor model
three dimensional domain, the bird deterring problem can is formulated in Section III-C. Furthermore, k approaches a
be formulated as a 2D problem because all the crops to be non-zero nominal value if no sensor information is available.
protected are at ground level. Birds that exist well above the This dynamic aspect of the map reflects the fact that the
ground level are not of concern to the safety of the crops. system’s confidence about a cell gradually decreases over
Collisions between UAVs can be avoided by commanding time. It also accounts for the possibility of birds returning
each UAV to operate at different altitude intervals. The area to areas that were previously traversed by the UAVs. The
to be protected can be represented by rectangular cells of probability approaches the nominal value knominal according
uniform size in the x dimension between xmin and xmax ; to Equation (3).
and in the y dimension between ymin and ymax . The spatial
domain M of the occupancy gird map can thus be defined k(t + 1, c̄) = τ probability k(t, c̄) + (1 − τ probability )knominal (3)
by Equation (1).
τ probability ∈ [0, 1] is a time constant that dictates the rate at

which k approaches knominal .

c̄x ∈ [xmin , xmax ]
M = c̄ (1)
c̄y ∈ [ymin , ymax ] C. Sensor Model
Each cell in the occupancy grid map is identified by the Information about bird locations is assumed to be available
coordinates c̄ at the centre of the cell. The Nx × Ny cell set from the bird detection system, which are cameras on the
Initial cell i=0.9  Initial cell i=0.7 

Target cell Target cell

(a) t=0 s (b) t=10 s


Initial cell i=0.4  Initial cell i=0.2 

Target cell Target cell

Fig. 3: Illustration of the sensor model. Grey-scale bar


indicates probability of target existence, darker is higher
probability. (c) t=20 s (d) t=30 s

Fig. 4: Demonstration of the evasive behaviour, ithreshold =


0.5. The big circle (light blue) centred at the bird flock
ground and on the UAVs. However, during our early testing,
represents the search area. (a) Initial condition. (b) No new
it was difficult to locate the birds precisely. The camera
target cell at i = 0.7. (c) A new target cell is selected as
is modelled with considerable margins of error in order to
i < ithreshold (d) Another target cell is selected as i < ithreshold
account for the uncertainty. A circular sector of radius rsensor
at previous target cell.
and angle θsensor is placed in front of the UAV to represent
the space covered by the camera, as illustrated in Fig. 3.
If no bird flock is inside the sector, all cells covered by the distance fraction of distance(cell,UAV ) and ralert :
sector are assigned klow . If any bird flock is inside the circular  
sector, cells in the radius rerror centred at the detected bird distance(c̄, c̄UAV )
i(t + 1, c̄) = min i(t, c̄), (4)
flock are assigned khigh . ralert
In practice, ground cameras are also required to provide The notation distance(c̄1 , c̄2 ) is a simple function that com-
early warning for the system, which can then be used to putes the euclidean distance between two sets of coordinates.
decide if the UAVs should be launched. For demonstration Realistically, UAVs flying over cells that are far away from
of the core algorithm, the ground cameras are not considered the birds do not make the area less interesting for the birds.
in the problem formulation at this stage. Knowledge of the The interests should only decrease if the UAV is observed by
initial bird location is assumed. the birds. Therefore, i for each bird flock should only update
according to Equation (4) if the UAV is within radius ralert
D. Bird Behaviour Model of the bird flock. This constraint effectively eliminates the
The bird behaviour observed from our field experiments false reduction in i.
To account for the likelihood of birds returning to area that
[11] can be summarised as follows:
was previously traversed by a UAV, i approaches a nominal
• On average, birds started fleeing when the UAV was value inominal according to Equation (5).
450 m away from the UAVs; no birds were seen within
50 m of the UAV. i(t + 1, c̄) = τinterest i(t, c̄) + (1 − τinterest )inominal (5)
• Targeted birds did not return to the area at least 2 hours τinterest is the time constant that determines the speed at
after being exposed to the UAV. which i approaches inominal . Equation (5) ensures a cell with
• Once settled, Birds tended not to move to conserve low i may approach inominal when the influence of UAV is
energy. absent, so that the target birds may visit the cell in the future.
To model this behaviour, a second scalar number i ∈ [0, 1] The evasive behaviour is implemented by driving target bird
is introduced and assigned to each cell c̄ ∈ M̃ at each time flocks towards cells with high i. A demonstration of the
step t ∈ ℜ to represent the interests of the birds in visiting decision process is shown in Fig. 4. At each time step, the
each cell. The introduction of i allows the influence of the cells within radius rsearch of each bird flock are considered.
UAVs to be directly mapped onto the occupancy grid map to Among this subset of cells, the cell with the highest i is
form an interests map. The interests are assumed to decrease selected as the target cell for the bird flock. However, as
proportionally to the distance from the UAV. A circle of mentioned at the beginning of this subsection, birds conserve
radius ralert is placed at c̄UAV , the centre of the UAV. Within energy by avoiding unnecessary flights. Therefore, the target
this circle, at the future time step, the interests of each cell cell is identical to the current occupying cell unless the
takes the minimum of the previous interests state and the current occupying cell has i that is below the threshold
(a) Map of target probability cost (b) Map of distance cost (c) Map of heading difference cost (d) Map of total cost

Fig. 5: Visualisation of different components of the cost function. (a)The target probability component 1 − k(t + n, c̄) is
essentially the inverse of the target probability map for a single UAV. (b)The distance cost fd (c̄) increase linearly from 0
at the centre of the UAV to 1 at and beyond the perimeter of the search circle. (c)The heading difference cost fh (c̄) is
proportional to the heading change required. (d)Sum of all cost components, where α = 0.6, β = 0.1, γ = 0.3.

ithreshold . If i of the target cell is reduced below ithreshold computes and normalises the distance between the UAV and
before the bird flock has reached the cell, a new target cell the potential waypoint:
is selected.
distance(c̄, c̄UAV )
fd (c̄) = (8)
IV. B IRD D ETERRING S TRATEGY n ·VUAV,max
This section focuses on the trajectory planning for the Similarly, fh computes the heading change required to reach
team of UAVs. The strategy for the single UAV scenario the potential cell and normalises the results:
is first discussed, followed by the strategy for multiple UAV    
−1 c̄y −c̄UAVy
cooperation. fψ tan c̄x −c̄UAVx , ψUAV
A. Single UAV Strategy fh (c̄) = (9)
π
The trajectory planning problem can be simplified signif- The function fψ (ψ1 , ψ2 ) takes two heading angle in the
icantly by exploiting the advanced GPS mission capabili- global axis and computes the correct angular difference. For
ties of existing commercial off-the-shelf autopilots such as example, fψ (10◦ , 350◦ ) returns 20◦ instead of the incorrect
Pixhawk [12]. These autopilots accompanied with ground −340◦ . α, β and γ are weights used to balance priority
control software are able to accept GPS coordinates as between the bird deterring mission and smoothness of the
waypoints and generate trajectories automatically. trajectories. The weights sum to unity:
The first step of the strategy is to search for the optimal
waypoint for the UAV to visit. The dynamics of the multi- α +β +γ = 1 (10)
rotor type UAV is assumed to be holonomic. Therefore, the
The UAV is driven towards the optimal waypoint after
existing occupancy grid map can be exploited by making all
the search process is completed. As the UAV approaches
potential waypoints W equivalent to the cell set M̃:
the target birds, the interests map of the birds is also being
W ≡ M̃ (6) updated. This causes the target birds to leave their original
position, and to search for new cells with high interests state
Therefore each potential waypoint has coordinates at the
to settle. The target probability map is updated according to
centre of the equivalent grid cell.
the sensor model or Equation (3) at every time step. The
Receding horizon control is utilised in the proposed strat-
algorithm searches for the optimal waypoint again at future
egy. At a given time step t, the subset of waypoints Wn
time steps to incorporate the updated target probability.
reachable by the UAV in the next n steps are selected
according to the UAV’s maximum velocity and turning B. Multiple UAV Strategy
rate. The target probability of each waypoint in Wn is then If each UAV in the team naively searches for the optimal
predicted according to Equation (3). The optimality of each waypoint according to the local target probability map, all
potential waypoint is formulated with a cost function that UAVs may eventually focus on the same target and disregard
incorporates the target probability and the difficulty for the other targets. The solution to the problem is to take the
UAV to reach the waypoint. The optimal waypoint is the cell movement of other UAVs into the optimal waypoint search
with minimum cost: process.
minimise α · (1 − k(t + n, c̄)) + β · fd (c̄) + γ · fh (c̄) (7) The centralised nature of the system allows the same
c̄∈Wn
global target probability map to be shared across all UAVs. A
The different components of the cost function are visualised priority score is assigned to each UAV at initialisation. The
in Fig. 5. In Equation (7), fd is a simple function that algorithm searches for the optimal waypoint for the UAV
(a) Single UAV t=1 s (b) Single UAV t=42 s (c) Single UAV t=80 s (d) Single UAV t=123 s

(e) Multi-UAV t=1 s (f) Multi-UAV t=42 s (g) Multi-UAV t=70 s (h) Multi-UAV t=95 s

Fig. 6: Snapshots of the two single-target simulations. Figure (a), (b), (c) and (d) show the single UAV simulation. Figure
(e), (f), (g) and (h) show the multi-UAV simulation.

with highest priority first, and predicts the target probability area. At t = 42s, in Fig. 6b, the birds first entered the sensor’s
map in the next time step by driving the UAV forward in field-of-view as the UAV moves towards the target. The UAV
time. The predicted target probability is saved and used for is able to deter the birds away from the initial position, shown
the optimal waypoint search for the UAV with second highest in Fig. 6c. The birds are forced to move towards the upper
priority. The use of the predicted target probability map left corner of the protected area due to the active pursue
essentially increases the cost in the region which is going from the UAV. Eventually, the birds are deterred from the
to be explored by the first UAV in the future time steps. protected area at t = 123s as demonstrated in Fig. 6d.
Consequently, the cooperation strategy prevents the second The single-target-multi-UAV simulation is shown from
UAV from achieving the same objective as the first UAV. The Fig. 6e to Fig. 6h. The now active second UAV is assigned
strategy can be extended to include any number of agents, with lower priory than the first UAV. The major difference
provided that each agent is assigned with a different priority occurs around t = 70s, shown in Fig. 6g, when the birds
score. stop moving to the left and are forced to move towards the
upper boundary due to the presence of the second UAV. The
V. S IMULATION R ESULTS AND D ISCUSSION two UAVs remain on either side of the target cooperatively
In this section, the proposed bird deterring algorithm is to restrict the motion of the birds. The birds are deterred at
demonstrated with three simulated scenarios. The scenarios t = 95s, as shown in Fig. 6g.
are: single target and single UAV; single target and multiple In both scenarios, the proposed algorithm successfully
UAVs; multiple targets and multiple UAVs. The area to be drive the UAVs to deter birds from the protected area. The
protected in the simulation is a subset of the spatial domain. bird behaviour model is also demonstrated and the results
All cells outside the boundary of protected area have inominal adhere to the experimental results described in Section III.
lower than the cells inside the boundary. This is implemented The birds only start fleeing when the UAVs are sufficiently
so that target birds are more interested in staying inside the close to them, they also actively move towards area with
protected area. high interests and avoid intercepting the UAVs. The UAVs
on the other hand are able to pursue the birds by following
A. Single Target Scenarios the cost function, the resulting trajectories are smooth and
The initial states of the two single-target scenarios are are bounded by the constraints.
identical, with the exception that one of the UAVs is disabled In addition, the increase in efficiency when cooperating
in the single-UAV scenario. The initial estimate of the bird multiple UAVs is demonstrate in the simulation. With two
location is assumed to be available from the ground bird UAVs, the bird deterring mission time is reduced from
detection system. The simulation of the single-UAV scenario 123s to 95s, a reduction of 22.8%. In the absence of the
is shown from Fig. 6a to Fig. 6d. In Fig. 6a, the active UAV cooperation strategy, the trajectories of two UAVs would
is initialised at the bottom right corner outside the protected overlap and allow the birds to move either left or right and
area. A bird flock is randomly initialised inside the protected delay the mission completion time.
(a) Multi-target t=1 s (b) Multi-target t=25 s (c) Multi-target t=56 s (d) Multi-target t=87 s

Fig. 7: Snapshots of the multi-target-multi-UAV simulation.

B. Multiple Target Scenario Department of Primary Industry and Dr. Andrew Lucas from
The initial condition of the multi-target scenario is shown Agent Oriented Software for their support in our field trials.
in Fig. 7a. Two target flocks are initialised randomly in the We would also like to thank the help from the University of
protected area. Two UAVs are initialised outside the lower Sydney UAV-Lab members, Matthew Anderson, Pengfei Yu
boundary of the area. Both UAVs are driven towards the and Yucheng Huang.
initial estimate of the flock location. At t = 25s, as shown R EFERENCES
in Fig. 7b, both flocks are in the filed-of-view of the sensor.
[1] J. Tracey, M. Bomford, Q. Hart, G. Saunders, and R. Sinclair,
In Fig. 7c, it is clear that the relative positions among the Managing bird damage to fruit and other horticultural crops. Bureau
flocks and the UAVs cause the two flocks to evade in different of Rural Science, Canberra, 2007.
directions. Flock-1 moves towards the upper right corner [2] S. A. Shwiff, K. L. Ernest, S. L. Degroot, A. M. Anderson, and S. S.
Shwiff, “The Economic Impact of Blackbird Damage to Crops,” in
of the area, whereas flock-2 moves towards the upper left Ecology and Management of Balckbirds (lcteridate) in North America,
corner. The algorithm then assigns UAV-1 to deter flock-1, G. Linz, M. Avery, and R. Dolbeer, Eds. Boca Raton, FL.: CRC Press,
and UAV-2 to flock-2, according to the cooperation strategy. 2017, ch. 12, pp. 207–216.
[3] M. R. Conover, Resolving Human-Wildlife Conflicts. Boca Raton,
In Fig. 7d, both flocks are deterred from the area at t = 87s. FL.: CRC Press, 2001.
This simulation demonstrates the algorithm’s capability to [4] B. A. Grimm, B. A. Lahneman, P. B. Cathcart, R. C. Elgin, G. L.
cooperate multiple UAVs to deter multiple target bird flocks. Meshnik, and J. P. Parmigiani, “Autonomous Unmanned Aerial Vehicle
System for Controlling Pest Bird Population in Vineyards,” in Volume
This is a crucial capability in bird deterring mission, because 4: Dynamics, Control and Uncertainty, Parts A and B. ASME, nov
a single flock of birds may split into multiple smaller flocks 2012, p. 499.
while being deterred. [5] Y. Ampatzidis, J. Ward, and O. Samara, “Autonomous system for
pest bird control in specialty crops using unmanned aerial vehicles,”
The example simulations affirm the applicability of the in American Society of Agricultural and Biological Engineers Annual
proposed algorithm. The algorithm should be evaluated fur- International Meeting 2015, vol. 2, 2015, pp. 962–968.
ther using more simulations. For a given set of mission [6] C. W. Lum, R. T. Rysdyk, and A. Pongpunwattana, “Occupancy based
map searching using heterogeneous teams of autonomous vehicles,”
parameters (area to be protected and number of targets), there AIAA Guidance, Navigation, and Control Conference and Exhibit, no.
exists an optimal number of UAVs to complete the mission in August, pp. 1–15, 2006.
the shortest time. A large number of numerical simulations [7] J. R. Riehl, G. E. Collins, and J. P. Hespanha, “Cooperative search
by UAV teams: A model predictive approach using dynamic graphs,”
are needed to search for the optimum. IEEE Transactions on Aerospace and Electronic Systems, vol. 47,
VI. C ONCLUSION no. 4, pp. 2637–2656, 2011.
[8] S. Waharte and N. Trigoni, “Supporting search and rescue operations
In this paper, a novel algorithm for protecting agricultural with UAVs,” Proceedings - EST 2010 - 2010 International Conference
crops from pest birds using teams of UAVs is proposed. The on Emerging Security Technologies, ROBOSEC 2010 - Robots and
Security, LAB-RS 2010 - Learning and Adaptive Behavior in Robotic
problem is formulated with occupancy grid map to allow Systems, pp. 142–147, 2010.
uncertainties in sensor measurement. Furthermore, the bird [9] L. Bertuccelli and J. How, “Search for dynamic targets with uncertain
behaviour is modelled using interests map that possesses probability maps,” in 2006 American Control Conference. IEEE,
2006, p. 6 pp.
properties derived from experimental results. It is demon- [10] Z. Wang and K. Wong, “Autonomous Bird Deterrent System for
strated using a series of simulation that the algorithm is able Vineyards using Multiple Bio-inspired Unmanned Aerial Vehicle,” in
to cooperate multiple UAVs to deter multiple bird flocks. Proceedings of the 10th International Micro Air Vehicle Conference
and Competition, Melbourne, 2018, pp. 256–281.
Future research should focus on searching for the optimal [11] Z. Wang, A. S. Griffin, A. Lucas, and K. C. Wong, “Psychological
number of UAVs for a given set of mission parameters, as warfare in vineyard : Using drones and bird psychology to control bird
well as including constraints on the endurance of each UAV. damage to wine grapes,” Crop Protection, vol. 120, no. September
2018, pp. 163–170, 2019.
Experiments will be conducted with the prototype UAVs in [12] MRobotics, “mRo Pixhawk 2.4.6 Cool Kit (Limited edition),”
the near future to validate the algorithm. 2016. [Online]. Available: https://store.mrobotics.io/product-p/mro-
pixhawk1-fullkit-mr.htm
ACKNOWLEDGMENT
We would like to thank Dr. Andrea Griffin from the Uni-
versity of Newcastle, Darren Fahey from New South Wales

View publication stats

You might also like