#include <ArRobotConnector.h>
When you create your ArRobotConnector, pass it command line parameters via either the argc and argv variables from main(), or pass it an ArArgumentBuilder or ArArgumentParser object. (ArArgumentBuilder is able to obtain command line parameters from a Windows program that uses WinMain() instead of main()). ArRobotConnector registers a callback with the global Aria class. Use Aria::parseArgs() to parse all command line parameters to the program, and Aria::logOptions() to print out information about all registered command-line parameters.
The following command-line arguments are checked:
You can prepare an ArRobot object for connection (with various connection options configured via the command line parameters) and initiate the connection attempt by that object by calling connectRobot().
After it's connected, you must then begin the robot processing cycle by calling ArRobot::runAsync() or ArRobot::run().
You can then configure ArRobotConnector for the SICK laser based on the robot connection, and command line parameters with setupLaser(). After calling setupLaser(), you must then run the laser processing thread (with ArRangeDeviceLaser::runAsync() or ArRangeDeviceLaser()run()) and then use ArRobotConnector::connectLaser() to connect with the laser if specifically requested on the command line using the -connectLaser option (or simply call ArRangeDeviceLaser::blockingConnect() (or similar) to attempt a laser connection regardless of whether or not the -connectLaser option was given; use this latter technique if your program always prefers or requires use of the laser).
Public Member Functions | |
ArRobotConnector (ArArgumentParser *parser, ArRobot *robot, bool autoParseArgs=true) | |
Constructor that takes argument parser. | |
bool | connectRobot (ArRobot *robot) |
Sets up the robot then connects it. | |
bool | connectRobot (void) |
Sets up the robot then connects it. | |
const char * | getRemoteHost (void) const |
Gets the remote host, if one was used, or NULL if it wasn't. | |
bool | getRemoteIsSim (void) const |
Gets if the remote connection is a sim. | |
ArRobot * | getRobot (void) |
Gets the robot this connector is using (mostly for backwards compatibility stuff). | |
void | logOptions (void) const |
Log the options the simple connector has. | |
bool | parseArgs (ArArgumentParser *parser) |
Function to parse the arguments given in an arbitrary parser. | |
bool | parseArgs (void) |
Function to parse the arguments given in the constructor. | |
bool | setupRobot (ArRobot *robot) |
Sets up an arbitrary robot to be connected. | |
bool | setupRobot (void) |
Sets up the given robot to be connected. | |
~ArRobotConnector (void) | |
Destructor. | |
Protected Attributes | |
bool | myAutoParseArgs |
bool | myHaveParsedArgs |
If we've parsed the args already or not. | |
ArConstFunctorC< ArRobotConnector > | myLogOptionsCB |
bool | myOwnParser |
ArRetFunctorC< bool, ArRobotConnector > | myParseArgsCB |
ArArgumentParser * | myParser |
const char * | myRemoteHost |
bool | myRemoteIsSim |
int | myRemoteRobotTcpPort |
ArRobot * | myRobot |
int | myRobotBaud |
bool | myRobotLogActions |
bool | myRobotLogMovementReceived |
bool | myRobotLogMovementSent |
bool | myRobotLogPacketsReceived |
bool | myRobotLogPacketsSent |
bool | myRobotLogVelocitiesReceived |
const char * | myRobotPort |
ArSerialConnection | myRobotSerConn |
ArTcpConnection | myRobotTcpConn |
bool | myUsingSim |