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
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
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
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
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
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