Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Tutorials
=========
Average skyline vector homing
-----------------------------
Homing with an average skyline vector consist of deriving the skyline \
or an approximation of it from the visual information. For example, \
ultra violet light is mostly present in the sky, and thus by summing \
ultra violet light along the elevation one may obtain the skyline. \
This approximation was inspired by the visual system of insect and has \
been succesffuly applied to model of homing (Basten and mallott), and robots (Thomas Stone). \
Once the skyline have been optained, the center of mass of it is calcualted. \
The center of mass of the skyline is a vector lying in the equatorial \
plane of the visual system (due to the sumation along the elevation). \
The center of mass of the skyline was succeffully applied in simulation \
and robots (Hafner, Mangan).
The center of mass of the skyline, also refered as average skyline \
vector, at the goal and current location are compared by simple difference. \
The difference gives the homing vector, i.e. a vector proportional to \
the velocity of the agent.
On a grid
~~~~~~~~~
By restricting the agent motion on a grid, we can used a database containing \
images rendered at pre defined location (the grid nodes).
.. literalinclude:: example/tutorials/asv_homing_grid.py
:lines: 13
And initialise the senses of our virtual agent
.. literalinclude:: example/tutorials/asv_homing_grid.py
:lines: 14
The agent should calculate the average skyline location at its home location \
i.e. the goal location during the homing task.
.. literalinclude:: example/tutorials/asv_homing_grid.py
:lines: 17-19
Our agent should have a method to calculate its velocity from the \
current sensory information to reach its home location. The ASV homing \
model is the method, and can be defined as follow:
.. literalinclude:: example/tutorials/asv_homing_grid.py
:lines: 41-50
Now we have to initialise an agent moving on a grid (i.e. a GridAgent)
.. literalinclude:: example/tutorials/asv_homing_grid.py
:lines: 24
at an initial position
.. literalinclude:: example/tutorials/asv_homing_grid.py
:lines: 27-29
a mode of motion corresponding to the grid used in the database
.. literalinclude:: example/tutorials/asv_homing_grid.py
:lines: 32-36
and the function to calculate the velocity, i.e. the motion of the agent
.. literalinclude:: example/tutorials/asv_homing_grid.py
:lines: 53-54
Note that the position orientation and derivative (posorient_vel) is not \
used by the function, but is required by the GridAgent.
Finally our agent is ready to fly for number of step or until its velocity is null.
.. literalinclude:: example/tutorials/asv_homing_grid.py
:lines: 56-57
In close loop
~~~~~~~~~~~~~
Catchment area of ASV
---------------------
Comparing modalities
--------------------
Comparing models
----------------