int main(int argc, char **argv) { // just some stuff for returns std::string str; // robots connection ArSerialConnection con; // the robot, this turns state reflection off ArRobot robot(NULL, false); // the joydrive as defined above, this also adds itself as a user task KeyPTU ptu(&robot); // mandatory init Aria::init(); ArLog::init(ArLog::StdOut, ArLog::Terse, NULL, true); con.setPort(ArUtil::COM1); // set the connection on the robot robot.setDeviceConnection(&con); // connect, if we fail, exit if (!robot.blockingConnect()) { printf("Could not connect to robot... exiting\n"); Aria::shutdown(); return 1; } // turn off the sonar, enable the motors, turn off amigobot sounds robot.comInt(ArCommands::SONAR, 0); robot.comInt(ArCommands::ENABLE, 1); robot.comInt(ArCommands::SOUNDTOG, 0); printf("Press '?' for available commands\r\n"); // run, if we lose connection to the robot, exit robot.run(true); // shutdown and go away Aria::shutdown(); return 0; }
int main(int argc, char **argv) { Aria::init(); // command-line arguments and robots connection ArArgumentParser argParser(&argc, argv); argParser.loadDefaultArguments(); ArSimpleConnector con(&argParser); // the robot, but turn state reflection off (so we have no mobility control in // this program) ArRobot robot(NULL, false); // an object for keyboard control, class defined above, this also adds itself as a user task KeyPTU ptu(&robot); // parse command-line arguments (i.e. connection options for simple connector) if(!Aria::parseArgs()) { Aria::logOptions(); return 1; } // connect to the robot if (!con.connectRobot(&robot)) { ArLog::log(ArLog::Terse, "Error connecting to robot!"); Aria::shutdown(); return 1; } // turn off the sonar robot.comInt(ArCommands::SONAR, 0); printf("Press '?' for available commands\r\n"); // run, if we lose connection to the robot, exit robot.run(true); Aria::shutdown(); return 0; }
int main(int argc, char **argv) { Aria::init(); ArArgumentParser parser(&argc, argv); parser.loadDefaultArguments(); ArRobot robot; ArRobotConnector robotConnector(&parser, &robot); if(!robotConnector.connectRobot()) { ArLog::log(ArLog::Terse, "dpptuExample: Could not connect to the robot."); if(parser.checkHelpAndWarnUnparsed()) { Aria::logOptions(); Aria::exit(1); } } if (!Aria::parseArgs() || !parser.checkHelpAndWarnUnparsed()) { Aria::logOptions(); Aria::exit(1); } ArLog::log(ArLog::Normal, "dpptuExample: Connected to robot."); robot.runAsync(true); // an object for keyboard control, class defined above, this also adds itself as a user task KeyPTU ptu(&robot); // turn off the sonar robot.comInt(ArCommands::SONAR, 0); printf("Press '?' for available commands\r\n"); // run, if we lose connection to the robot, exit robot.waitForRunExit(); Aria::exit(0); }