This directory has various example pieces of code and Microsoft VC++ project files. The two most useful example programs are teleopActionsExample and wander. TeleopActionsExample does guarded teleoperation, so you can drive the robot around without running into walls. Wander just has the robot wander, ie drive forward until there is an obstacle, avoid it, then keep driving. lasers shows how to connect to laser rangefinder(s) and use the data from them. The smallest, simplest example program is simpleConnect. It just connects to the robot, prints some information, then disconnects and exits. Partial list of examples: ------------------------------------------------------------------------------- demo - Uses "Modes" defined in ARIA to provide keyboard control of many different robot features. Use this utility to experiment and test the robot's hardware. simpleConnect - The smallest example program. It just connects to the robot. simpleUserTask - Demonstrates how to make a simple user task robotSyncTaskExample - simple example of ArRobot synchronized task callbacks lasers - Demonstrates how to connect to one or more laser rangefinder devices as defined in robot and program parameters, and obtain data from them. directMotionDemo - Drives the robot around using the basic direct motion commands (no ArActions or obstacle avoidance). it also runs the robot in its own thread, and has examples of connection handler callbacks. actionExample - Defines a couple of custom ArAction classes, and uses them. actionGroup - Program that uses action groups to switch back and forth between wander and teleop mode cameraPTZExample - Connect to PTZ camera or PTU (depending on robot parameter file configuration or command line arguments). dpptuExample - A program to control the Directed Perception PTU with the keyboard. functor - An example program on the basic use of functors. gotoActionExample - An example of how to use ArActionGoto to go to many different points and not just one gpsExample - An example showing how to get data from a GPS gripperDemo - Program that moves the robot and controls the gripper with the joystick, note this doesn't do obstacle avoidance actsColorFolowingExample - A simple program that uses ACTS and a VC-C4 camera to move the robot toward a color blob. joydriveActionExample - Uses an action that reads the robot to drive the joystick, does not do obstacle avoidance joydriveThreaded - Program to drive the robot with a joystick. This one uses its own ArASyncTask to drive the joystick handler. This is a good example to look at to see how threading works. This does not do obstacle avoidance, this also has a connection handler joydriveUserTask - Program to drive the robot with a joystick. This one uses a user task to drive the joystick handler, does not do obstacle avoidance getAuxExample - An example program that uses the getAux command and talks about how to use the getAux to do actual work moduleExample - Tests the loadable modules in a simple way socketClientExample - This program works with socketServerExample to demonstrate ArSockets socketServerExample - A program to demonstrate ArSocket, works with socketClientExample sickLineFinderSimple - An example of using the laser sensor line finding class and lets you save the lines threadExample - Demonstrates ARIA's threading tools soundsQueueExamples - Demonstrates use of the ArSoundsQueue sound/speech queue teleopActionsExample - This uses ARIA's powerful Actions system to drive the robot around using input from the keyboard or a joystick, but does obstacle avoidance so the robot won't run into things (if it can sense them with sonar or laser). wander - Makes the robot wander around, turning to avoid any sensed obstacles. Uses sonar and laser (if available) to detect obstacles. wanderAndLogData - similar to wander, but prints out all kinds of runtime information about the robot (others) - there are several other example programs in this directory not listed here. Some are for older or less common hardware, or show some advanced features of ARIA that only some users will need. Browse them and read their descriptions (in comments at the top of source files) for more information.