Aria  2.8.0
Optional Classes

These classes provide additional features that may be used in some programs. More...

Classes

class  ArAction
 Base class for actions. More...
 
class  ArActionGroup
 Group a set of ArAction objects together. More...
 
class  ArACTS_1_2
 Communicate with ACTS. More...
 
class  ArAnalogGyro
 Use onboard gyro to improve the heading in an ArRobot object's pose value. More...
 
class  ArCameraCollection
 Maintains information about all of the robot's cameras. More...
 
class  ArCommands
 A class containing names for most robot microcontroller system commands. More...
 
class  ArConfig
 Stores configuration information which may be read to and from files or other sources. More...
 
class  ArDaemonizer
 Switch to running the program as a background daemon (i.e. More...
 
class  ArDataLogger
 This class will log data, but you have to use it through an ArConfig right now. More...
 
class  ArDPPTUCommands
 Interface to Directed Perception pan/tilt unit, imprementing the ArPTZ interface. More...
 
class  ArFileParser
 Class for parsing files more easily. More...
 
class  ArForbiddenRangeDevice
 Class that takes forbidden lines and turns them into range readings. More...
 
class  ArGPS
 GPS Device Interface. More...
 
class  ArGPSConnector
 Factory for creating GPS interface object (for any kind of GPS supported by ARIA) based on robot parameter file and command-line arguments. More...
 
class  ArGripper
 Provides an interface to the Pioneer gripper device. More...
 
class  ArIRs
 A class that treats a robot's infrared sensors as a range device. More...
 
class  ArJoyHandler
 Interfaces to a computer joystick. More...
 
class  ArKeyHandler
 Perform actions when keyboard keys are pressed. More...
 
class  ArLineFinder
 This class finds lines out of any range device with raw readings (lasers for instance) More...
 
class  ArMap
 A map of a two-dimensional space the robot can navigate within, and which can be updated via the Aria config. More...
 
class  ArMode
 A class for different modes, mostly as related to keyboard input. More...
 
class  ArMTXIO
 Interface to digital and analog I/O and switched power outputs on MTX core (used in Pioneer LX and other MTX-based robots). More...
 
class  ArNetServer
 Class for running a simple net server to send/recv commands via text. More...
 
class  ArP2Arm
 ArP2Arm is the interface to the AROS/P2OS-based Pioneer 2 Arm servers, by means of which the robot microcontroller firmware can control the original 5-DOF Pioneer 2 Arm manipulator. More...
 
class  ArPTZ
 Base class which handles the PTZ cameras. More...
 
class  ArPTZConnector
 Factory for creating and configuring interfaces for pan/tilt units or camera pan/tilt/zoom control based on robot parameter file and command-line arguments. More...
 
class  ArRatioInputJoydrive
 Use computer joystick to control an ArActionRatioInput and drive the robot. More...
 
class  ArRatioInputKeydrive
 This will use the keyboard arrow keys and the ArActionRatioInput to drive the robot. More...
 
class  ArRatioInputRobotJoydrive
 Use robot's joystick to control an ArActionRatioInput action and drive the robot. More...
 
class  ArRobotJoyHandler
 Interfaces to a joystick on the robot's microcontroller. More...
 
class  ArStringInfoGroup
 This class takes callbacks from different classes that want this string information and then lets you just add the information here instead of to each individual class. More...
 
class  ArTCM2
 Interface to the PNI TCM 2, TCM 2.5, and TCM 2.6 3-axis compass (magnetometer) that can sense absolute heading, as well as pitch, roll, and includes a temperature sensor. More...
 
class  ArVersalogicIO
 Interface to integrated digital and analog I/O interfaces on Versalogic VSBC8 and EBX-12 Cobra computers (digital IO on 2nd * gen. More...
 
struct  ArCameraCollection::CameraInfo
 Information regarding a single camera. More...
 
struct  ArCameraCollection::CommandInfo
 Information regarding a particular camera command. More...
 
struct  ArCameraCollection::ParamInfo
 Information regarding a particular camera parameter. More...
 
class  ArConfig::ProcessFileCBType
 This class's job is to make the two functor types largely look like the same one from the code's perspective, this is so we can store them both in the same map for order of operations purposes. More...
 

Enumerations

enum  {
  ArDPPTUCommands::DELIM = 0x20, ArDPPTUCommands::INIT = 0x40, ArDPPTUCommands::ACCEL = 0x61, ArDPPTUCommands::BASE = 0x62,
  ArDPPTUCommands::CONTROL = 0x63, ArDPPTUCommands::DISABLE = 0x64, ArDPPTUCommands::ENABLE = 0x65, ArDPPTUCommands::FACTORY = 0x66,
  ArDPPTUCommands::HALT = 0x68, ArDPPTUCommands::IMMED = 0x69, ArDPPTUCommands::LIMIT = 0x6C, ArDPPTUCommands::MONITOR = 0x6D,
  ArDPPTUCommands::OFFSET = 0x6F, ArDPPTUCommands::PAN = 0x70, ArDPPTUCommands::RESET = 0x72, ArDPPTUCommands::SPEED = 0x73,
  ArDPPTUCommands::TILT = 0x74, ArDPPTUCommands::UPPER = 0x75, ArDPPTUCommands::VELOCITY = 0x76
}
 
enum  ArACTS_1_2::ActsConstants {
  ArACTS_1_2::NUM_CHANNELS = 32, ArACTS_1_2::MAX_BLOBS = 10, ArACTS_1_2::ACTS_BLOB_DATA_SIZE = 16, ArACTS_1_2::DATA_HEADER = NUM_CHANNELS * 4,
  ArACTS_1_2::MAX_DATA = 5300
}
 
enum  ArCommands::Commands {
  ArCommands::PULSE = 0, ArCommands::OPEN = 1, ArCommands::CLOSE = 2, ArCommands::POLLING = 3,
  ArCommands::ENABLE = 4, ArCommands::SETA = 5, ArCommands::SETV = 6, ArCommands::SETO = 7,
  ArCommands::MOVE = 8, ArCommands::ROTATE = 9, ArCommands::SETRV = 10, ArCommands::VEL = 11,
  ArCommands::HEAD = 12, ArCommands::DHEAD = 13, ArCommands::SAY = 15, JOYINFO = 17,
  ArCommands::CONFIG = 18, ArCommands::ENCODER = 19, ArCommands::SETRVDIR = 20, ArCommands::RVEL = 21,
  ArCommands::DCHEAD = 22, ArCommands::SETRA = 23, ArCommands::SONAR = 28, ArCommands::STOP = 29,
  ArCommands::DIGOUT = 30, ArCommands::VEL2 = 32, ArCommands::GRIPPER = 33, ArCommands::ADSEL = 35,
  ArCommands::GRIPPERVAL = 36, ArCommands::GRIPPERPACREQUEST = 37, ArCommands::IOREQUEST = 40, ArCommands::PTUPOS = 41,
  ArCommands::TTY2 = 42, ArCommands::GETAUX = 43, ArCommands::BUMPSTALL = 44, ArCommands::TCM2 = 45,
  ArCommands::JOYDRIVE = 47, ArCommands::MOVINGBLINK = 49, ArCommands::HOSTBAUD = 50, ArCommands::AUX1BAUD = 51,
  ArCommands::AUX2BAUD = 52, ArCommands::ESTOP = 55, ESTALL = 56, ArCommands::GYRO = 58,
  TTY4 = 60, GETAUX3 = 61, ArCommands::BATTERYINFO = 62, TTY3 = 66,
  GETAUX2 = 67, BATTEST = 250, ArCommands::LOADPARAM = 61, ArCommands::OLDSIM_LOADPARAM = 61,
  ArCommands::ENDSIM = 62, ArCommands::OLDSIM_EXIT = 62, ArCommands::LOADWORLD = 63, ArCommands::OLDSIM_LOADWORLD = 63,
  ArCommands::STEP = 64, ArCommands::OLDSIM_STEP = 64, ArCommands::CALCOMP = 65, ArCommands::SETSIMORIGINTH = 68,
  ArCommands::OLDSIM_SETORIGINTH = 68, ArCommands::RESETSIMTOORIGIN = 69, ArCommands::OLDSIM_RESETTOORIGIN = 69, ArCommands::SOUND = 90,
  ArCommands::PLAYLIST = 91, ArCommands::SOUNDTOG = 92, ArCommands::POWER_PC = 95, ArCommands::POWER_LRF = 96,
  ArCommands::POWER_5V = 97, ArCommands::POWER_12V = 98, ArCommands::POWER_24V = 98, ArCommands::POWER_AUX_PC = 125,
  ArCommands::POWER_TOUCHSCREEN = 126, ArCommands::POWER_PTZ = 127, ArCommands::POWER_AUDIO = 128, ArCommands::POWER_LRF2 = 129,
  ArCommands::LATVEL = 110, ArCommands::LATACCEL = 113, SETLATV = 0, ArCommands::SRECORD = 210,
  ArCommands::MARCDEBUG = 211, ArCommands::WHEEL_LIGHT = 212, ArCommands::ABSOLUTE_MAXES = 213, ArCommands::SAFETY_STATE_INFO = 214,
  ArCommands::SAFETY_SET_STATE = 215, ArCommands::SAFETY_DISABLE_POWER_OFF_TIMER = 216, ArCommands::SIM_SET_POSE = 224, ArCommands::SIM_RESET = 225,
  ArCommands::SIM_LRF_ENABLE = 230, ArCommands::SIM_LRF_SET_FOV_START = 231, ArCommands::SIM_LRF_SET_FOV_END = 232, ArCommands::SIM_LRF_SET_RES = 233,
  ArCommands::SIM_CTRL = 236, ArCommands::SIM_STAT = 237, ArCommands::SIM_MESSAGE = 238, ArCommands::SIM_EXIT = 239
}
 
enum  ArAnalogGyro::GyroType { ArAnalogGyro::GYRO_NONE, ArAnalogGyro::GYRO_ANALOG_COMPUTER, ArAnalogGyro::GYRO_ANALOG_CONTROLLER }
 Gyro type. More...
 
enum  ArKeyHandler::KEY {
  ArKeyHandler::UP = 256, ArKeyHandler::DOWN, ArKeyHandler::LEFT, ArKeyHandler::RIGHT,
  ArKeyHandler::ESCAPE, ArKeyHandler::SPACE, ArKeyHandler::TAB, ArKeyHandler::ENTER,
  ArKeyHandler::BACKSPACE, ArKeyHandler::_StartFKeys, ArKeyHandler::F1, ArKeyHandler::F2,
  ArKeyHandler::F3, ArKeyHandler::F4, ArKeyHandler::F5, ArKeyHandler::F6,
  ArKeyHandler::F7, ArKeyHandler::F8, ArKeyHandler::F9, ArKeyHandler::F10,
  ArKeyHandler::F11, ArKeyHandler::F12, ArKeyHandler::_EndFKeys, ArKeyHandler::PAGEUP,
  ArKeyHandler::PAGEDOWN, ArKeyHandler::HOME, ArKeyHandler::END, ArKeyHandler::INSERT,
  ArKeyHandler::DEL
}
 These are symbols for the non-ascii keys. More...
 
enum  ArP2Arm::PacketType { ArP2Arm::StatusPacket, ArP2Arm::InfoPacket }
 Type of arm packet identifiers. Used in ArP2Arm::setPacketCB(). More...
 
enum  ArP2Arm::State {
  ArP2Arm::SUCCESS, ArP2Arm::ALREADY_INITED, ArP2Arm::NOT_INITED, ArP2Arm::ROBOT_NOT_SETUP,
  ArP2Arm::NO_ARM_FOUND, ArP2Arm::COMM_FAILED, ArP2Arm::COULD_NOT_OPEN_PORT, ArP2Arm::COULD_NOT_SET_UP_PORT,
  ArP2Arm::ALREADY_CONNECTED, ArP2Arm::NOT_CONNECTED, ArP2Arm::INVALID_JOINT, ArP2Arm::INVALID_POSITION
}
 General error conditions possible from most of the arm related functions. More...
 
enum  ArP2Arm::StatusType { ArP2Arm::StatusOff =0, ArP2Arm::StatusSingle =1, ArP2Arm::StatusContinuous =2 }
 Type of status packets to request for. Used in ArP2Arm::requestStatus() More...
 

Detailed Description

These classes provide additional features that may be used in some programs.

Enumeration Type Documentation

anonymous enum
Enumerator
DELIM 

Space - Carriage return delimeter.

INIT 

Init character.

ACCEL 

Acceleration, Await position-command completion.

BASE 

Base speed.

CONTROL 

Speed control.

DISABLE 

Disable character, Delta, Default.

ENABLE 

Enable character, Echoing.

FACTORY 

Restore factory defaults.

HALT 

Halt, Hold, High.

IMMED 

Immediate position-command execution mode, Independent control mode.

LIMIT 

Position limit character, Low.

MONITOR 

Monitor, In-motion power mode.

OFFSET 

Offset position, Off.

PAN 

Pan.

RESET 

Reset calibration, Restore stored defaults, Regular.

SPEED 

Speed, Slave.

TILT 

Tilt.

UPPER 

Upper speed limit.

VELOCITY 

Velocity control mode.

Enumerator
NUM_CHANNELS 

Number of channels there are.

MAX_BLOBS 

Number of blobs per channel.

ACTS_BLOB_DATA_SIZE 

Size of the blob data.

DATA_HEADER 

Size of the data header.

MAX_DATA 

Maximum amount of data.

Enumerator
PULSE 

none, keep alive command, so watchdog doesn't trigger

OPEN 

none, sent after connection to initiate connection

CLOSE 

none, sent to close the connection to the robot

POLLING 

string, string that sets sonar polling sequence

ENABLE 

int, enable (1) or disable (0) motors

SETA 

int, sets translational accel (+) or decel (-) (mm/sec/sec)

SETV 

int, sets maximum velocity (mm/sec)

SETO 

int, resets robots origin back to 0, 0, 0

MOVE 

int, translational move (mm)

ROTATE 

int, set rotational velocity, duplicate of RVEL (deg/sec)

SETRV 

int, sets the maximum rotational velocity (deg/sec)

VEL 

int, set the translational velocity (mm/sec)

HEAD 

int, turn to absolute heading 0-359 (degrees)

DHEAD 

int, turn relative to current heading (degrees)

SAY 

string, makes the robot beep.

up to 20 pairs of duration (20 ms incrs) and tones (halfcycle)

CONFIG 

int, request configuration packet

ENCODER 

int, > 0 to request continous stream of packets, 0 to stop

SETRVDIR 

int, Sets the rot vel max in each direction

RVEL 

int, set rotational velocity (deg/sec)

DCHEAD 

int, colbert relative heading setpoint (degrees)

SETRA 

int, sets rotational accel(+) or decel(-) (deg/sec)

SONAR 

int, enable (1) or disable (0) sonar

STOP 

int, stops the robot

DIGOUT 

int, sets the digout lines

VEL2 

int, independent wheel velocities, first 8 bits = right, second 8 bits = left, multiplied by Vel2 divisor.

See manual.

GRIPPER 

int, gripper server command, see gripper manual for detail

ADSEL 

int, select the port given as argument

GRIPPERVAL 

p2 gripper server value, see gripper manual for details

GRIPPERPACREQUEST 

p2 gripper packet request

IOREQUEST 

request iopackets from p2os

PTUPOS 

most-sig byte is port number, least-sig byte is pulse width

TTY2 

string, send string argument to serial dev connected to aux1

GETAUX 

int, requests 1-200 bytes from aux1 serial channel, 0 flush

BUMPSTALL 

int, stop and register a stall if front (1), rear (2), or both (3) bump rings are triggered, Off (default) is 0

TCM2 

TCM2 module commands, see tcm2 manual for details.

JOYDRIVE 

Command to tell p2os to drive with the joystick plugged into the robot.

MOVINGBLINK 

int, 1 to blink lamp quickly before moving, 0 not to (for patrolbot)

HOSTBAUD 

int, set baud rate for host port - 0=9600, 1=19200, 2=38400, 3=57600, 4=115200

AUX1BAUD 

int, set baud rate for Aux1 - 0=9600, 1=19200, 2=38400, 3=57600, 4=115200

AUX2BAUD 

int, set baud rate for Aux2 - 0=9600, 1=19200, 2=38400, 3=57600, 4=115200

ESTOP 

none, emergency stop, overrides decel

GYRO 

int, set to 1 to enable gyro packets, 0 to disable

BATTERYINFO 

int, requests battery info packets, 0 to stop, 1 for 1, 2 for continuous

LOADPARAM 
Deprecated:
only supported by SRISim. Conflicts with GETAUX3
OLDSIM_LOADPARAM 
Deprecated:
only supported by SRISim. Conflicts with GETAUX3
ENDSIM 
Deprecated:
use SIM_EXIT
OLDSIM_EXIT 
Deprecated:
use SIM_EXIT
LOADWORLD 
Deprecated:
only supported by SRISim
OLDSIM_LOADWORLD 
Deprecated:
only supported by SRISim
STEP 
Deprecated:
only supported by SRISim
OLDSIM_STEP 
Deprecated:
only supported by SRISim
CALCOMP 

int, commands for calibrating compass, see compass manual

SETSIMORIGINTH 
Deprecated:
use SIM_SET_POSE
OLDSIM_SETORIGINTH 
Deprecated:
use SIM_SET_POSE
RESETSIMTOORIGIN 
Deprecated:
use SIM_RESET
OLDSIM_RESETTOORIGIN 
Deprecated:
use SIM_RESET
SOUND 

int, AmigoBot (old H8 model) specific, plays sound with given number

PLAYLIST 

int, AmigoBot (old H8 model) specific, requests name of sound, 0 for all, otherwise for specific sound

SOUNDTOG 

int, AmigoBot (old H8 model) specific, enable(1) or diable(0) sound

POWER_PC 

int, Powers on or off the PC (if the firwmare is set up to do this in its power settings)

POWER_LRF 

int, Powers on or off the laser (if the firwmare is set up to do this in its power settings)

POWER_5V 

int, Powers on or off the 5v accessories (if the firwmare is set up to do this in its power settings)

POWER_12V 

int, Powers on or off the 12v accessories (if the firwmare is set up to do this in its power settings)

POWER_24V 

int, Powers on or off the 24v accessories (if the firwmare is set up to do this in its power settings)

POWER_AUX_PC 

int, Powers on or off the auxilliary PC (if the firwmare is set up to do this in its power settings)

POWER_TOUCHSCREEN 

int, Powers on or off the touchscreen (if the firwmare is set up to do this in its power settings)

POWER_PTZ 

int, Powers on or off the PTZ (if the firwmare is set up to do this in its power settings)

POWER_AUDIO 

int, Powers on or off the audio (if the firwmare is set up to do this in its power settings)

POWER_LRF2 

int, Powers on or off the second laser (if the firwmare is set up to do this in its power settings)

LATVEL 

int, sets the lateral velocity (mm)

LATACCEL 

int, sets the lateral acceleration (+, mm/sec2) or lateral deceleration (-, mm/sec2)

SRECORD 

set max. lat. vel. (not available yet)

MARCDEBUG 

< int, (for downloading MTX firmware) byte with 0 for wait, 1 for OK, -1 for ERROR (waiting might take 3-5 seconds

for debug messages from MARC, possibly responses, possibly pushed... they are ascii strings that should be logged

WHEEL_LIGHT 

For the wheel lights.

ABSOLUTE_MAXES 

To set the absolute maxes.

SAFETY_STATE_INFO 

int, request safety state info packets (0 == stop, 1 == send once, 2 == send continuous),

SAFETY_SET_STATE 

2 bytes, first byte which system, second byte for value

SAFETY_DISABLE_POWER_OFF_TIMER 

int, 0 set off, 1 set on

SIM_SET_POSE 

int4,int4,int4 Move robot to global pose in simulator (does not change odometry). Each value is a 4-byte integer.

SIM_RESET 

none, Reset robot's state to original in simulator and reset odometry to 0,0,0.

SIM_LRF_ENABLE 

int, 1 to begin sending packets of data from a simulated laser rangefinder (on the same socket connection), 2 to send extended-information laser packets (with reading flags), 0 to disable LRF

SIM_LRF_SET_FOV_START 

int Set angle (degrees from center) at which the simulater laser takes its first reading (normally -90).

SIM_LRF_SET_FOV_END 

int Set angle (degrees from center) at which the simulated laser takes its last reading (normally 90).

SIM_LRF_SET_RES 

int Set the number of degrees between laser readings (in combination with FOV, determines the number of readings per sweep) (normally 1)

SIM_CTRL 

int,..., Send a simulator meta-command (an operation on the simulator itself). The initial 2-byte integer argument selects the operation. See simulator documentation.

SIM_STAT 

none, Request that the simulator reply with a SIMSTAT (0x62) packet. You must have a packet handler registered with ArRobot to receive its output. See simulator documentation.

SIM_MESSAGE 

string, Display a log message in the simulator. Argument is a length-prefixed ASCII byte string.

SIM_EXIT 

int, Exit the simulator. Argument is the exit code (use 0 for a "normal" exit).

enum ArAnalogGyro::GyroType
protected

Gyro type.

Enumerator
GYRO_NONE 

No gyro.

GYRO_ANALOG_COMPUTER 

Analog gyro used by computer.

GYRO_ANALOG_CONTROLLER 

Analog gyro used by microcontroller.

These are symbols for the non-ascii keys.

Enumerator
UP 

Up arrow (keypad or 4 key dirs)

DOWN 

Down arrow (keypad or 4 key dirs)

LEFT 

Left arrow (keypad or 4 key dirs)

RIGHT 

Right arrow (keypad or 4 key dirs)

ESCAPE 

Escape key.

SPACE 

Space key.

TAB 

Tab key.

ENTER 

Enter key.

BACKSPACE 

Backspace key.

_StartFKeys 

F key offset (internal; don't use).

F1 

F1.

F2 

F2.

F3 

F3.

F4 

F4.

F5 

F5 (not supported on Windows yet)

F6 

F6 (not supported on Windows yet)

F7 

F7 (not supported on Windows yet)

F8 

F8 (not supported on Windows yet)

F9 

F9 (not supported on Windows yet)

F10 

F10 (not supported on Windows yet)

F11 

F11 (not supported on Windows yet)

F12 

F12 (not supported on Windows yet)

_EndFKeys 

F key range (internal; don't use)

PAGEUP 

Page Up (not supported on Windows yet)

PAGEDOWN 

Page Down (not supported on Windows yet)

HOME 

Home key (not supported on Windows yet)

END 

End key (not supported on Windows yet)

INSERT 

Insert key (not supported on Windows yet)

DEL 

Special delete key (often forward-delete) (not supported on Windows yet)

Type of arm packet identifiers. Used in ArP2Arm::setPacketCB().

Enumerator
StatusPacket 

The status packet type.

InfoPacket 

The info packet type.

General error conditions possible from most of the arm related functions.

Enumerator
SUCCESS 

Succeded.

ALREADY_INITED 

The class is already initialized.

NOT_INITED 

The class is not initialized.

ROBOT_NOT_SETUP 

The ArRobot class is not setup properly.

NO_ARM_FOUND 

The arm can not be found.

COMM_FAILED 

Communications has failed.

COULD_NOT_OPEN_PORT 

Could not open the communications port.

COULD_NOT_SET_UP_PORT 

Could not setup the communications port.

ALREADY_CONNECTED 

Already connected to the arm.

NOT_CONNECTED 

Not connected with the arm, connect first.

INVALID_JOINT 

Invalid joint specified.

INVALID_POSITION 

Invalid position specified.

Type of status packets to request for. Used in ArP2Arm::requestStatus()

Enumerator
StatusOff 

Stop sending status packets.

StatusSingle 

Send a single status packets.

StatusContinuous 

Send continous packets. Once every 100ms.