Skip to content
Snippets Groups Projects
tutorials.rst 2.83 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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
    ----------------