HawkNavigator.C
00001
00002
00003
00004
00005 #include "Robots/BeoHawk/computer/HawkNavigator.H"
00006
00007
00008 HawkNavigator::HawkNavigator(std::string myName, int argc, char* argv[])
00009 : HawkAgent(myName, argc, argv) {
00010 state = INIT;
00011 }
00012
00013
00014 void HawkNavigator::registerTopics() {
00015
00016 registerSubscription("SlamDataMessage");
00017 }
00018
00019
00020 bool HawkNavigator::scheduler() {
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 return false;
00031 }
00032
00033
00034 void HawkNavigator::catchMessage(const HawkMessages::MessagePtr& hawkMessage, const Ice::Current&) {
00035 if(hawkMessage->ice_isA("::HawkMessages::SlamDataMessage"))
00036 {
00037 HawkMessages::SlamDataMessagePtr msg = HawkMessages::SlamDataMessagePtr::dynamicCast(hawkMessage);
00038 std::cout << "Caught a SlamDataMessage!" << std::endl;
00039 HawkMessages::Pose hawkPose = msg->hawkPose;
00040 std::cout << "The BeoHawk's current Pose is (" << hawkPose.x << ", " << hawkPose.y;
00041 std::cout << ", " << hawkPose.z << ", " << hawkPose.theta << ")" << std::endl;
00042
00043
00044
00045
00046
00047
00048 }
00049 }
00050
00051
00052 int main (int argc, char* argv[]) {
00053 std::cout << "HawkNavigator: starting..." << std::endl;
00054
00055 HawkNavigator agent("HawkNavigator", argc, argv);
00056 agent.start();
00057
00058 std::cout << "HawkNavigator: all done!" << std::endl;
00059 }