SlideShare une entreprise Scribd logo
1  sur  89
Télécharger pour lire hors ligne
Physical Flying Agents: Ummanned Aerial Vehicles
Control, Coordination and Emerging Behaviour of
multi-UAV systems
Corrado Santoro, Fabio D’Urso,
Fabrizio Messina, Federico Fausto Santoro
ARSLAB - Autonomous and Robotic Systems Laboratory
Dipartimento di Matematica e Informatica
Universit`a di Catania, Italy
santoro@dmi.unict.it
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 1 / 63
Introduction Flying Machines
Flying Machines
“To fly” has been one of the dreams of the humans
But the story tells that building flying machines is not easy!
A basic and common component: the wing
Two kind of “flying machines” (excluding rockets and balloons):
1 Fixed wing, i.e. airplanes
2 Rotating wing, i.e. helicopters
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 2 / 63
Introduction Flying Machines
Design and Implementation problems
Airplanes (fixed wing)
Wing profile and shape
Wing and stab size/area
Wing load
Position of the Center of Gravity
Motion is achieved by driving (mechanically) the mobile surfaces (aleirons, rudder,
elevator)
Helicopters (rotating wing, VTOL)
Size and structure of the rotor
Mechanical system to control motion inclination
Yaw balancing system for the rotor at tail
Position of the Center of Gravity
Motion is achieved by (mechanically) changing the inclination of the rotor and the
pitch of the rotor wings
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 3 / 63
Introduction Multirotors
Multirotors
A multirotor (a.k.a. “drone”) is an aerial vehicle characterised by:
An even set of equal horizontal propellers (and motors), ≥ 4, symmetrically
placed in a circular shape
A symmetric/balanced airframe (even if not strictly mandatory)
VTOL (Vertical Take-off and Landing) capabilities
Four degrees of freedom, XYZ + Heading
No critical issues from the mechanical/aerodynamic point of view
Total control in software, no mechanical parts
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 4 / 63
Introduction Multirotors
Why Multirotors are so popular?
The four revolutions:
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
Introduction Multirotors
Why Multirotors are so popular?
The four revolutions:
1 The Nintendo Wii revolution
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
Introduction Multirotors
Why Multirotors are so popular?
The four revolutions:
1 The Nintendo Wii revolution
The first remote control with “gesture recognition”
Made possible thanks to IMUs (accelerometers/gyroscopes)
Contributed to spread these sensors and lower their cost
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
Introduction Multirotors
Why Multirotors are so popular?
The four revolutions:
1 The Nintendo Wii revolution
The first remote control with “gesture recognition”
Made possible thanks to IMUs (accelerometers/gyroscopes)
Contributed to spread these sensors and lower their cost
2 The LiPo batteries revolution
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
Introduction Multirotors
Why Multirotors are so popular?
The four revolutions:
1 The Nintendo Wii revolution
The first remote control with “gesture recognition”
Made possible thanks to IMUs (accelerometers/gyroscopes)
Contributed to spread these sensors and lower their cost
2 The LiPo batteries revolution
To fly requires “mechanical power” and “light” equipment/engines
Electric motors are light enough but need high capacity batteries
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
Introduction Multirotors
Why Multirotors are so popular?
The four revolutions:
1 The Nintendo Wii revolution
The first remote control with “gesture recognition”
Made possible thanks to IMUs (accelerometers/gyroscopes)
Contributed to spread these sensors and lower their cost
2 The LiPo batteries revolution
To fly requires “mechanical power” and “light” equipment/engines
Electric motors are light enough but need high capacity batteries
3 The MCU/IoT revolution
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
Introduction Multirotors
Why Multirotors are so popular?
The four revolutions:
1 The Nintendo Wii revolution
The first remote control with “gesture recognition”
Made possible thanks to IMUs (accelerometers/gyroscopes)
Contributed to spread these sensors and lower their cost
2 The LiPo batteries revolution
To fly requires “mechanical power” and “light” equipment/engines
Electric motors are light enough but need high capacity batteries
3 The MCU/IoT revolution
IoT, Edge/Fog computing require small and light but powerfull devices
Microcontrollers are enabling technologies for this
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
Introduction Multirotors
Why Multirotors are so popular?
The four revolutions:
1 The Nintendo Wii revolution
The first remote control with “gesture recognition”
Made possible thanks to IMUs (accelerometers/gyroscopes)
Contributed to spread these sensors and lower their cost
2 The LiPo batteries revolution
To fly requires “mechanical power” and “light” equipment/engines
Electric motors are light enough but need high capacity batteries
3 The MCU/IoT revolution
IoT, Edge/Fog computing require small and light but powerfull devices
Microcontrollers are enabling technologies for this
4 The 3D printing revolution
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
Introduction Multirotors
Why Multirotors are so popular?
The four revolutions:
1 The Nintendo Wii revolution
The first remote control with “gesture recognition”
Made possible thanks to IMUs (accelerometers/gyroscopes)
Contributed to spread these sensors and lower their cost
2 The LiPo batteries revolution
To fly requires “mechanical power” and “light” equipment/engines
Electric motors are light enough but need high capacity batteries
3 The MCU/IoT revolution
IoT, Edge/Fog computing require small and light but powerfull devices
Microcontrollers are enabling technologies for this
4 The 3D printing revolution
Mechanical prototyping has always been a really hard issue
3D printing allowed fast prototyping with low costs
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
Multirotor Basics Reference and Airframe
Multirotor Basics
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 6 / 63
Multirotor Basics Reference and Airframe
Reference System
The pose of the multirotor is represented by:
{X, Y , Z, φ, θ, ψ}, in the Earth frame
X, Y , Z are the 3D position coordinates (e.g. Latitude, Longitude, Altitude)
The other parameters are the Euler angles that represents the attitude:
roll, φ
pitch, θ
yaw, ψ
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 7 / 63
Multirotor Basics Reference and Airframe
Airframes and Constraints
Motors/propellers must be the same
Motors/propellers must be even ≥ 4
Motors/propellers must be placed in a circular shape
Propellers must rotate in opposite directions in-pair (third Newton’s Law
compensation)
Propellers must have opposite pitches in-pair
The number and position of propellers define the airframe model
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 8 / 63
Multirotor Basics Reference and Airframe
Motion
Motion is achieved by modulating propeller speeds
We can assume a virtual pilot able to give the commands (as in an airplane):
Thrust, the “power” to the motors (throttle control)
Roll and Pitch, the “control joke”
Yaw, the “pedals”
Let us assume that these commands are variables belonging to the ranges:
thrust cmd ∈ [0, THmax ]
roll cmd ∈ [−Rmax , Rmax ]
pitch cmd ∈ [−Pmax , Pmax ]
yaw cmd ∈ [−Ymax , Ymax ]
These commands must be “transferred” to the motors on the basis of the specific
airframe
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 9 / 63
Multirotor Basics Reference and Airframe
Motion: Hovering and Z-translation
Vertical motion is achieved by keeping all propeller speeds the same and proportional to
a thrust command (we assume 1-proportionality):
ω1 = thrust cmd
ω2 = thrust cmd
ω3 = thrust cmd
ω4 = thrust cmd
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 10 / 63
Multirotor Basics Reference and Airframe
Motion: Yaw rotation in X-shaped quads
Yaw rotation is achieved by modulating propeller speeds in-pairs 1 − 3/2 − 4,
proportional to a yaw command:
ω1 = thrust cmd − yaw cmd
ω2 = thrust cmd + yaw cmd
ω3 = thrust cmd − yaw cmd
ω4 = thrust cmd + yaw cmd
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 11 / 63
Multirotor Basics Reference and Airframe
Motion: Roll rotation in X-shaped quads
Roll rotation is achieved by modulating propeller speeds in-pairs 1 − 4/2 − 3,
proportional to a roll command:
ω1 = thrust cmd − yaw cmd + roll cmd
ω2 = thrust cmd + yaw cmd − roll cmd
ω3 = thrust cmd − yaw cmd − roll cmd
ω4 = thrust cmd + yaw cmd + roll cmd
Roll rotation implies a decomposition of the thrust force: a drag force appears that
drives the frame in a translated flight along Y axis
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 12 / 63
Multirotor Basics Reference and Airframe
Motion: Pitch rotation in X-shaped quads
Pitch rotation is achieved by modulating propeller speeds in-pairs 1 − 2/3 − 4,
proportional to a pitch command:
ω1 = thrust cmd − yaw cmd + roll cmd + pitch cmd
ω2 = thrust cmd + yaw cmd − roll cmd + pitch cmd
ω3 = thrust cmd − yaw cmd − roll cmd − pitch cmd
ω4 = thrust cmd + yaw cmd + roll cmd − pitch cmd
Pitch rotation implies a decomposition of the thrust force: a drag force appears that
drives the frame in a translated flight along X axis
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 13 / 63
Multirotor Basics Reference and Airframe
Motion in Plus-shaped quads
ω1 = thrust cmd − yaw cmd + pitch cmd
ω2 = thrust cmd + yaw cmd − roll cmd
ω3 = thrust cmd − yaw cmd − pitch cmd
ω4 = thrust cmd + yaw cmd + roll cmd
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 14 / 63
Multirotor Basics Reference and Airframe
Motion: the Mixer
The mixer is the software component that translates attitude commands to motor
commands
It depends airframe model and basically implements a matrix M such that



ω1
ω2
· · ·
ωn


 = M



roll cmd
pitch cmd
yaw cmd
thrust cmd



Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 15 / 63
Control System
The Control System
The Control System of a Multirotor
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 16 / 63
Control System Rate and Attitude Control
Rate and Attitude Control
Mixer outputs are PWM signals that do not have control on the real forces of the
propellers
In order to ensure stability, proper sensors must be employed that detect the
attitude of the multirotor
The control of stability is achieved by means of two control loops:
Rate Control, controls angular speeds ˙φ, ˙θ, ˙ψ, by means of a 3-axis gyro
Attitude Control, controls Euler angles φ, θ, ψ, by means of a 6-DOF or
9-DOF IMU:
3-axis Gyroscope
3-axis Accelerometer
3-axis Magnetometer
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 17 / 63
Control System Rate and Attitude Control
Attitude Control: Basic Schema
Attitude Control module is implemented as a periodic task that perform a
proportional control on the basis of target and current Euler angles
Target Angle, given as input
Current Angle, given by the sensor fusion module
Attitude Control runs with a period in the order of 2.5 ms (400 Hz)
The output of each controller is angular speed (rate) required to reach that
target angle
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 18 / 63
Control System Rate Control
Rate Control
The Rate Control module is a periodic task that performs a
Proportional-Integral-Derivative control on each angular rate ˙φ, ˙θ, ˙ψ on the basis
of:
Target Rates, given as input
Current Rates, given by the gyro
The periodic task runs at a period of (at least) 2.5 ms (400 Hz)
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 19 / 63
Control System Rate Control
Attitude Estimator
The most critical part of Attitude Control is the Sensor Fusion algorithm that
implements the Attitude Estimator
The literature reports a plethora of solutions:
Kalman Filters
Complementary Filters
Direction Cosine Matrix Algorithm
Gradient Descend
...
(Some) quality factors of the estimator:
Resilience to vibrations
Difference w.r.t. the real attitude
Rate of convergence
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 20 / 63
Control System Rate Control
Basic Software Modules
Basic Modules for Manual Control
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 21 / 63
Control System Other Controls
Other Controls
Other Kind of Controls in a Multirotor
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 22 / 63
Control System Other Controls
Altitude Control
Altitude Control
Altitude Z is estimated by means of proper sensors (barometer, in some case
integrated with measures from accelerometers, ultrasonic sensors, etc.)
The Vertical Speed Vz is determined by a derivative of the altitude
Control is performed by means of two control loops that drive the thrust command
An inner PI(D) speed controller driving the thurst
An outer P-(FF) position controller driving the speed controller
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 23 / 63
Control System Other Controls
Position Control
Pose Estimator
GPS signal is used to determine (and control) the pose in the Earth frame
An Extended Kalman Filter (EKF) estimator is used to fuse data from GPS and
IMU to estimate:
Position {X, Y , Z}, usually in NED coordinates
Speeds {Vx , Vy , Vz }
Euler Angles {φ, θ, ψ}
The EKF is complex and CPU-time consuming (in PX4, it is a 22-state estimator)
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 24 / 63
Control System Other Controls
Position Control
Position Control
Position Control is performed by means of two pair of control loops (North and
East) that drive the target roll and pitch of the attitude controller
An inner PI(D) speed controller driving the target attitude (roll and pitch)
An outer P-(FF) position controller driving the speed controller
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 25 / 63
Control System Other Controls
Overall Software Modules of an Autopilot
Attitude
Control
Rate
Control
Airframe
Model
Motors
IMU
EKF
Estimator
Software Hardware
Altitude and Vz
Control
Position and
Vx/Vy
Control
GPS
Communication
Interface
All of these components run in a MCU-based flight control board (or Flight
Control Unit - FCU)
A data interface (Communication Interface) is also included to let an external PC:
Configure the board (e.g. PID constants)
Calibrate sensors
Get telemetry data
Send all possible set-points (i.e. target position, target speeds, target
attitude, etc.)
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 26 / 63
Control System Autopilot Hardware
Commercial Components: Hardware
Pixhawk
ArduPilot
NAZE32
CrazyFlie
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 27 / 63
Control System Autopilot Software
Open-source Flight Stacks
PX4
https://github.com/PX4/Firmware
ArduCopter
http://firmware.ardupilot.org/
CleanFlight/BetaFlight
http://cleanflight.com/
BitCraze
https://github.com/bitcraze/
crazyflie-firmware
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 28 / 63
UAV Setup
Set-up for single and multi-UAV
Set-up for single and multi-UAV
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 29 / 63
UAV Setup Architecture
Architecture
PROPULSION
SYSTEM
FLIGHT
CONTROL
UNIT
MANUAL
REMOTE
CONTROL
GPS
COMPANION
COMPUTER
FOR HIGH-
LEVEL LOGIC
TELEMETRY
AND MONITORING
LINK
BASE
STATION
INTER-UAV
LINK
Propulsion System, motors and propellers
FCU, Flight Control Board for stabilization and navigation
Remote Control, for manual intervention
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 30 / 63
UAV Setup Architecture
Architecture
PROPULSION
SYSTEM
FLIGHT
CONTROL
UNIT
MANUAL
REMOTE
CONTROL
GPS
COMPANION
COMPUTER
FOR HIGH-
LEVEL LOGIC
TELEMETRY
AND MONITORING
LINK
BASE
STATION
INTER-UAV
LINK
GPS, for outdoor position and navigation
Base Station, Telemetry & Monitoring Link connected to a Ground Base Station
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 31 / 63
UAV Setup Architecture
Architecture
PROPULSION
SYSTEM
FLIGHT
CONTROL
UNIT
MANUAL
REMOTE
CONTROL
GPS
COMPANION
COMPUTER
FOR HIGH-
LEVEL LOGIC
TELEMETRY
AND MONITORING
LINK
BASE
STATION
INTER-UAV
LINK
Companion Computer, connected to the FCU and running the high-level control
logic (flight strategy) for the UAV
Inter-UAV Link, wireless network to let UAVs interact and organise (if necessary)
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 32 / 63
UAV Setup Multi-UAV Flight
Multi-UAV Autonomous Flight
Objective: coordinate a set of UAVs in a flight mission
Area Scouting
Area map
3D imaging and reconstruction
Aerophotogrammetry
Rescue Missions
Victim detection
Survival packages drop
Fun and Entertainment
Intel Entertainment Light Drones
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 33 / 63
UAV Setup Multi-UAV Flight
Multi-UAV Autonomous Flight
Mission Planning Strategies
Pre-planned fixed paths
Pre-planned paths with sporadic runtime adaptation
Self-organisation with continuous adaptation of paths at
runtime
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 34 / 63
UAV Setup Multi-UAV Flight
Pre-planned fixed paths
Base Station
input : Objective, UAVSet;
paths ← compute paths for uavs(Objective, UAVSet);
for i := 0 to |paths| do
send(UAVSet[i], paths[i]);
end
for i := 0 to |paths| do
start uav(UAVSet[i]);
end
UAV
p ← receive path();
wait start();
takeoff ();
do path(p);
land();
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 35 / 63
UAV Setup Multi-UAV Flight
Pre-planned paths with sporadic runtime adaptation
Base Station
input : Objective, UAVSet;
paths ← compute paths for uavs(Objective, UAVSet);
for i := 0 to |paths| do
send(UAVSet[i], paths[i]);
end
for i := 0 to |paths| do
start uav(UAVSet[i]);
end
while not(completed) do
receive telemetry data();
if replanning necessary then
paths ← do replan(Objective, UAVSet);
for i := 0 to |paths| do
send(UAVSet[i], paths[i]);
end
end
end
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 36 / 63
UAV Setup Multi-UAV Flight
Self-organisation with continuous adaptation of paths at
runtime
UAV
input : Objective;
takeoff ();
while not(completed) do
other uavs data ← receive telemetry data();
{Vx , Vy , Vz } ← compute navigation target speeds(Objective, other uavs data);
send targets to FCU(Vx , Vy , Vz );
broadcast my own telemetry data();
end
land();
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 37 / 63
UAV Setup Multi-UAV Flight
Self-organisation with continuous adaptation of paths at
runtime
UAV
input : Objective;
takeoff ();
while not(completed) do
other uavs data ← receive telemetry data();
{Vx, Vy, Vz} ← compute navigation target speeds(Objective, other uavs data);
send targets to FCU(Vx , Vy , Vz );
broadcast my own telemetry data();
end
land();
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 38 / 63
UAV Setup Multi-UAV Flight
Self-organisation with continuous adaptation of paths at
runtime
{Vx, Vy, Vz} ← compute navigation target speeds(Objective, other uavs data)
A per-agent function that must “think locally” to achieve a global
objective (let emerge a global behaviour)
Continuously called, because environment changes
It is asked to often use incomplete, partial or stale data
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 39 / 63
Flocking
Flocking
Flocking
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 40 / 63
Flocking Flocks, Herds, Schools
Flocking
Flocking has been studied since a long time
Reynolds in 1987 [Rey87] formalised the collective behaviour of
animals (flocks of bird, schools of fish, herds of land animals, etc.)
The study of the collective behaviour of animals is what we need:
They “think locally” with the objective of remaining aggregated
They continuously evaluate the “next direction” (motion speeds)
They “see” only some individuals of the set, so information each
individual has is limited
[Rey87] Reynolds, C. W. (1987) Flocks, Herds, and Schools: A Distributed Behavioral
Model, in Computer Graphics, 21(4) (SIGGRAPH ’87 Conference Proceedings) pages
25-34.
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 41 / 63
Flocking Flocks, Herds, Schools
Basic Flocking Behaviour
The “Golden Rules”
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 42 / 63
Flocking Flocks, Herds, Schools
Basic Flocking Behaviour
The “Golden Rules”
Basic Objective: To remain aggregated
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 42 / 63
Flocking Flocks, Herds, Schools
Basic Flocking Behaviour
The “Golden Rules”
Basic Objective: To remain aggregated
R1—Separation: keep yourself far enough from individuals you see,
to avoid crowds and collisions
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 42 / 63
Flocking Flocks, Herds, Schools
Basic Flocking Behaviour
The “Golden Rules”
Basic Objective: To remain aggregated
R1—Separation: keep yourself far enough from individuals you see,
to avoid crowds and collisions
R2—Alignment: keep your heading as close as possible to the
heading of the individuals you see
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 42 / 63
Flocking Flocks, Herds, Schools
Basic Flocking Behaviour
The “Golden Rules”
Basic Objective: To remain aggregated
R1—Separation: keep yourself far enough from individuals you see,
to avoid crowds and collisions
R2—Alignment: keep your heading as close as possible to the
heading of the individuals you see
R3—Cohesion: keep your position as close as possible to the
(estimated) center of the flock
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 42 / 63
Flocking The Main Objective of a Flock
Main Flock Objective
The Fourth Rule
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 43 / 63
Flocking The Main Objective of a Flock
Main Flock Objective
The Fourth Rule
Main Objective: To remain aggregated for what????
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 43 / 63
Flocking The Main Objective of a Flock
Main Flock Objective
The Fourth Rule
Main Objective: To remain aggregated for what????
Scout an area to find a prey
Stalk and catch a prey
Follow a migratory path
...
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 43 / 63
Flocking The Main Objective of a Flock
Main Flock Objective
The Fourth Rule
Main Objective: To remain aggregated for what????
Scout an area to find a prey
Stalk and catch a prey
Follow a migratory path
...
Each of those objectives require a precise strategy
A fourth rule that drives individual’s behaviour together with R1, R2
and R3
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 43 / 63
Flocking The Main Objective of a Flock
Examples of Flock Objectives
Stalk and catch a prey: R4—Follow the prey
If you see the prey, apply rules R1, R2, R3 but superimpose the
following of prey’s path
If you don’t see the prey, trust other individuals and simply apply
rules R1, R2, R3
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 44 / 63
Flocking The Main Objective of a Flock
Examples of Flock Objectives
Stalk and catch a prey: R4—Follow the prey
If you see the prey, apply rules R1, R2, R3 but superimpose the
following of prey’s path
If you don’t see the prey, trust other individuals and simply apply
rules R1, R2, R3
Follow a migratory path: R4—Follow the leader
In a migration, usually a leader-followers approach is used
So, if you are the leader, apply rules R1, R2, R3 but superimpose the
migratory path
If you are a follower, trust the leader and simply apply rules R1, R2,
R3
A leader election policy must be considered
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 44 / 63
Scouting with UAV Flocks
Case-Study
Back to UAVs
Using a Flock of UAVs to perform Area Monitoring
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 45 / 63
Scouting with UAV Flocks
Main Flock Objective
Scan an area of terrain and take photos for ...
Finding specific hot-spots
Aerophotogrammetry
3D recostruction
IR Camera Analysis
...
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 46 / 63
Scouting with UAV Flocks
Main Algorithm Objectives
Scan an area of terrain and take photos
Minimal mission time: it is a critical parameter for UAVs
No “overcovering”, i.e. same area part not covered by two or more
UAVs
Scalability: 10 or 100 or 1000 UAVs? It doesn’t matter!
Fault-tolerance: a UAV crashes? Well, the other UAVs will do its
job!
No centralised coordination entity: purely self-organising
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 47 / 63
Scouting with UAV Flocks Flock Shape
Choosing Flock Shape
Objective: No “overcovering”
Any flock shape where a UAV is not behind another UAV avoids
overcovering
Left Shape does not avoid overcovering
Center and Right Shapes avoid overcovering
In general, any linear shape with no overlapping has the desired
characteristic
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 48 / 63
Scouting with UAV Flocks Flock Objective
Flock Objective
Main Flock Objective
R4—Scout a certain area of terrain
Implementation
Ideal flock shape: linear
leader-followers approach
The Leader plans the path
The Followers follows the leader
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 49 / 63
Scouting with UAV Flocks Path Planning
Flock Communication
Agents communicate
Short-range Broadcast Communication + Gossiping
Each agent periodically spread (in broadcast):
1 Telemetry data (its own position)
2 Information on area parts already covered
Data 1 is used by everyone for flocking
Data 2 is used by the leader to perform path planning
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 50 / 63
Scouting with UAV Flocks Leader Election
Flock Communication
Leader Election
A leader-followers approach requires leader election
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 51 / 63
Scouting with UAV Flocks Leader Election
Flock Communication
Leader Election
A leader-followers approach requires leader election
Algorithm for leader election must be fault-tolerant and distributed,
and must guarantee an agreement
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 51 / 63
Scouting with UAV Flocks Leader Election
Flock Communication
Leader Election
A leader-followers approach requires leader election
Algorithm for leader election must be fault-tolerant and distributed,
and must guarantee an agreement
Since each agent periodically broadcasts data, “all agents will soon
know all agents”
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 51 / 63
Scouting with UAV Flocks Leader Election
Flock Communication
Leader Election
A leader-followers approach requires leader election
Algorithm for leader election must be fault-tolerant and distributed,
and must guarantee an agreement
Since each agent periodically broadcasts data, “all agents will soon
know all agents”
Each agent can individually choose the leader on the basis of a
common rule: e.g. the known agent with the lowest “ID”
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 51 / 63
Scouting with UAV Flocks Leader Election
Flock Communication
Leader Election
A leader-followers approach requires leader election
Algorithm for leader election must be fault-tolerant and distributed,
and must guarantee an agreement
Since each agent periodically broadcasts data, “all agents will soon
know all agents”
Each agent can individually choose the leader on the basis of a
common rule: e.g. the known agent with the lowest “ID”
If the leader crashes, it won’t send data anymore and soon disapper
from the list of known agents ⇒ the known agent with the lowest
“ID” will be the new leader
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 51 / 63
Scouting with UAV Flocks Flocking
Flocking Rules
Reynold’s Rules
R1—Separation
R2—Alignment
R3—Cohesion
The concepts must be maintained ...
... but the implementation must consider the main objective:
linear formation line
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 52 / 63
Scouting with UAV Flocks Flocking
Flocking Rules
R1—Separation
Vy computed as (inversely) proportional to the distance to the
nearest agent
The aim is to avoid collisions (along y) and to “make space” to host
a new agent into the formation line
Vx (computed by rule R3—Cohesion) is forced to “0” if the agent is
“too close” to another agent (avoid collision along x)
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 53 / 63
Scouting with UAV Flocks Flocking
Flocking Rules
R2—Alignment
Objective: to copy leader’s heading
wz (yaw speed) computed as proportional to the difference between
this agent’s heading and leader’s heading
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 54 / 63
Scouting with UAV Flocks Flocking
Flocking Rules
R3—Cohesion
Vx computed as directly proportional to the distance to the formation
line (unless rule R1 intervenes)
Vy computed as directly proportional to the distance to the nearest
agent in the direction of the leader (unless rule R1 intervenes)
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 55 / 63
Practical Aspects
Practical Aspects
Practical Aspects
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 56 / 63
Practical Aspects
Algoritm Tuning and Test
Vx , Vy and ωz computed by R1, R2 and R3 are subject to
“proportionality criterias” driven by some coefficients
Such coeffients must be properly tuned
Tuning strongly depends on UAV dynamics
Wrong tuning may cause:
Collisions
Oscillating flock behaviour
Flock partition
Instability
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 57 / 63
Practical Aspects
Algorithm Implementation, Tuning and Test
Steps
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
Practical Aspects
Algorithm Implementation, Tuning and Test
Steps
1 Basic Simulation of the Algorithm
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
Practical Aspects
Algorithm Implementation, Tuning and Test
Steps
1 Basic Simulation of the Algorithm
2 Graphical 2D Simulation of the Algorithm
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
Practical Aspects
Algorithm Implementation, Tuning and Test
Steps
1 Basic Simulation of the Algorithm
2 Graphical 2D Simulation of the Algorithm
3 Graphical 3D Simulation of the Algorithm
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
Practical Aspects
Algorithm Implementation, Tuning and Test
Steps
1 Basic Simulation of the Algorithm
2 Graphical 2D Simulation of the Algorithm
3 Graphical 3D Simulation of the Algorithm
4 Simulation of real/physical behaviour of UAVs
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
Practical Aspects
Algorithm Implementation, Tuning and Test
Steps
1 Basic Simulation of the Algorithm
2 Graphical 2D Simulation of the Algorithm
3 Graphical 3D Simulation of the Algorithm
4 Simulation of real/physical behaviour of UAVs
5 Simulation of real implementation of the algorithm (includes
flight stack and network)
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
Practical Aspects
Algorithm Implementation, Tuning and Test
Steps
1 Basic Simulation of the Algorithm
2 Graphical 2D Simulation of the Algorithm
3 Graphical 3D Simulation of the Algorithm
4 Simulation of real/physical behaviour of UAVs
5 Simulation of real implementation of the algorithm (includes
flight stack and network)
6 Porting to real UAVs
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
Practical Aspects
Algorithm Implementation, Tuning and Test
Steps
1 Basic Simulation of the Algorithm—Done!
2 Graphical 2D Simulation of the Algorithm—Done!
3 Graphical 3D Simulation of the Algorithm—Done!
4 Simulation of real/physical behaviour of UAVs—Done!
5 Simulation of real implementation of the algorithm (includes
flight stack and network)—Almost Done!
6 Porting to real UAVs—Not yet done :-(
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 59 / 63
Practical Aspects
Bibliography
Bibliography
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 60 / 63
Practical Aspects
References
[1] Fabio DUrso, Corrado Santoro and Federico Fausto Santoro: Integrating
Heterogeneous Tools for Physical Simulation of multi-Unmanned Aerial Vehicles,
WOA 2018, Palermo, Jun. 27-29 (2018)
[2] Massimiliano De Benedetti, Fabio D’Urso, Giancarlo Fortino, Fabrizio Messina,
Giuseppe Pappalardo, Corrado Santoro: A fault-tolerant self-organizing flocking
approach for UAV aerial survey. J. Network and Computer Applications 96: 14-30
(2017)
[3] Massimiliano De Benedetti, Fabrizio Messina, Giuseppe Pappalardo, Corrado Santoro:
Web-based Simulations of Multi-agent Systems. Simulation 93(9): 737-748 (2017)
[4] Sebastiano Battiato, Luciano Cantelli, Fabio D’Urso, Giovanni Maria Farinella, Luca
Guarnera, Dario Guastella, Carmelo Donato Melita, Giovanni Muscato, Alessandro Ortis,
Francesco Ragusa, Corrado Santoro: A System for Autonomous Landing of a UAV on
a Moving Vehicle. ICIAP (1) 2017: 129-139
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 61 / 63
Practical Aspects
References
[5] Massimiliano De Benedetti, Fabio D’Urso, Fabrizio Messina, Giuseppe Pappalardo,
Corrado Santoro: 3D Simulation of Unmanned Aerial Vehicles. WOA 2017: 7-12
[6] Tobia Calenda, Massimiliano De Benedetti, Fabrizio Messina, Giuseppe Pappalardo,
Corrado Santoro: AgentSimJS: A Web-based Multi-Agent Simulator with 3D
Capabilities. WOA 2016: 117-123
[7] Massimiliano De Benedetti, Fabio D’Urso, Fabrizio Messina, Giuseppe Pappalardo,
Corrado Santoro: UAV-based Aerial Monitoring: A Performance Evaluation of a
Self-Organising Flocking Algorithm. 3PGCIC 2015: 248-255
[8] Massimiliano De Benedetti, Fabio D’Urso, Fabrizio Messina, Giuseppe Pappalardo,
Corrado Santoro: Self-Organising UAVs for Wide Area Fault-tolerant Aerial
Monitoring. WOA 2015: 135-141
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 62 / 63
Practical Aspects
Physical Flying Agents: Ummanned Aerial Vehicles
Control, Coordination and Emerging Behaviour of
multi-UAV systems
Corrado Santoro, Fabio D’Urso,
Fabrizio Messina, Federico Fausto Santoro
ARSLAB - Autonomous and Robotic Systems Laboratory
Dipartimento di Matematica e Informatica
Universit`a di Catania, Italy
santoro@dmi.unict.it
Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 63 / 63

Contenu connexe

Tendances

DESIGN AND FABRICATION OF QUADCOPTER
DESIGN AND FABRICATION OF QUADCOPTERDESIGN AND FABRICATION OF QUADCOPTER
DESIGN AND FABRICATION OF QUADCOPTER
Prasanna Achanti
 
Quadcopter Simulation
Quadcopter SimulationQuadcopter Simulation
Quadcopter Simulation
Adnan Khan
 
2009 development and implementation of a control system for a quadrotor uav
2009 development and implementation of a control system for a quadrotor uav2009 development and implementation of a control system for a quadrotor uav
2009 development and implementation of a control system for a quadrotor uav
jaeaj
 

Tendances (20)

DESIGN AND FABRICATION OF QUADCOPTER
DESIGN AND FABRICATION OF QUADCOPTERDESIGN AND FABRICATION OF QUADCOPTER
DESIGN AND FABRICATION OF QUADCOPTER
 
major project ppt
major project pptmajor project ppt
major project ppt
 
Construction of Quadcopter
Construction of QuadcopterConstruction of Quadcopter
Construction of Quadcopter
 
Quadcopter Talk (Abstractions)
Quadcopter Talk (Abstractions)Quadcopter Talk (Abstractions)
Quadcopter Talk (Abstractions)
 
Unmanned Aerial Vehicle
Unmanned Aerial VehicleUnmanned Aerial Vehicle
Unmanned Aerial Vehicle
 
Quadcopter Simulation
Quadcopter SimulationQuadcopter Simulation
Quadcopter Simulation
 
Control of a Quadcopter
Control of a QuadcopterControl of a Quadcopter
Control of a Quadcopter
 
Final
FinalFinal
Final
 
Embedded Programming for Quadcopters
Embedded Programming for QuadcoptersEmbedded Programming for Quadcopters
Embedded Programming for Quadcopters
 
Qaudcopters
QaudcoptersQaudcopters
Qaudcopters
 
QUAD COPTERS FULL PPT
QUAD COPTERS FULL PPTQUAD COPTERS FULL PPT
QUAD COPTERS FULL PPT
 
Final Year Project report on quadcopter
Final Year Project report on quadcopter Final Year Project report on quadcopter
Final Year Project report on quadcopter
 
UAV Presentation
UAV PresentationUAV Presentation
UAV Presentation
 
2009 development and implementation of a control system for a quadrotor uav
2009 development and implementation of a control system for a quadrotor uav2009 development and implementation of a control system for a quadrotor uav
2009 development and implementation of a control system for a quadrotor uav
 
Drone (Quadcopter) full project report by Er. ASHWANI DIXIT
Drone (Quadcopter) full project report by    Er. ASHWANI DIXITDrone (Quadcopter) full project report by    Er. ASHWANI DIXIT
Drone (Quadcopter) full project report by Er. ASHWANI DIXIT
 
Quadcopter 140410021020-phpapp02
Quadcopter 140410021020-phpapp02Quadcopter 140410021020-phpapp02
Quadcopter 140410021020-phpapp02
 
Quadcopter
QuadcopterQuadcopter
Quadcopter
 
Synopsis of a Drone ( Quadcopter )
Synopsis of a Drone ( Quadcopter )Synopsis of a Drone ( Quadcopter )
Synopsis of a Drone ( Quadcopter )
 
UAV Building a quadcopter project
UAV Building a quadcopter projectUAV Building a quadcopter project
UAV Building a quadcopter project
 
Drone project report
Drone project reportDrone project report
Drone project report
 

Similaire à Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Emerging Behaviour of multi-UAV systems

DESIGN AND ANALYSIS OF AN ACTIVE TWIST ROTOR BLADES WITH D-SPAR MODEL USING C...
DESIGN AND ANALYSIS OF AN ACTIVE TWIST ROTOR BLADES WITH D-SPAR MODEL USING C...DESIGN AND ANALYSIS OF AN ACTIVE TWIST ROTOR BLADES WITH D-SPAR MODEL USING C...
DESIGN AND ANALYSIS OF AN ACTIVE TWIST ROTOR BLADES WITH D-SPAR MODEL USING C...
AM Publications
 
UNIT-5 Mechatronics Notes GT.pdf
UNIT-5 Mechatronics Notes GT.pdfUNIT-5 Mechatronics Notes GT.pdf
UNIT-5 Mechatronics Notes GT.pdf
DeepanshSharma30
 

Similaire à Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Emerging Behaviour of multi-UAV systems (20)

A survey of quadrotor unmanned aerial vehicles
A survey of quadrotor unmanned aerial vehiclesA survey of quadrotor unmanned aerial vehicles
A survey of quadrotor unmanned aerial vehicles
 
Design,Fabrication & Analysis of a Quardcopter___Research Paper
Design,Fabrication & Analysis of a Quardcopter___Research PaperDesign,Fabrication & Analysis of a Quardcopter___Research Paper
Design,Fabrication & Analysis of a Quardcopter___Research Paper
 
Final (2)
Final (2)Final (2)
Final (2)
 
Research Paper
Research PaperResearch Paper
Research Paper
 
IRJET- A Review on Unmanned Aerial Vehicles/Drones Used in Various Applications
IRJET- A Review on Unmanned Aerial Vehicles/Drones Used in Various ApplicationsIRJET- A Review on Unmanned Aerial Vehicles/Drones Used in Various Applications
IRJET- A Review on Unmanned Aerial Vehicles/Drones Used in Various Applications
 
IRJET- Surveillance Drone
IRJET-  	  Surveillance DroneIRJET-  	  Surveillance Drone
IRJET- Surveillance Drone
 
Multirotor control ua vs based on fuzzy logic
Multirotor control ua vs based on fuzzy logicMultirotor control ua vs based on fuzzy logic
Multirotor control ua vs based on fuzzy logic
 
Insight into an Emerging Technology: Commercial Drones
Insight into an Emerging Technology: Commercial DronesInsight into an Emerging Technology: Commercial Drones
Insight into an Emerging Technology: Commercial Drones
 
DESIGN AND ANALYSIS OF AN ACTIVE TWIST ROTOR BLADES WITH D-SPAR MODEL USING C...
DESIGN AND ANALYSIS OF AN ACTIVE TWIST ROTOR BLADES WITH D-SPAR MODEL USING C...DESIGN AND ANALYSIS OF AN ACTIVE TWIST ROTOR BLADES WITH D-SPAR MODEL USING C...
DESIGN AND ANALYSIS OF AN ACTIVE TWIST ROTOR BLADES WITH D-SPAR MODEL USING C...
 
UPATcopter
UPATcopterUPATcopter
UPATcopter
 
Drones and their Increasing Number of Applications
Drones and their Increasing Number of ApplicationsDrones and their Increasing Number of Applications
Drones and their Increasing Number of Applications
 
IRJET - Wireless Controlled Rough Terrain Vehicle to Detect Alive Human in Ea...
IRJET - Wireless Controlled Rough Terrain Vehicle to Detect Alive Human in Ea...IRJET - Wireless Controlled Rough Terrain Vehicle to Detect Alive Human in Ea...
IRJET - Wireless Controlled Rough Terrain Vehicle to Detect Alive Human in Ea...
 
Design and Fabrication of Quadcopter for Health Crare Purposes (Final Present...
Design and Fabrication of Quadcopter for Health Crare Purposes (Final Present...Design and Fabrication of Quadcopter for Health Crare Purposes (Final Present...
Design and Fabrication of Quadcopter for Health Crare Purposes (Final Present...
 
IRJET- The Modernization of Agriculture using UAV
IRJET-  	  The Modernization of Agriculture using UAVIRJET-  	  The Modernization of Agriculture using UAV
IRJET- The Modernization of Agriculture using UAV
 
IRJET- The Modernization of Agriculture using UAV
IRJET- The Modernization of Agriculture using UAVIRJET- The Modernization of Agriculture using UAV
IRJET- The Modernization of Agriculture using UAV
 
Enhancing Survival during Fire Accidents using Quad Copter
Enhancing Survival during Fire Accidents using Quad CopterEnhancing Survival during Fire Accidents using Quad Copter
Enhancing Survival during Fire Accidents using Quad Copter
 
Small UAVs -Technology Overview
Small UAVs -Technology OverviewSmall UAVs -Technology Overview
Small UAVs -Technology Overview
 
IRJET - Design and Investigation of End Effector Possessor for Robotic Limb
IRJET - Design and Investigation of End Effector Possessor for Robotic LimbIRJET - Design and Investigation of End Effector Possessor for Robotic Limb
IRJET - Design and Investigation of End Effector Possessor for Robotic Limb
 
UNIT-5 Mechatronics Notes GT.pdf
UNIT-5 Mechatronics Notes GT.pdfUNIT-5 Mechatronics Notes GT.pdf
UNIT-5 Mechatronics Notes GT.pdf
 
IRJET - Tele-Replication of Human Hand Movements
IRJET -  	  Tele-Replication of Human Hand MovementsIRJET -  	  Tele-Replication of Human Hand Movements
IRJET - Tele-Replication of Human Hand Movements
 

Plus de Corrado Santoro

Presentation @ WOA 2015
Presentation @ WOA 2015 Presentation @ WOA 2015
Presentation @ WOA 2015
Corrado Santoro
 
Using Ready-for-PIC and SDR Libraries
Using Ready-for-PIC and SDR LibrariesUsing Ready-for-PIC and SDR Libraries
Using Ready-for-PIC and SDR Libraries
Corrado Santoro
 
Analog to digital converter
Analog to digital converterAnalog to digital converter
Analog to digital converter
Corrado Santoro
 
Exercises with timers and UART
Exercises with timers and UARTExercises with timers and UART
Exercises with timers and UART
Corrado Santoro
 
Handling Interrupts in Microchip MCUs
Handling Interrupts in Microchip MCUsHandling Interrupts in Microchip MCUs
Handling Interrupts in Microchip MCUs
Corrado Santoro
 
Using Timers in PIC18F Microcontrollers
Using Timers in PIC18F MicrocontrollersUsing Timers in PIC18F Microcontrollers
Using Timers in PIC18F Microcontrollers
Corrado Santoro
 
Programming the Digital I/O Interface of a PIC microcontroller
Programming the Digital I/O Interface of a PIC microcontrollerProgramming the Digital I/O Interface of a PIC microcontroller
Programming the Digital I/O Interface of a PIC microcontroller
Corrado Santoro
 
Introduction to microcontrollers
Introduction to microcontrollersIntroduction to microcontrollers
Introduction to microcontrollers
Corrado Santoro
 

Plus de Corrado Santoro (20)

The I2C Interface
The I2C InterfaceThe I2C Interface
The I2C Interface
 
Using Timer1 and CCP
Using Timer1 and CCPUsing Timer1 and CCP
Using Timer1 and CCP
 
Pulse Width Modulation Signal Generation with MCUs
Pulse Width Modulation Signal Generation with MCUsPulse Width Modulation Signal Generation with MCUs
Pulse Width Modulation Signal Generation with MCUs
 
Using Timer2 in Microchip MCUs
Using Timer2 in Microchip MCUsUsing Timer2 in Microchip MCUs
Using Timer2 in Microchip MCUs
 
Handling Asynchronous Events in MCUs
Handling Asynchronous Events in MCUsHandling Asynchronous Events in MCUs
Handling Asynchronous Events in MCUs
 
Presentation @ Miniscuola WOA 2015
Presentation @ Miniscuola WOA 2015Presentation @ Miniscuola WOA 2015
Presentation @ Miniscuola WOA 2015
 
Presentation @ WOA 2015
Presentation @ WOA 2015 Presentation @ WOA 2015
Presentation @ WOA 2015
 
Soc
SocSoc
Soc
 
Using Ready-for-PIC and SDR Libraries
Using Ready-for-PIC and SDR LibrariesUsing Ready-for-PIC and SDR Libraries
Using Ready-for-PIC and SDR Libraries
 
Introduction to Erlang
Introduction to ErlangIntroduction to Erlang
Introduction to Erlang
 
Introduction to shell scripting
Introduction to shell scriptingIntroduction to shell scripting
Introduction to shell scripting
 
Pillole di C++
Pillole di C++Pillole di C++
Pillole di C++
 
Analog to digital converter
Analog to digital converterAnalog to digital converter
Analog to digital converter
 
Exercises with timers and UART
Exercises with timers and UARTExercises with timers and UART
Exercises with timers and UART
 
UART MCU
UART MCUUART MCU
UART MCU
 
Handling Interrupts in Microchip MCUs
Handling Interrupts in Microchip MCUsHandling Interrupts in Microchip MCUs
Handling Interrupts in Microchip MCUs
 
Using Timers in PIC18F Microcontrollers
Using Timers in PIC18F MicrocontrollersUsing Timers in PIC18F Microcontrollers
Using Timers in PIC18F Microcontrollers
 
Programming the Digital I/O Interface of a PIC microcontroller
Programming the Digital I/O Interface of a PIC microcontrollerProgramming the Digital I/O Interface of a PIC microcontroller
Programming the Digital I/O Interface of a PIC microcontroller
 
Introduction to microcontrollers
Introduction to microcontrollersIntroduction to microcontrollers
Introduction to microcontrollers
 
Integrating Cloud Services in Behaviour Programming for Autonomous Robots
Integrating Cloud Services in Behaviour  Programming for Autonomous RobotsIntegrating Cloud Services in Behaviour  Programming for Autonomous Robots
Integrating Cloud Services in Behaviour Programming for Autonomous Robots
 

Dernier

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
 

Dernier (20)

Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 

Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Emerging Behaviour of multi-UAV systems

  • 1. Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Emerging Behaviour of multi-UAV systems Corrado Santoro, Fabio D’Urso, Fabrizio Messina, Federico Fausto Santoro ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica Universit`a di Catania, Italy santoro@dmi.unict.it Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 1 / 63
  • 2. Introduction Flying Machines Flying Machines “To fly” has been one of the dreams of the humans But the story tells that building flying machines is not easy! A basic and common component: the wing Two kind of “flying machines” (excluding rockets and balloons): 1 Fixed wing, i.e. airplanes 2 Rotating wing, i.e. helicopters Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 2 / 63
  • 3. Introduction Flying Machines Design and Implementation problems Airplanes (fixed wing) Wing profile and shape Wing and stab size/area Wing load Position of the Center of Gravity Motion is achieved by driving (mechanically) the mobile surfaces (aleirons, rudder, elevator) Helicopters (rotating wing, VTOL) Size and structure of the rotor Mechanical system to control motion inclination Yaw balancing system for the rotor at tail Position of the Center of Gravity Motion is achieved by (mechanically) changing the inclination of the rotor and the pitch of the rotor wings Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 3 / 63
  • 4. Introduction Multirotors Multirotors A multirotor (a.k.a. “drone”) is an aerial vehicle characterised by: An even set of equal horizontal propellers (and motors), ≥ 4, symmetrically placed in a circular shape A symmetric/balanced airframe (even if not strictly mandatory) VTOL (Vertical Take-off and Landing) capabilities Four degrees of freedom, XYZ + Heading No critical issues from the mechanical/aerodynamic point of view Total control in software, no mechanical parts Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 4 / 63
  • 5. Introduction Multirotors Why Multirotors are so popular? The four revolutions: Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
  • 6. Introduction Multirotors Why Multirotors are so popular? The four revolutions: 1 The Nintendo Wii revolution Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
  • 7. Introduction Multirotors Why Multirotors are so popular? The four revolutions: 1 The Nintendo Wii revolution The first remote control with “gesture recognition” Made possible thanks to IMUs (accelerometers/gyroscopes) Contributed to spread these sensors and lower their cost Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
  • 8. Introduction Multirotors Why Multirotors are so popular? The four revolutions: 1 The Nintendo Wii revolution The first remote control with “gesture recognition” Made possible thanks to IMUs (accelerometers/gyroscopes) Contributed to spread these sensors and lower their cost 2 The LiPo batteries revolution Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
  • 9. Introduction Multirotors Why Multirotors are so popular? The four revolutions: 1 The Nintendo Wii revolution The first remote control with “gesture recognition” Made possible thanks to IMUs (accelerometers/gyroscopes) Contributed to spread these sensors and lower their cost 2 The LiPo batteries revolution To fly requires “mechanical power” and “light” equipment/engines Electric motors are light enough but need high capacity batteries Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
  • 10. Introduction Multirotors Why Multirotors are so popular? The four revolutions: 1 The Nintendo Wii revolution The first remote control with “gesture recognition” Made possible thanks to IMUs (accelerometers/gyroscopes) Contributed to spread these sensors and lower their cost 2 The LiPo batteries revolution To fly requires “mechanical power” and “light” equipment/engines Electric motors are light enough but need high capacity batteries 3 The MCU/IoT revolution Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
  • 11. Introduction Multirotors Why Multirotors are so popular? The four revolutions: 1 The Nintendo Wii revolution The first remote control with “gesture recognition” Made possible thanks to IMUs (accelerometers/gyroscopes) Contributed to spread these sensors and lower their cost 2 The LiPo batteries revolution To fly requires “mechanical power” and “light” equipment/engines Electric motors are light enough but need high capacity batteries 3 The MCU/IoT revolution IoT, Edge/Fog computing require small and light but powerfull devices Microcontrollers are enabling technologies for this Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
  • 12. Introduction Multirotors Why Multirotors are so popular? The four revolutions: 1 The Nintendo Wii revolution The first remote control with “gesture recognition” Made possible thanks to IMUs (accelerometers/gyroscopes) Contributed to spread these sensors and lower their cost 2 The LiPo batteries revolution To fly requires “mechanical power” and “light” equipment/engines Electric motors are light enough but need high capacity batteries 3 The MCU/IoT revolution IoT, Edge/Fog computing require small and light but powerfull devices Microcontrollers are enabling technologies for this 4 The 3D printing revolution Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
  • 13. Introduction Multirotors Why Multirotors are so popular? The four revolutions: 1 The Nintendo Wii revolution The first remote control with “gesture recognition” Made possible thanks to IMUs (accelerometers/gyroscopes) Contributed to spread these sensors and lower their cost 2 The LiPo batteries revolution To fly requires “mechanical power” and “light” equipment/engines Electric motors are light enough but need high capacity batteries 3 The MCU/IoT revolution IoT, Edge/Fog computing require small and light but powerfull devices Microcontrollers are enabling technologies for this 4 The 3D printing revolution Mechanical prototyping has always been a really hard issue 3D printing allowed fast prototyping with low costs Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 5 / 63
  • 14. Multirotor Basics Reference and Airframe Multirotor Basics Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 6 / 63
  • 15. Multirotor Basics Reference and Airframe Reference System The pose of the multirotor is represented by: {X, Y , Z, φ, θ, ψ}, in the Earth frame X, Y , Z are the 3D position coordinates (e.g. Latitude, Longitude, Altitude) The other parameters are the Euler angles that represents the attitude: roll, φ pitch, θ yaw, ψ Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 7 / 63
  • 16. Multirotor Basics Reference and Airframe Airframes and Constraints Motors/propellers must be the same Motors/propellers must be even ≥ 4 Motors/propellers must be placed in a circular shape Propellers must rotate in opposite directions in-pair (third Newton’s Law compensation) Propellers must have opposite pitches in-pair The number and position of propellers define the airframe model Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 8 / 63
  • 17. Multirotor Basics Reference and Airframe Motion Motion is achieved by modulating propeller speeds We can assume a virtual pilot able to give the commands (as in an airplane): Thrust, the “power” to the motors (throttle control) Roll and Pitch, the “control joke” Yaw, the “pedals” Let us assume that these commands are variables belonging to the ranges: thrust cmd ∈ [0, THmax ] roll cmd ∈ [−Rmax , Rmax ] pitch cmd ∈ [−Pmax , Pmax ] yaw cmd ∈ [−Ymax , Ymax ] These commands must be “transferred” to the motors on the basis of the specific airframe Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 9 / 63
  • 18. Multirotor Basics Reference and Airframe Motion: Hovering and Z-translation Vertical motion is achieved by keeping all propeller speeds the same and proportional to a thrust command (we assume 1-proportionality): ω1 = thrust cmd ω2 = thrust cmd ω3 = thrust cmd ω4 = thrust cmd Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 10 / 63
  • 19. Multirotor Basics Reference and Airframe Motion: Yaw rotation in X-shaped quads Yaw rotation is achieved by modulating propeller speeds in-pairs 1 − 3/2 − 4, proportional to a yaw command: ω1 = thrust cmd − yaw cmd ω2 = thrust cmd + yaw cmd ω3 = thrust cmd − yaw cmd ω4 = thrust cmd + yaw cmd Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 11 / 63
  • 20. Multirotor Basics Reference and Airframe Motion: Roll rotation in X-shaped quads Roll rotation is achieved by modulating propeller speeds in-pairs 1 − 4/2 − 3, proportional to a roll command: ω1 = thrust cmd − yaw cmd + roll cmd ω2 = thrust cmd + yaw cmd − roll cmd ω3 = thrust cmd − yaw cmd − roll cmd ω4 = thrust cmd + yaw cmd + roll cmd Roll rotation implies a decomposition of the thrust force: a drag force appears that drives the frame in a translated flight along Y axis Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 12 / 63
  • 21. Multirotor Basics Reference and Airframe Motion: Pitch rotation in X-shaped quads Pitch rotation is achieved by modulating propeller speeds in-pairs 1 − 2/3 − 4, proportional to a pitch command: ω1 = thrust cmd − yaw cmd + roll cmd + pitch cmd ω2 = thrust cmd + yaw cmd − roll cmd + pitch cmd ω3 = thrust cmd − yaw cmd − roll cmd − pitch cmd ω4 = thrust cmd + yaw cmd + roll cmd − pitch cmd Pitch rotation implies a decomposition of the thrust force: a drag force appears that drives the frame in a translated flight along X axis Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 13 / 63
  • 22. Multirotor Basics Reference and Airframe Motion in Plus-shaped quads ω1 = thrust cmd − yaw cmd + pitch cmd ω2 = thrust cmd + yaw cmd − roll cmd ω3 = thrust cmd − yaw cmd − pitch cmd ω4 = thrust cmd + yaw cmd + roll cmd Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 14 / 63
  • 23. Multirotor Basics Reference and Airframe Motion: the Mixer The mixer is the software component that translates attitude commands to motor commands It depends airframe model and basically implements a matrix M such that    ω1 ω2 · · · ωn    = M    roll cmd pitch cmd yaw cmd thrust cmd    Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 15 / 63
  • 24. Control System The Control System The Control System of a Multirotor Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 16 / 63
  • 25. Control System Rate and Attitude Control Rate and Attitude Control Mixer outputs are PWM signals that do not have control on the real forces of the propellers In order to ensure stability, proper sensors must be employed that detect the attitude of the multirotor The control of stability is achieved by means of two control loops: Rate Control, controls angular speeds ˙φ, ˙θ, ˙ψ, by means of a 3-axis gyro Attitude Control, controls Euler angles φ, θ, ψ, by means of a 6-DOF or 9-DOF IMU: 3-axis Gyroscope 3-axis Accelerometer 3-axis Magnetometer Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 17 / 63
  • 26. Control System Rate and Attitude Control Attitude Control: Basic Schema Attitude Control module is implemented as a periodic task that perform a proportional control on the basis of target and current Euler angles Target Angle, given as input Current Angle, given by the sensor fusion module Attitude Control runs with a period in the order of 2.5 ms (400 Hz) The output of each controller is angular speed (rate) required to reach that target angle Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 18 / 63
  • 27. Control System Rate Control Rate Control The Rate Control module is a periodic task that performs a Proportional-Integral-Derivative control on each angular rate ˙φ, ˙θ, ˙ψ on the basis of: Target Rates, given as input Current Rates, given by the gyro The periodic task runs at a period of (at least) 2.5 ms (400 Hz) Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 19 / 63
  • 28. Control System Rate Control Attitude Estimator The most critical part of Attitude Control is the Sensor Fusion algorithm that implements the Attitude Estimator The literature reports a plethora of solutions: Kalman Filters Complementary Filters Direction Cosine Matrix Algorithm Gradient Descend ... (Some) quality factors of the estimator: Resilience to vibrations Difference w.r.t. the real attitude Rate of convergence Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 20 / 63
  • 29. Control System Rate Control Basic Software Modules Basic Modules for Manual Control Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 21 / 63
  • 30. Control System Other Controls Other Controls Other Kind of Controls in a Multirotor Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 22 / 63
  • 31. Control System Other Controls Altitude Control Altitude Control Altitude Z is estimated by means of proper sensors (barometer, in some case integrated with measures from accelerometers, ultrasonic sensors, etc.) The Vertical Speed Vz is determined by a derivative of the altitude Control is performed by means of two control loops that drive the thrust command An inner PI(D) speed controller driving the thurst An outer P-(FF) position controller driving the speed controller Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 23 / 63
  • 32. Control System Other Controls Position Control Pose Estimator GPS signal is used to determine (and control) the pose in the Earth frame An Extended Kalman Filter (EKF) estimator is used to fuse data from GPS and IMU to estimate: Position {X, Y , Z}, usually in NED coordinates Speeds {Vx , Vy , Vz } Euler Angles {φ, θ, ψ} The EKF is complex and CPU-time consuming (in PX4, it is a 22-state estimator) Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 24 / 63
  • 33. Control System Other Controls Position Control Position Control Position Control is performed by means of two pair of control loops (North and East) that drive the target roll and pitch of the attitude controller An inner PI(D) speed controller driving the target attitude (roll and pitch) An outer P-(FF) position controller driving the speed controller Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 25 / 63
  • 34. Control System Other Controls Overall Software Modules of an Autopilot Attitude Control Rate Control Airframe Model Motors IMU EKF Estimator Software Hardware Altitude and Vz Control Position and Vx/Vy Control GPS Communication Interface All of these components run in a MCU-based flight control board (or Flight Control Unit - FCU) A data interface (Communication Interface) is also included to let an external PC: Configure the board (e.g. PID constants) Calibrate sensors Get telemetry data Send all possible set-points (i.e. target position, target speeds, target attitude, etc.) Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 26 / 63
  • 35. Control System Autopilot Hardware Commercial Components: Hardware Pixhawk ArduPilot NAZE32 CrazyFlie Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 27 / 63
  • 36. Control System Autopilot Software Open-source Flight Stacks PX4 https://github.com/PX4/Firmware ArduCopter http://firmware.ardupilot.org/ CleanFlight/BetaFlight http://cleanflight.com/ BitCraze https://github.com/bitcraze/ crazyflie-firmware Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 28 / 63
  • 37. UAV Setup Set-up for single and multi-UAV Set-up for single and multi-UAV Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 29 / 63
  • 38. UAV Setup Architecture Architecture PROPULSION SYSTEM FLIGHT CONTROL UNIT MANUAL REMOTE CONTROL GPS COMPANION COMPUTER FOR HIGH- LEVEL LOGIC TELEMETRY AND MONITORING LINK BASE STATION INTER-UAV LINK Propulsion System, motors and propellers FCU, Flight Control Board for stabilization and navigation Remote Control, for manual intervention Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 30 / 63
  • 39. UAV Setup Architecture Architecture PROPULSION SYSTEM FLIGHT CONTROL UNIT MANUAL REMOTE CONTROL GPS COMPANION COMPUTER FOR HIGH- LEVEL LOGIC TELEMETRY AND MONITORING LINK BASE STATION INTER-UAV LINK GPS, for outdoor position and navigation Base Station, Telemetry & Monitoring Link connected to a Ground Base Station Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 31 / 63
  • 40. UAV Setup Architecture Architecture PROPULSION SYSTEM FLIGHT CONTROL UNIT MANUAL REMOTE CONTROL GPS COMPANION COMPUTER FOR HIGH- LEVEL LOGIC TELEMETRY AND MONITORING LINK BASE STATION INTER-UAV LINK Companion Computer, connected to the FCU and running the high-level control logic (flight strategy) for the UAV Inter-UAV Link, wireless network to let UAVs interact and organise (if necessary) Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 32 / 63
  • 41. UAV Setup Multi-UAV Flight Multi-UAV Autonomous Flight Objective: coordinate a set of UAVs in a flight mission Area Scouting Area map 3D imaging and reconstruction Aerophotogrammetry Rescue Missions Victim detection Survival packages drop Fun and Entertainment Intel Entertainment Light Drones Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 33 / 63
  • 42. UAV Setup Multi-UAV Flight Multi-UAV Autonomous Flight Mission Planning Strategies Pre-planned fixed paths Pre-planned paths with sporadic runtime adaptation Self-organisation with continuous adaptation of paths at runtime Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 34 / 63
  • 43. UAV Setup Multi-UAV Flight Pre-planned fixed paths Base Station input : Objective, UAVSet; paths ← compute paths for uavs(Objective, UAVSet); for i := 0 to |paths| do send(UAVSet[i], paths[i]); end for i := 0 to |paths| do start uav(UAVSet[i]); end UAV p ← receive path(); wait start(); takeoff (); do path(p); land(); Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 35 / 63
  • 44. UAV Setup Multi-UAV Flight Pre-planned paths with sporadic runtime adaptation Base Station input : Objective, UAVSet; paths ← compute paths for uavs(Objective, UAVSet); for i := 0 to |paths| do send(UAVSet[i], paths[i]); end for i := 0 to |paths| do start uav(UAVSet[i]); end while not(completed) do receive telemetry data(); if replanning necessary then paths ← do replan(Objective, UAVSet); for i := 0 to |paths| do send(UAVSet[i], paths[i]); end end end Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 36 / 63
  • 45. UAV Setup Multi-UAV Flight Self-organisation with continuous adaptation of paths at runtime UAV input : Objective; takeoff (); while not(completed) do other uavs data ← receive telemetry data(); {Vx , Vy , Vz } ← compute navigation target speeds(Objective, other uavs data); send targets to FCU(Vx , Vy , Vz ); broadcast my own telemetry data(); end land(); Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 37 / 63
  • 46. UAV Setup Multi-UAV Flight Self-organisation with continuous adaptation of paths at runtime UAV input : Objective; takeoff (); while not(completed) do other uavs data ← receive telemetry data(); {Vx, Vy, Vz} ← compute navigation target speeds(Objective, other uavs data); send targets to FCU(Vx , Vy , Vz ); broadcast my own telemetry data(); end land(); Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 38 / 63
  • 47. UAV Setup Multi-UAV Flight Self-organisation with continuous adaptation of paths at runtime {Vx, Vy, Vz} ← compute navigation target speeds(Objective, other uavs data) A per-agent function that must “think locally” to achieve a global objective (let emerge a global behaviour) Continuously called, because environment changes It is asked to often use incomplete, partial or stale data Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 39 / 63
  • 48. Flocking Flocking Flocking Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 40 / 63
  • 49. Flocking Flocks, Herds, Schools Flocking Flocking has been studied since a long time Reynolds in 1987 [Rey87] formalised the collective behaviour of animals (flocks of bird, schools of fish, herds of land animals, etc.) The study of the collective behaviour of animals is what we need: They “think locally” with the objective of remaining aggregated They continuously evaluate the “next direction” (motion speeds) They “see” only some individuals of the set, so information each individual has is limited [Rey87] Reynolds, C. W. (1987) Flocks, Herds, and Schools: A Distributed Behavioral Model, in Computer Graphics, 21(4) (SIGGRAPH ’87 Conference Proceedings) pages 25-34. Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 41 / 63
  • 50. Flocking Flocks, Herds, Schools Basic Flocking Behaviour The “Golden Rules” Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 42 / 63
  • 51. Flocking Flocks, Herds, Schools Basic Flocking Behaviour The “Golden Rules” Basic Objective: To remain aggregated Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 42 / 63
  • 52. Flocking Flocks, Herds, Schools Basic Flocking Behaviour The “Golden Rules” Basic Objective: To remain aggregated R1—Separation: keep yourself far enough from individuals you see, to avoid crowds and collisions Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 42 / 63
  • 53. Flocking Flocks, Herds, Schools Basic Flocking Behaviour The “Golden Rules” Basic Objective: To remain aggregated R1—Separation: keep yourself far enough from individuals you see, to avoid crowds and collisions R2—Alignment: keep your heading as close as possible to the heading of the individuals you see Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 42 / 63
  • 54. Flocking Flocks, Herds, Schools Basic Flocking Behaviour The “Golden Rules” Basic Objective: To remain aggregated R1—Separation: keep yourself far enough from individuals you see, to avoid crowds and collisions R2—Alignment: keep your heading as close as possible to the heading of the individuals you see R3—Cohesion: keep your position as close as possible to the (estimated) center of the flock Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 42 / 63
  • 55. Flocking The Main Objective of a Flock Main Flock Objective The Fourth Rule Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 43 / 63
  • 56. Flocking The Main Objective of a Flock Main Flock Objective The Fourth Rule Main Objective: To remain aggregated for what???? Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 43 / 63
  • 57. Flocking The Main Objective of a Flock Main Flock Objective The Fourth Rule Main Objective: To remain aggregated for what???? Scout an area to find a prey Stalk and catch a prey Follow a migratory path ... Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 43 / 63
  • 58. Flocking The Main Objective of a Flock Main Flock Objective The Fourth Rule Main Objective: To remain aggregated for what???? Scout an area to find a prey Stalk and catch a prey Follow a migratory path ... Each of those objectives require a precise strategy A fourth rule that drives individual’s behaviour together with R1, R2 and R3 Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 43 / 63
  • 59. Flocking The Main Objective of a Flock Examples of Flock Objectives Stalk and catch a prey: R4—Follow the prey If you see the prey, apply rules R1, R2, R3 but superimpose the following of prey’s path If you don’t see the prey, trust other individuals and simply apply rules R1, R2, R3 Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 44 / 63
  • 60. Flocking The Main Objective of a Flock Examples of Flock Objectives Stalk and catch a prey: R4—Follow the prey If you see the prey, apply rules R1, R2, R3 but superimpose the following of prey’s path If you don’t see the prey, trust other individuals and simply apply rules R1, R2, R3 Follow a migratory path: R4—Follow the leader In a migration, usually a leader-followers approach is used So, if you are the leader, apply rules R1, R2, R3 but superimpose the migratory path If you are a follower, trust the leader and simply apply rules R1, R2, R3 A leader election policy must be considered Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 44 / 63
  • 61. Scouting with UAV Flocks Case-Study Back to UAVs Using a Flock of UAVs to perform Area Monitoring Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 45 / 63
  • 62. Scouting with UAV Flocks Main Flock Objective Scan an area of terrain and take photos for ... Finding specific hot-spots Aerophotogrammetry 3D recostruction IR Camera Analysis ... Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 46 / 63
  • 63. Scouting with UAV Flocks Main Algorithm Objectives Scan an area of terrain and take photos Minimal mission time: it is a critical parameter for UAVs No “overcovering”, i.e. same area part not covered by two or more UAVs Scalability: 10 or 100 or 1000 UAVs? It doesn’t matter! Fault-tolerance: a UAV crashes? Well, the other UAVs will do its job! No centralised coordination entity: purely self-organising Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 47 / 63
  • 64. Scouting with UAV Flocks Flock Shape Choosing Flock Shape Objective: No “overcovering” Any flock shape where a UAV is not behind another UAV avoids overcovering Left Shape does not avoid overcovering Center and Right Shapes avoid overcovering In general, any linear shape with no overlapping has the desired characteristic Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 48 / 63
  • 65. Scouting with UAV Flocks Flock Objective Flock Objective Main Flock Objective R4—Scout a certain area of terrain Implementation Ideal flock shape: linear leader-followers approach The Leader plans the path The Followers follows the leader Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 49 / 63
  • 66. Scouting with UAV Flocks Path Planning Flock Communication Agents communicate Short-range Broadcast Communication + Gossiping Each agent periodically spread (in broadcast): 1 Telemetry data (its own position) 2 Information on area parts already covered Data 1 is used by everyone for flocking Data 2 is used by the leader to perform path planning Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 50 / 63
  • 67. Scouting with UAV Flocks Leader Election Flock Communication Leader Election A leader-followers approach requires leader election Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 51 / 63
  • 68. Scouting with UAV Flocks Leader Election Flock Communication Leader Election A leader-followers approach requires leader election Algorithm for leader election must be fault-tolerant and distributed, and must guarantee an agreement Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 51 / 63
  • 69. Scouting with UAV Flocks Leader Election Flock Communication Leader Election A leader-followers approach requires leader election Algorithm for leader election must be fault-tolerant and distributed, and must guarantee an agreement Since each agent periodically broadcasts data, “all agents will soon know all agents” Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 51 / 63
  • 70. Scouting with UAV Flocks Leader Election Flock Communication Leader Election A leader-followers approach requires leader election Algorithm for leader election must be fault-tolerant and distributed, and must guarantee an agreement Since each agent periodically broadcasts data, “all agents will soon know all agents” Each agent can individually choose the leader on the basis of a common rule: e.g. the known agent with the lowest “ID” Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 51 / 63
  • 71. Scouting with UAV Flocks Leader Election Flock Communication Leader Election A leader-followers approach requires leader election Algorithm for leader election must be fault-tolerant and distributed, and must guarantee an agreement Since each agent periodically broadcasts data, “all agents will soon know all agents” Each agent can individually choose the leader on the basis of a common rule: e.g. the known agent with the lowest “ID” If the leader crashes, it won’t send data anymore and soon disapper from the list of known agents ⇒ the known agent with the lowest “ID” will be the new leader Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 51 / 63
  • 72. Scouting with UAV Flocks Flocking Flocking Rules Reynold’s Rules R1—Separation R2—Alignment R3—Cohesion The concepts must be maintained ... ... but the implementation must consider the main objective: linear formation line Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 52 / 63
  • 73. Scouting with UAV Flocks Flocking Flocking Rules R1—Separation Vy computed as (inversely) proportional to the distance to the nearest agent The aim is to avoid collisions (along y) and to “make space” to host a new agent into the formation line Vx (computed by rule R3—Cohesion) is forced to “0” if the agent is “too close” to another agent (avoid collision along x) Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 53 / 63
  • 74. Scouting with UAV Flocks Flocking Flocking Rules R2—Alignment Objective: to copy leader’s heading wz (yaw speed) computed as proportional to the difference between this agent’s heading and leader’s heading Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 54 / 63
  • 75. Scouting with UAV Flocks Flocking Flocking Rules R3—Cohesion Vx computed as directly proportional to the distance to the formation line (unless rule R1 intervenes) Vy computed as directly proportional to the distance to the nearest agent in the direction of the leader (unless rule R1 intervenes) Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 55 / 63
  • 76. Practical Aspects Practical Aspects Practical Aspects Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 56 / 63
  • 77. Practical Aspects Algoritm Tuning and Test Vx , Vy and ωz computed by R1, R2 and R3 are subject to “proportionality criterias” driven by some coefficients Such coeffients must be properly tuned Tuning strongly depends on UAV dynamics Wrong tuning may cause: Collisions Oscillating flock behaviour Flock partition Instability Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 57 / 63
  • 78. Practical Aspects Algorithm Implementation, Tuning and Test Steps Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
  • 79. Practical Aspects Algorithm Implementation, Tuning and Test Steps 1 Basic Simulation of the Algorithm Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
  • 80. Practical Aspects Algorithm Implementation, Tuning and Test Steps 1 Basic Simulation of the Algorithm 2 Graphical 2D Simulation of the Algorithm Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
  • 81. Practical Aspects Algorithm Implementation, Tuning and Test Steps 1 Basic Simulation of the Algorithm 2 Graphical 2D Simulation of the Algorithm 3 Graphical 3D Simulation of the Algorithm Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
  • 82. Practical Aspects Algorithm Implementation, Tuning and Test Steps 1 Basic Simulation of the Algorithm 2 Graphical 2D Simulation of the Algorithm 3 Graphical 3D Simulation of the Algorithm 4 Simulation of real/physical behaviour of UAVs Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
  • 83. Practical Aspects Algorithm Implementation, Tuning and Test Steps 1 Basic Simulation of the Algorithm 2 Graphical 2D Simulation of the Algorithm 3 Graphical 3D Simulation of the Algorithm 4 Simulation of real/physical behaviour of UAVs 5 Simulation of real implementation of the algorithm (includes flight stack and network) Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
  • 84. Practical Aspects Algorithm Implementation, Tuning and Test Steps 1 Basic Simulation of the Algorithm 2 Graphical 2D Simulation of the Algorithm 3 Graphical 3D Simulation of the Algorithm 4 Simulation of real/physical behaviour of UAVs 5 Simulation of real implementation of the algorithm (includes flight stack and network) 6 Porting to real UAVs Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 58 / 63
  • 85. Practical Aspects Algorithm Implementation, Tuning and Test Steps 1 Basic Simulation of the Algorithm—Done! 2 Graphical 2D Simulation of the Algorithm—Done! 3 Graphical 3D Simulation of the Algorithm—Done! 4 Simulation of real/physical behaviour of UAVs—Done! 5 Simulation of real implementation of the algorithm (includes flight stack and network)—Almost Done! 6 Porting to real UAVs—Not yet done :-( Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 59 / 63
  • 86. Practical Aspects Bibliography Bibliography Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 60 / 63
  • 87. Practical Aspects References [1] Fabio DUrso, Corrado Santoro and Federico Fausto Santoro: Integrating Heterogeneous Tools for Physical Simulation of multi-Unmanned Aerial Vehicles, WOA 2018, Palermo, Jun. 27-29 (2018) [2] Massimiliano De Benedetti, Fabio D’Urso, Giancarlo Fortino, Fabrizio Messina, Giuseppe Pappalardo, Corrado Santoro: A fault-tolerant self-organizing flocking approach for UAV aerial survey. J. Network and Computer Applications 96: 14-30 (2017) [3] Massimiliano De Benedetti, Fabrizio Messina, Giuseppe Pappalardo, Corrado Santoro: Web-based Simulations of Multi-agent Systems. Simulation 93(9): 737-748 (2017) [4] Sebastiano Battiato, Luciano Cantelli, Fabio D’Urso, Giovanni Maria Farinella, Luca Guarnera, Dario Guastella, Carmelo Donato Melita, Giovanni Muscato, Alessandro Ortis, Francesco Ragusa, Corrado Santoro: A System for Autonomous Landing of a UAV on a Moving Vehicle. ICIAP (1) 2017: 129-139 Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 61 / 63
  • 88. Practical Aspects References [5] Massimiliano De Benedetti, Fabio D’Urso, Fabrizio Messina, Giuseppe Pappalardo, Corrado Santoro: 3D Simulation of Unmanned Aerial Vehicles. WOA 2017: 7-12 [6] Tobia Calenda, Massimiliano De Benedetti, Fabrizio Messina, Giuseppe Pappalardo, Corrado Santoro: AgentSimJS: A Web-based Multi-Agent Simulator with 3D Capabilities. WOA 2016: 117-123 [7] Massimiliano De Benedetti, Fabio D’Urso, Fabrizio Messina, Giuseppe Pappalardo, Corrado Santoro: UAV-based Aerial Monitoring: A Performance Evaluation of a Self-Organising Flocking Algorithm. 3PGCIC 2015: 248-255 [8] Massimiliano De Benedetti, Fabio D’Urso, Fabrizio Messina, Giuseppe Pappalardo, Corrado Santoro: Self-Organising UAVs for Wide Area Fault-tolerant Aerial Monitoring. WOA 2015: 135-141 Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 62 / 63
  • 89. Practical Aspects Physical Flying Agents: Ummanned Aerial Vehicles Control, Coordination and Emerging Behaviour of multi-UAV systems Corrado Santoro, Fabio D’Urso, Fabrizio Messina, Federico Fausto Santoro ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica Universit`a di Catania, Italy santoro@dmi.unict.it Corrado Santoro (Univ. of Catania) Physical Flying Agents: multi-UAV systems June 27, 2018 63 / 63