LoLGMDExtricateVFF.C File Reference

This file defines the non-inline member functions of the lobot::LGMDExtricateVFF class. More...

#include "Robots/LoBot/control/LoLGMDExtricateVFF.H"
#include "Robots/LoBot/control/LoMetrics.H"
#include "Robots/LoBot/control/LoTurnArbiter.H"
#include "Robots/LoBot/control/LoSpinArbiter.H"
#include "Robots/LoBot/control/LoSpeedArbiter.H"
#include "Robots/LoBot/LoApp.H"
#include "Robots/LoBot/slam/LoMap.H"
#include "Robots/LoBot/lgmd/LocustModel.H"
#include "Robots/LoBot/config/LoConfigHelpers.H"
#include "Robots/LoBot/thread/LoUpdateLock.H"
#include "Robots/LoBot/misc/LoExcept.H"
#include "Robots/LoBot/misc/LoRegistry.H"
#include "Robots/LoBot/misc/singleton.hh"
#include "Robots/LoBot/util/LoGL.H"
#include "Robots/LoBot/util/LoMath.H"
#include "Robots/LoBot/util/range.hh"
#include <GL/gl.h>
#include <iomanip>
#include <sstream>
#include <algorithm>
#include <memory>
Include dependency graph for LoLGMDExtricateVFF.C:

Go to the source code of this file.

Functions

static std::string lobot::mag (char label, const Vector &v)

Detailed Description

This file defines the non-inline member functions of the lobot::LGMDExtricateVFF class.

Definition in file LoLGMDExtricateVFF.C.


Variable Documentation

float m_att_amp

In some situations, it can be useful to amplify the magnitudes of the attractive and repulsive force vectors. These two settings specify the values for the amplification factors. Numbers greater then one will amplify the vectors; numbers between 0 and 1 will reduce the magnitudes of the force vectors; negative numbers will negate the directions of the force vectors.

Definition at line 126 of file LoLGMDExtricateVFF.C.

int m_count

To prevent this behaviour from becoming overly sensitive, we require the LGMD spike rates of a minimum number of locusts to exceed the above threshold before the behaviour engages its extrication algorithm.

This setting specifies the above-mentioned minimum locust count. It should be a reasonable number <= the number of locusts actually present.

Definition at line 117 of file LoLGMDExtricateVFF.C.

In case the RPM sensor is configured to be off, we will need to specify the extricate "speed" in terms of PWM values as well.

NOTE: All speed related behaviours should specify both a speed in m/s and a PWM value.

CAUTION: For the extricate behaviour, it would be unwise to make the extrication PWM too high.

Definition at line 142 of file LoLGMDExtricateVFF.C.

Users may specify what speed they would like the extrication to occur.

CAUTION: It would be unwise to make this speed too high.

Definition at line 132 of file LoLGMDExtricateVFF.C.

Drawable::Geometry m_geometry

The location and size (within the Robolocust main window) of the lgmd_extricate_vff behaviour's visualization.

Definition at line 163 of file LoLGMDExtricateVFF.C.

Usually, steering control is effected using the turn arbiter, which veers the robot in different directions while it moves, i.e., smooth car-like turns. However, the lgmd_extricate_vff behaviour also supports spin-style steering, i.e., momentarily stopping the robot and then turning it cw/ccw in-place. This flag turns on spin-style steering. By default, the behaviour uses the normal car-like steering mode.

Definition at line 151 of file LoLGMDExtricateVFF.C.

float m_threshold

A locust whose LGMD spike rate exceeds a certain threshold will result in a repulsive force along the direction in which that locust is looking. Conversely, when a locust's LGMD spike rate falls below this threshold, it will cause an attractive force. When all the forces are put together, we will get a final force vector that can be used to drive and steer the robot.

This setting specifies the value of the above-mentioned threshold in spikes per second (i.e., Hz). It should be a reasonable value that lies within the [min, max] spike range specified in the chosen LGMD model's settings section. In case the robot is connected to actual locusts, then this setting's value should be some reasonable empirically determined value.

Definition at line 107 of file LoLGMDExtricateVFF.C.

The number of milliseconds between successive iterations of this behaviour.

WARNING: The ability to change a behaviour's update frequency is a very powerful feature whose misuse or abuse can wreak havoc! Be sure to use reasonable values for this setting.

Definition at line 159 of file LoLGMDExtricateVFF.C.

Generated on Sun May 8 08:16:53 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3