/** * Basically only turns on and off the laser for a couple of times. */ int main(int argc, char **argv) { std::cout << "################################################################################" << std::endl; std::cout << "Run " << NAME << " compiled at time " << __TIME__ << std::endl; std::cout << "################################################################################" << std::endl; Scenario scenario; scenario = SC_GRAND_CHALLENGE1; // scenario = SC_MAPPING; // scenario = SC_LASER_EXPLORATION; std::cout << "We will use scenario " << ScenarioStr[scenario] << std::endl; CEquids equids; struct sigaction a; a.sa_handler = &interrupt_signal_handler; sigaction(SIGINT, &a, NULL); if (argc > 1) { std::cout << "Reading init" << std::endl; if (!equids.init(argv[1])) { std::cout << "Wrong configuration file " << argv[1] << std::endl; return EXIT_FAILURE; } std::cout << "Finish init" << std::endl; } else { std::cout << "Usage: actionselection jockey_cfg" << std::endl; return EXIT_FAILURE; } bool quit = false; switch (scenario) { case SC_BACK_AND_FORTH_TEST: { BackandforthScenario scenario(&equids); if (!scenario.Init()) { std::cerr << "Error in initialization, break out" << std::endl; break; } scenario.Run(); break; } case SC_GRAND_CHALLENGE1: { GrandChallenge1Scenario scenario(&equids); if (!scenario.Init()) { std::cerr << "Error in initialization, break out" << std::endl; break; } scenario.Run(); break; } case SC_LASER_EXPLORATION: { LaserExplorationScenario scenario(&equids); if (!scenario.Init()) { std::cerr << "Error in initialization, break out" << std::endl; break; } scenario.Run(); break; } case SC_MAPPING: { #ifdef ENABLE_MAPPING_SCENARIO MappingScenario scenario(&equids); if (!scenario.Init()) { std::cerr << "Error in initialization, break out" << std::endl; break; } scenario.Run(); #endif break; } case SC_STANDALONE_CAMERA: { std::cerr << "To be done" << std::endl; break; } default: std::cerr << "Unknown scenario" << std::endl; } std::cout << "Do quit controllers" << std::endl; equids.quit(); return 0; }