Professional Documents
Culture Documents
W 2 Sterowanie S B RS PDF
W 2 Sterowanie S B RS PDF
Roman Śmierzchalski
Katedra Automatyki
Wydział Elektrotechniki i Automatyki
roman.smierzchalski@pg.edu.pl
UNIKANIE KOLIZJI
WYKŁAD II
Roman Śmierzchalski 2
Problem of a ship control
Direction
Strategy Level
Management Human Guidance
Operator System
Manual Control
Sensors &
Signal Processing Vessel, Environment
Marine Craft, USV
Roman Śmierzchalski 5
Strategy, Tactics
Data of Mission
(goal of destination, path ...)
Traffic at Sea
Roman Śmierzchalski
I.Fossen 2002 7
Avoiding collision at the sea
Roman Śmierzchalski 12
Avoiding collision at the sea
Roman Śmierzchalski 13
Avoiding collision at the sea
Roman Śmierzchalski 14
Avoiding collision at the sea
Roman Śmierzchalski 15
Avoiding collision at the sea
Roman Śmierzchalski 16
Avoiding collision at the sea
Roman Śmierzchalski 17
Automatyzacja Systemów
© Roman Śmierzchalski Okrętowych 19
Automatyzacja Systemów
© Roman Śmierzchalski Okrętowych 20
Automatyzacja Systemów
© Roman Śmierzchalski Okrętowych 21
Roman Śmierzchalski 22
Automatyzacja Systemów
© Roman Śmierzchalski Okrętowych 23
Automatyzacja Systemów
© Roman Śmierzchalski Okrętowych 24
Roman Śmierzchalski 25
Roman Śmierzchalski 26
Optimization of trajectory
Roman Śmierzchalski 27
Survey of works:
Roman Śmierzchalski 28
Survey of works:
Roman Śmierzchalski 29
Survey of works:
Roman Śmierzchalski 30
Roman Śmierzchalski 31
Roman Śmierzchalski 32
Roman Śmierzchalski 33
Roman Śmierzchalski 34
Roman Śmierzchalski 35
Roman Śmierzchalski 36
Roman Śmierzchalski 37
Control system
Roman Śmierzchalski 38
Control system
ARPA Identification
Electrinic Chart
Roman Śmierzchalski 39
Control system
ARPA Identification
Electrinic Chart
Roman Śmierzchalski 40
Control system
ARPA Identification
Autopilot
Electrinic Chart
Ship tracking
Governer
Roman Śmierzchalski 41
Control system
ARPA Identification
Autopilot
Electrinic Chart
Ship tracking
Governer
Roman Śmierzchalski 42
Roman Śmierzchalski 43
Roman Śmierzchalski 44
Definition of environment and constraints
Roman Śmierzchalski 45
Situation of meeting
Roman Śmierzchalski 46
Ships’ domains
Roman Śmierzchalski 47
Population of trajectories
Roman Śmierzchalski 48
Population of „m”
individuals
individual 1 individual 2 individual m
x0, y0, V01 x0, y0, V02 .... .... x0, y0, V0m
....... ....... .... .... .......
xk1, yk1, Vk1 xk2, yk2, Vk2 .... .... xkm, ykm, Vkm
........ ........ .... .... ........
........ xn2, yn2, Vn2 .... .... ........
........ xe, ye .... .... xnm, ynm, Vnm
xn1, yn1, Vn1 .... .... xe, ye
xe, ye .... ....
co-ordinates (xi, yi), being the line segment si turning points of path passing
x0 y0 V0 xk yk Vk xn yn Vn xe, ye
Roman Śmierzchalski 49
Genetic operators
Roman Śmierzchalski 50
Roman Śmierzchalski 51
Individual fitness function
• Total_Cost(S) =
Safe_Cost(S) + Econ_Cost(S)
• Safe_Cost(S) = wc*clear(S)
• Econ_Cost(S) = wd*dist(S)+
ws*smooth(S)+
wt*time(S)
Roman Śmierzchalski 52
T=0
Creation offspring
no
Building of dynamic obstacles Terminatig
conditions
Population evaluation
yes
Introduction new individual
Best trajectory from population it is
Selection the best trajectory solution
Roman Śmierzchalski 53
Evolutionary_algorithm() 10 max_path_nodes, i.e., maximum number of path nodes in each path
{ 1000 max_generations, i.e., maximum number of generations
int T; /*T - generation40counter variable*/
population_size
10 display_size, i.e., the number of population dislayed on the screen
T = 0:
0.5 -1.0 : mutation1_rate[], i.e., Mutation 1 ->Probability
input_data_for_parametrising_operation_of_evolutionary_algorithm();
0.5 -1.0 : mutation2_rate[], i.e., Mutation 2 ->probability
input_data_for_defining_environment();
0.5 -1.0 : ins_del_rate[], i.e., Insertion ->probability
P(T) = creation_of_initial_chromosome_population();
0.5 -1.0 : swap_rate[], i.e., Swap ->probability
0.5 -1.0 : crossover_rate[], i.e., Crossover ->probability
/* chromosomes (individuals)
0.5 -1.0 are generated ini.e.,
: smooth_rate[], suchSmootha manner that they belong
->probability
to the unrestricted space0.5 X-1.0
. */ : deletion_rate[], i.e., Deletion ->probability
0.5 -1.0 /*
building_dynamic_obstacles(); : detour_rate[],
moving targets i.e., Detour ->probability
are modelled */
0.5 -1.0 : mutatSpeed[], i.e., MutatSpeed ->probability
population_evaluation ( P(T) );
/* each individual (path) is attributed
0.65 its fitness
node_mutation1_rate, i.e.,function, i.e. aitsnode
Prob. to mutate value for the
by mutation1
examined problem. Such 0.30
annode_mutation2_rate,
evaluation makesi.e., Prob. to mutate
it possible a node by mutation2
to recognise and make
0.60 node_deletion_rate_u, i.e., Prob. to delete a node of unfeasible path
a distinction between better and worse individuals
0.6 node_deletion_rate_f, i.e., Prob.in to the
deleteset.
a node of feasible path
The individuals are evaluated and ordered from the best to the worst, at the same
time being divided into 1.0
the distance_factor,
safe and unsafe 1.0 individuals */
1.0 smooth_factor,
while ( != terminating_conditions() )
1.0 clearance_factor 3.0
{
/* the operation of the 7.0 coefficient_a,
evolutionary i.e., coefficient
algorithm in computing
terminates clearance
when the cost
“stop” tests
are satisfied : certain number of generations,
10.0 clearance, the clearance the fitness
distance function accuracy */
of a path
4.0 min_path_segm_len, see planner.c for explanation
1.0 boundary_tolerance, see planner.c for explanation
/* the operation of the evolutionary algorithm terminates when the “stop” tests
10.6 225.0
are satisfied : certain number of generations,
6 the fitness function accuracy */
9.0 185.0 55.0 176.0
120.0 231.0 120.0 287.0
74.0 287.0 9.0 231.0
7.8 45.4
Evolutionary_algorithm()
{
int T; /*T - generation counter variable*/
T = 0:
input_data_for_parametrising_operation_of_evolutionary_algorithm();
input_data_for_defining_environment();
P(T) = creation_of_initial_chromosome_population();
/* chromosomes (individuals) are generated in such a manner that they belong
to the unrestricted space X. */
building_dynamic_obstacles(); /* moving targets are modelled */
population_evaluation ( P(T) );
/* each individual (path) is attributed its fitness function, i.e. its value for the
examined problem. Such an evaluation makes it possible to recognise and make
a distinction between better and worse individuals in the set.
The individuals are evaluated and ordered from the best to the worst, at the same
time being divided into the safe and unsafe individuals */
while ( != terminating_conditions() )
{
/* the operation of the evolutionary algorithm terminates when the “stop” tests
are satisfied : certain number of generations, the fitness function accuracy */
T = T + 1;
Op = operator_selection();
/*, a genetic operator Op is selected from the set of available operators for the
individual re-combination */
Par = selection_of_parents_or_parent();
/* This selection depends on the operator defined earlier in the step "operator_selection().
adds an individual, or individuals to the parent set in the next generation */
offspring_creation_and_ introduction( Op, Par );
/* an offspring is created basing on the information which operator Op has to
re-combine on the parent set Par. The newly generated offspring becomes a member
of a new population P(T) and replaces the worst individual in the old population.
This new offspring may be better then its parent or parents */
building_dynamic_obstacles();
/* moving targets are modelled for the new population P(T) */
population_evaluation ( P(T) );
/* evaluation of new individuals in population P(T) */
introduction_of_new_individual();
/* if a new individual is better that those existing in the population,
the worst individual is removed and the new one is introduced to the population */
selection_of_best_individual ( P(T) );
/* the best individual in population P(T) is selected */
}
}
T = T + 1;
Op = operator_selection();
********************** generation = 100 **********************
/*, a genetic operator Op is selected from thePaths
Feasible set of available
Unfeasible operators for the
Paths
individual re-combination */ about N generations:
statistics
# of paths per generation 0.000 40.000
Par = selection_of_parents_or_parent();
cost per path 0.000 245.080
/* This selection depends on the
# of nodes operator defined
per path 0.000 earlier in the step "operator_selection().
2.475
adds an individual, or individuals to the parent set in the next generation */
statistics about the last generation:
offspring_creation_and_ introduction( Op, Par ); 0.000
# of paths the last generation 40.000
/* an offspring is created basing
cost per path on the information0.000 which operator Op has to
74.906
re-combine on the parent set Par.
# of nodes The newly generated
per path 0.000 offspring
2.150 becomes a member
the best path has 3 nodes and its cost is 37.977 (unfeasible).
of a new population P(T) and replaces the worst individual in the old population.
This new offspring may be better then its parent or parents */
building_dynamic_obstacles();
Statistics about genetic operators (every 100 generations):
/* moving targets are total
modelled for the new population P(T) */
times the genetic operators applied:
population_evaluation (0.0 P(T)15.0); 21.0 6.0 10.0 0.0 18.0 10.0 20.0
/* evaluation of new individuals in population
The effectiveness P(T) */
of genetic operators:
0.00 0.40 0.24 0.00 0.20 0.00 0.28 1.00 0.00
introduction_of_new_individual();
/* if a new individual isTime
better that those
per operation (sec.):existing in the population,
the worst individual is 0.000
removed 0.021and the0.020
0.010 new one 0.021is 0.000
introduced to the0.019
0.013 0.010 population */
selection_of_best_individual ( P(T) );
Number of node changes per operation:
/* the best individual in population
0.000 0.000 1.333 P(T)0.000
is selected */ -1.556 2.200 0.000
-0.600 0.000
} # of nodes examined per operation (averaged over all operators): 4.79
Time per operation (averaged over all operators): 0.016 sec.
Roman Śmierzchalski 59
Path evolution
Roman Śmierzchalski 60
Testing navigational
situations
with fixed constraints and moving targets
Roman Śmierzchalski 61
Testing navigational situations
with fixed constraints and moving targets
Speed of Target 2
=16.9 knots
Roman Śmierzchalski 62
Change of speed
• ship
speed = 8,6 knot
• ship
speed = 5,6 knot
• ship
speed = 12 knots
Roman Śmierzchalski 63
Modifications of evolutionary
algorithm
Stop Slow
Half
Full Ahead
Roman Śmierzchalski 64
Modification - speed change
V = { 3.6; 8.6; 13.6w}
Roman Śmierzchalski 65
Target 3 speed reduction: (a) from 5 to
3 knots, (b) from 5 to 4 knots.
Roman Śmierzchalski 66
Roman Śmierzchalski 67
Roman Śmierzchalski 68
Roman Śmierzchalski 69
Roman Śmierzchalski 70
Roman Śmierzchalski 71
Roman Śmierzchalski 72
Roman Śmierzchalski 73
Roman Śmierzchalski 74
Roman Śmierzchalski 75
Roman Śmierzchalski 76
Roman Śmierzchalski 77
Roman Śmierzchalski 78
Roman Śmierzchalski 79
Roman Śmierzchalski 80
Roman Śmierzchalski 81
Roman Śmierzchalski 82
Roman Śmierzchalski 83
Roman Śmierzchalski 84