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