One of the simplest ARIA programs possible: Connects with ArSimpleConnector, waits 3 seconds doing nothing, then exits.
/* MobileRobots Advanced Robotics Interface for Applications (ARIA) Copyright (C) 2004, 2005 ActivMedia Robotics LLC Copyright (C) 2006, 2007 MobileRobots Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA If you wish to redistribute ARIA under different terms, contact MobileRobots for information about a commercial version of ARIA at robots@mobilerobots.com or MobileRobots Inc, 19 Columbia Drive, Amherst, NH 03031; 800-639-9481 */ #include "Aria.h" int main(int argc, char **argv) { ArRobot robot; Aria::init(); ArSimpleConnector connector(&argc, argv); if (!Aria::parseArgs()) { Aria::logOptions(); Aria::shutdown(); return 1; } if (!connector.connectRobot(&robot)) { ArLog::log(ArLog::Normal, "simpleConnect: Could not connect to robot... exiting"); return 2; } ArLog::log(ArLog::Normal, "simpleConnect: Connected."); // Start the robot running in the background. // True parameter means that if the connection is lost, then the // run loop ends. robot.runAsync(true); // Print out some data from the SIP ArLog::log(ArLog::Normal, "simpleConnect: Pose=(%.2f,%.2f,%.2f), Trans. Vel=%.2f, Battery=%.2fV", robot.getX(), robot.getY(), robot.getTh(), robot.getVel(), robot.getBatteryVoltage()); // Sleep for 3 seconds. ArLog::log(ArLog::Normal, "simpleConnect: Sleeping for 3 seconds..."); ArUtil::sleep(3000); ArLog::log(ArLog::Normal, "simpleConnect: Ending robot thread..."); robot.stopRunning(); ArLog::log(ArLog::Normal, "simpleConnect: Exiting."); return 0; }