00001 // File: HawkVisionDrive.H 00002 // Author: Josh Villbrandt <josh.villbrandt@usc.edu> 00003 // Kevin, Chris, Justin 00004 // Date: April 2010 00005 00006 #include <string> 00007 #include <Ice/Ice.h> 00008 #include "Robots/BeoHawk/core/HawkMessages.ice.H" 00009 #include "Robots/BeoHawk/computer/HawkAgent.H" 00010 00011 class HawkVisionDrive : public HawkAgent { 00012 public: 00013 // These functions must be defined in all HawkAgents 00014 HawkVisionDrive(std::string myName, int argc, char* argv[]); 00015 bool scheduler(); 00016 void registerTopics(); 00017 void catchMessage(const HawkMessages::MessagePtr& msg, const Ice::Current&); 00018 00019 private: 00020 // These functions are specific to the individual agents 00021 enum States {INIT, IDLE, PROCESSING}; 00022 States state; 00023 void doDriveSearch(); 00024 };