beobot-GSnav-master.C File Reference

#include "Beowulf/Beowulf.H"
#include "Component/ModelManager.H"
#include "Media/FrameSeries.H"
#include "Transport/FrameIstream.H"
#include "Neuro/SaccadeController.H"
#include "Neuro/SaccadeControllers.H"
#include "Neuro/SaccadeControllerConfigurator.H"
#include "Neuro/NeuroOpts.H"
#include "Image/Image.H"
#include "Image/Pixels.H"
#include "Raster/Raster.H"
#include "GUI/XWinManaged.H"
#include "Media/MediaOpts.H"
#include "Util/Timer.H"
#include "Simulation/SimEventQueue.H"
#include "Simulation/SimEventQueueConfigurator.H"
#include "Devices/DeviceOpts.H"
#include "Beobot/BeobotBrainMT.H"
#include "Beobot/BeobotConfig.H"
#include "Beobot/BeobotControl.H"
#include "Beobot/BeobotBeoChipListener.H"
#include "RCBot/Motion/MotionEnergy.H"
#include "Controllers/PID.H"
#include "Image/MathOps.H"
#include "Image/CutPaste.H"
#include "Image/DrawOps.H"
#include "Image/FilterOps.H"
#include "Image/PyramidOps.H"
#include "Image/ShapeOps.H"
#include "Image/Transforms.H"
#include "Beobot/beobot-GSnav-def.H"
#include "Beobot/GSnavResult.H"
#include <signal.h>
#include <errno.h>
Include dependency graph for beobot-GSnav-master.C:

Go to the source code of this file.

Defines

#define ERR_INTERVAL   5000

Functions

std::string getInputPrefix (nub::soft_ref< InputFrameSeries > ifs, int &inputType)
 get the input prefix to save the intermdeiate results
int getOpMode (std::string opmodestr)
 get the operation mode of the current run
void setupBeoChip (nub::soft_ref< BeoChip > b, BeobotConfig bbc)
 setup the BeoChip
int beoChipProc (rutz::shared_ptr< BeobotBeoChipListener > lis, nub::soft_ref< BeoChip > b)
 process beoChip input
void getBbmtResults (nub::ref< BeobotBrainMT > bbmt, Image< PixRGB< byte > > &currIma, Image< double > &cgist, Image< float > &currSalMap, ImageSet< float > &cmap, std::vector< Point2D< int > > &salpt, std::vector< std::vector< double > > &feat, std::vector< Rectangle > &objRect)
 get all the necessary information from the visual cortex
void dispResults (Image< PixRGB< byte > > disp, rutz::shared_ptr< XWinManaged > win, Image< PixRGB< byte > > ima, Image< PixRGB< byte > > prevIma, std::vector< Point2D< int > > clmpt, std::vector< Point2D< int > > nlmpt, Image< float > currSalMap, std::vector< Point2D< int > > salpt, std::vector< Rectangle > objRect)
 display results
bool checkNode (int opMode, nub::soft_ref< Beowulf > beo, int32 &rnode, TCPmessage &rmsg, int32 &raction, int32 &rframe)
 check to see if the node have returned results
bool checkInput (int opMode, bool resetNextLandmark, uint64 inputFrameRate, uint64 inputTime)
 check to see if the new input should be processed
void setupVentralPacket (TCPmessage &smsg, int rframe, bool resetVentralSearch, Image< PixRGB< byte > > currIma, Image< double > cgist, std::vector< Point2D< int > > salpt, std::vector< std::vector< double > > feat, std::vector< Rectangle > objRect, float dx, float dy, uint snumGT, float ltravGT)
void setupDorsalPacket (TCPmessage &smsg, int rframe, ImageSet< float > cmap, bool resetCurrLandmark, std::vector< Point2D< int > > clmpt, bool resetNextLandmark, std::vector< Point2D< int > > nlmpt)
 setup the packet containing cmaps for tracking
void processDorsalResult (TCPmessage &rmsg, int32 raction, int32 rframe, std::vector< Point2D< int > > &clmpt, std::vector< Point2D< int > > &nlmpt, bool &resetNextLandmark, float &sp, float &st)
 get the proper motor command to run the robot
void processVentralResult (TCPmessage &rmsg, int32 raction, int32 rframe, std::vector< Point2D< int > > &clmpt, std::vector< Point2D< int > > &nlmpt, bool &resetCurrLandmark, bool &resetNextLandmark)
 setup for the next search
void getOdometry (float &dx, float &dy)
 get the odometry information
void executeMotorCommand (int opMode, float st, float sp)
 execute the motor command from Dorsal
Image< double > getGroundTruth (uint fNum, uint &snumGT, float &ltravGT, float &dx, float &dy)
 feed in the current ground truth
void reportResults (std::string resultPrefix, uint nsegment)
 report the results of the current run
void terminate (int s)
 Signal handler (e.g., for control-C).
int main (const int argc, const char **argv)

Variables

static bool goforever = true

Detailed Description

Robot navigation using a combination saliency and gist. Run beobot-GSnav-master at CPU_A to run Gist-Saliency model Run beobot-GSnav at CPU_B to run SIFT object recognition

Definition in file beobot-GSnav-master.C.


Function Documentation

int beoChipProc ( rutz::shared_ptr< BeobotBeoChipListener lis,
nub::soft_ref< BeoChip b 
)

process beoChip input

Definition at line 900 of file beobot-GSnav-master.C.

bool checkInput ( int  opMode,
bool  resetNextLandmark,
uint64  inputFrameRate,
uint64  inputTime 
)

check to see if the new input should be processed

Definition at line 959 of file beobot-GSnav-master.C.

bool checkNode ( int  opMode,
nub::soft_ref< Beowulf beo,
int32 rnode,
TCPmessage rmsg,
int32 raction,
int32 rframe 
)

check to see if the node have returned results

Definition at line 949 of file beobot-GSnav-master.C.

void dispResults ( Image< PixRGB< byte > >  disp,
rutz::shared_ptr< XWinManaged win,
Image< PixRGB< byte > >  ima,
Image< PixRGB< byte > >  prevIma,
std::vector< Point2D< int > >  clmpt,
std::vector< Point2D< int > >  nlmpt,
Image< float >  currSalMap,
std::vector< Point2D< int > >  salpt,
std::vector< Rectangle objRect 
)
void executeMotorCommand ( int  opMode,
float  st,
float  sp 
)

execute the motor command from Dorsal

Definition at line 799 of file beobot-GSnav-master.C.

void getBbmtResults ( nub::ref< BeobotBrainMT bbmt,
Image< PixRGB< byte > > &  currIma,
Image< double > &  cgist,
Image< float > &  currSalMap,
ImageSet< float > &  cmap,
std::vector< Point2D< int > > &  salpt,
std::vector< std::vector< double > > &  feat,
std::vector< Rectangle > &  objRect 
)

get all the necessary information from the visual cortex

Definition at line 920 of file beobot-GSnav-master.C.

Referenced by Beobot2GistSalMasterI::evolve().

Image< double > getGroundTruth ( uint  fNum,
uint snumGT,
float &  ltravGT,
float &  dx,
float &  dy 
)

feed in the current ground truth

Definition at line 1202 of file beobot-GSnav-master.C.

References NO_INIT, and sformat().

std::string getInputPrefix ( nub::soft_ref< InputFrameSeries ifs,
int &  inputType 
)

get the input prefix to save the intermdeiate results

Definition at line 675 of file beobot-GSnav-master.C.

void getOdometry ( float &  dx,
float &  dy 
)

get the odometry information

Definition at line 792 of file beobot-GSnav-master.C.

int getOpMode ( std::string  opmodestr  ) 

get the operation mode of the current run

Definition at line 735 of file beobot-GSnav-master.C.

void processDorsalResult ( TCPmessage rmsg,
int32  raction,
int32  rframe,
std::vector< Point2D< int > > &  clmpt,
std::vector< Point2D< int > > &  nlmpt,
bool &  resetNextLandmark,
float &  sp,
float &  st 
)

get the proper motor command to run the robot

Definition at line 1122 of file beobot-GSnav-master.C.

References TCPmessage::getElementInt32(), and TCPmessage::reset().

void processVentralResult ( TCPmessage rmsg,
int32  raction,
int32  rframe,
std::vector< Point2D< int > > &  clmpt,
std::vector< Point2D< int > > &  nlmpt,
bool &  resetCurrLandmark,
bool &  resetNextLandmark 
)

setup for the next search

Definition at line 1066 of file beobot-GSnav-master.C.

References TCPmessage::getElementInt32(), TCPmessage::getSize(), and TCPmessage::reset().

void reportResults ( std::string  resultPrefix,
uint  nsegment 
)

report the results of the current run

Definition at line 1350 of file beobot-GSnav-master.C.

void setupBeoChip ( nub::soft_ref< BeoChip b,
BeobotConfig  bbc 
)
void setupDorsalPacket ( TCPmessage smsg,
int  rframe,
ImageSet< float >  cmap,
bool  resetCurrLandmark,
std::vector< Point2D< int > >  clmpt,
bool  resetNextLandmark,
std::vector< Point2D< int > >  nlmpt 
)

setup the packet containing cmaps for tracking

Definition at line 1035 of file beobot-GSnav-master.C.

References TCPmessage::addImageSet(), TCPmessage::addInt32(), and TCPmessage::reset().

void setupVentralPacket ( TCPmessage smsg,
int  rframe,
bool  resetVentralSearch,
Image< PixRGB< byte > >  currIma,
Image< double >  cgist,
std::vector< Point2D< int > >  salpt,
std::vector< std::vector< double > >  feat,
std::vector< Rectangle objRect,
float  dx,
float  dy,
uint  snumGT,
float  ltravGT 
)

setup the packat containing the salient region information to be recognized by the ventral module

Definition at line 978 of file beobot-GSnav-master.C.

References TCPmessage::addDouble(), TCPmessage::addFloat(), TCPmessage::addImage(), TCPmessage::addInt32(), Image< T >::beginw(), Image< T >::getSize(), and TCPmessage::reset().

void terminate ( int  s  ) 

Signal handler (e.g., for control-C).

Definition at line 195 of file beobot-GSnav-master.C.

References goforever.

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