Implementation of Stafford's LGMD model. More...
#include <Robots/LoBot/lgmd/rind/LoStafford.H>
Classes | |
struct | layer |
class | Params |
Friends | |
class | subfactory< StaffordModel, base, base::InitParams > |
Implementation of Stafford's LGMD model.
This class implements the LGMD model described in the following paper:
Stafford, R., Santer, R. D., Rind, F. C. ``A Bio-inspired Visual Collision Detection Mechanism for Cars: Combining Insect Inspired Neurons to Create a Robust System.'' BioSystems, 87, 162--169, 2007.
The above paper computes LGMD spikes using a three-layer neural network. The final layer is a summing layer which spits out an LGMD membrane potential. Spikes are generated when this potential crosses a predetermined threshold.
However, in this implementation, we use the raw membrane potential computed by the S-layer as the final LGMD "value."
Furthermore, this implementation does not (yet) take care of the directionally sensitive motion detector (DSMD) as described in the paper. Thus, it does not quite suppress lateral motion. This means that any motion detected by the model, whether on a collision course or not, will result in LGMD spikes, which, of course, is not faithful to how the actual LGMD in real locusts operates.
This is alright in our case because a separate portion of the Lobot/Robolocust framework takes care of integrating multiple LGMD signals into a coherent steering angle. It is this integration algorithm part that will suppress lateral motion and other ill effects that might drive our locust-controlled robot astray.
Definition at line 102 of file LoStafford.H.