00001 /* 00002 * TeleKybCore.cpp 00003 * 00004 * Created on: Nov 3, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #include <telekyb_core/TeleKybCore.hpp> 00009 00010 #include <telekyb_base/Messages.hpp> 00011 00012 namespace TELEKYB_NAMESPACE { 00013 00014 TeleKybCore::TeleKybCore() 00015 : interface(NULL) 00016 { 00022 // Cancel Initialization if ros::shutdown. 00023 //if (!ros::ok()) return; 00024 00025 // no dependecy. has to be loaded first 00026 StateEstimatorController::Instance(); 00027 00028 // depends on StateEstimator 00029 TrajectoryController::Instance(); 00030 00031 // depends on StateEstimator && TrajectoryController 00032 TrajectoryProcessorController::Instance(); 00033 00034 // depends on StateEstimator && TrajectoryController && TrajectoryProcessor 00035 BehaviorController::Instance(); 00036 00037 interface = new TeleKybCoreInterface(options.tRobotID->getValue()); 00038 } 00039 00040 TeleKybCore::~TeleKybCore() 00041 { 00042 // std::cout << "Shutting down TeleKybCoreInterface!" << std::endl; 00043 if (interface) { delete interface; } 00044 // std::cout << "Shutting down TeleKybCoreInterface!" << std::endl; 00045 // 00046 // std::cout << "Shutting down BehaviorController!" << std::endl; 00047 BehaviorController::ShutDownInstance(); 00048 // std::cout << "Done Shutting down BehaviorController!" << std::endl; 00049 // 00050 // std::cout << "Shutting down TrajectoryProcessorController!" << std::endl; 00051 TrajectoryProcessorController::ShutDownInstance(); 00052 // std::cout << "Done Shutting down TrajectoryProcessorController!" << std::endl; 00053 // 00054 // std::cout << "Shutting down TrajectoryController!" << std::endl; 00055 TrajectoryController::ShutDownInstance(); 00056 // std::cout << "Done Shutting down TrajectoryController!" << std::endl; 00057 // 00058 // std::cout << "Shutting down StateEstimatorController!" << std::endl; 00059 StateEstimatorController::ShutDownInstance(); 00060 // std::cout << "Done Shutting down StateEstimatorController!" << std::endl; 00061 } 00062 00063 }