/*! @brief Constructor for the nubot The parameters are for command line arguements. Webots gives the binary arguements which tell us the robot's number. Consequently, these args are passed down to the webots platform. @param argc the number of command line arguements @param *argv[] the array of command line arguements */ NUbot::NUbot(int argc, const char *argv[]) { createErrorHandling(); #if DEBUG_NUBOT_VERBOSITY > 4 debug << "NUbot::NUbot(). Constructing NUPlatform." << endl; #endif // Construct the right Platform #ifdef TARGET_IS_NAOWEBOTS platform = new NAOWebotsPlatform(argc, argv); #endif #ifdef TARGET_IS_NAO platform = new NAOPlatform(); #endif #ifdef TARGET_IS_CYCLOID platform = new CycloidPlatform(); #endif #if DEBUG_NUBOT_VERBOSITY > 4 debug << "NUbot::NUbot(). Constructing modules." << endl; #endif // Construct each enabled module #ifdef USE_VISION vision = new Vision(); #endif #ifdef USE_LOCALISATION localisation = new Localisation(); #endif #ifdef USE_BEHAVIOUR behaviour = new Behaviour(); #endif #ifdef USE_MOTION motion = new NUMotion(); #ifdef USE_WALKOPTIMISER walkoptimiser = new WalkOptimiserBehaviour(platform, motion->m_walk); #endif #endif #ifdef USE_NETWORK network = new Network(); #endif createThreads(); #if DEBUG_NUBOT_VERBOSITY > 4 debug << "NUbot::NUbot(). Finished." << endl; #endif }
/*! @brief Constructor for the nubot The parameters are for command line arguements. Webots gives the binary arguements which tell us the robot's number. Consequently, these args are passed down to the webots platform. @param argc the number of command line arguements @param *argv[] the array of command line arguements */ NUbot::NUbot(int argc, const char *argv[]) { #if DEBUG_NUBOT_VERBOSITY > 0 debug << "NUbot::NUbot()." << endl; #endif NUbot::m_this = this; createErrorHandling(); createPlatform(argc, argv); createBlackboard(); createNetwork(); createModules(); createThreads(); #if DEBUG_NUBOT_VERBOSITY > 0 debug << "NUbot::NUbot(). Finished." << endl; #endif }