Aria
2.8.0
|
These classes provide interfaces to hardware devices such as sensors. More...
Classes | |
class | ArBumpers |
A class that treats the robot's bumpers as a range device. 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 | ArLaser |
Range device interface specialized for laser rangefinder sensors. More... | |
class | ArLaserConnector |
Create laser interface objects (for any kind of laser supported by ARIA) and connect to lasers based on parameters from robot parameter file and command-line arguments. 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 | 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 | ArRobot |
Central class for communicating with and operating the robot. More... | |
class | ArRobotConnector |
Connect to robot or simulator based on program command line parameters. More... | |
class | ArSerialConnection |
Utility for connecting to and communicating with devices through a serial port. More... | |
class | ArSonarDevice |
Keep track of recent sonar readings from a robot as an ArRangeDevice. 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... | |
class | ArLaserConnector::LaserData |
Class that holds information about the laser data. More... | |
Enumerations | |
enum | { ReadFinished = ArNMEAParser::ParseFinished, ReadError = ArNMEAParser::ParseError, ReadData = ArNMEAParser::ParseData, ReadUpdated = ArNMEAParser::ParseUpdated } |
Flags to indicates what the read() method did. More... | |
enum | ChargeState { CHARGING_UNKNOWN = -1, CHARGING_NOT = 0, CHARGING_BULK = 1, CHARGING_OVERCHARGE = 2, CHARGING_FLOAT = 3, CHARGING_BALANCE = 4 } |
enum | Direction { DIGITAL_INPUT, DIGITAL_OUTPUT } |
enum | ArGPSConnector::GPSType { ArGPSConnector::Standard, ArGPSConnector::Novatel, ArGPSConnector::Trimble, ArGPSConnector::Invalid, ArGPSConnector::NovatelSPAN, ArGPSConnector::Simulator } |
Device type identifiers. More... | |
enum | LatDesired { LAT_NONE, LAT_IGNORE, LAT_VEL } |
enum | ArSerialConnection::Open { ArSerialConnection::OPEN_COULD_NOT_OPEN_PORT = 1, ArSerialConnection::OPEN_COULD_NOT_SET_UP_PORT, ArSerialConnection::OPEN_INVALID_BAUD_RATE, ArSerialConnection::OPEN_COULD_NOT_SET_BAUD, ArSerialConnection::OPEN_ALREADY_OPEN } |
enum | RotDesired { ROT_NONE, ROT_IGNORE, ROT_HEADING, ROT_VEL } |
enum | TransDesired { TRANS_NONE, TRANS_IGNORE, TRANS_VEL, TRANS_VEL2, TRANS_DIST, TRANS_DIST_NEW } |
enum | ArGripper::Type { ArGripper::QUERYTYPE, ArGripper::GENIO, ArGripper::USERIO, ArGripper::GRIPPAC, ArGripper::NOGRIPPER } |
These are the types for the gripper. More... | |
enum | ArRobot::WaitState { ArRobot::WAIT_CONNECTED, ArRobot::WAIT_FAILED_CONN, ArRobot::WAIT_RUN_EXIT, ArRobot::WAIT_TIMEDOUT, ArRobot::WAIT_INTR, ArRobot::WAIT_FAIL } |
enum | ArGPS::FixType { NoFix, BadFix, GPSFix, DGPSFix, PPSFix, RTKinFix, FloatRTKinFix, DeadReckFix, ManualFix, SimulatedFix, UnknownFixType, OmnistarConverging = FloatRTKinFix, OmnistarConverged = RTKinFix } |
Data accessors. More... | |
Data | ArGPS::myData |
ArMutex | ArGPS::myMutex |
ArDeviceConnection * | ArGPS::myDevice |
bool | ArGPS::myCreatedOwnDeviceCon |
ArRetFunctorC< bool, ArGPS > | ArGPS::myParseArgsCallback |
ArArgumentParser * | ArGPS::myArgParser |
ArNMEAParser | ArGPS::myNMEAParser |
ArFunctor1C< ArGPS, ArNMEAParser::Message > | ArGPS::myGPRMCHandler |
ArFunctor1C< ArGPS, ArNMEAParser::Message > | ArGPS::myGPGGAHandler |
ArFunctor1C< ArGPS, ArNMEAParser::Message > | ArGPS::myPGRMEHandler |
ArFunctor1C< ArGPS, ArNMEAParser::Message > | ArGPS::myPGRMZHandler |
ArFunctor1C< ArGPS, ArNMEAParser::Message > | ArGPS::myHCHDxHandler |
ArFunctor1C< ArGPS, ArNMEAParser::Message > | ArGPS::myGPGSAHandler |
ArFunctor1C< ArGPS, ArNMEAParser::Message > | ArGPS::myGPGSVHandler |
unsigned int | ArGPS::mySNRSum |
unsigned short | ArGPS::mySNRNum |
ArFunctor1C< ArGPS, ArNMEAParser::Message > | ArGPS::myGPMSSHandler |
ArFunctor1C< ArGPS, ArNMEAParser::Message > | ArGPS::myGPGSTHandler |
const ArGPS::Data & | ArGPS::getCurrentDataRef () const |
Access all of the internally stored data directly. More... | |
FixType | ArGPS::getFixType () const |
(from NMEA GPGGA) | |
const char * | ArGPS::getFixTypeName () const |
(from NMEA GPGGA) | |
bool | ArGPS::havePosition () const |
(from NMEA GPRMC) | |
bool | ArGPS::haveLatitude () const |
(from NMEA GPRMC) | |
bool | ArGPS::haveLongitude () const |
(from NMEA GPRMC) | |
double | ArGPS::getLatitude () const |
double | ArGPS::getLongitude () const |
ArTime | ArGPS::getTimeReceivedPosition () const |
bool | ArGPS::haveSpeed () const |
(from NMEA GPRMC) | |
double | ArGPS::getSpeed () const |
ArTime | ArGPS::getGPSPositionTimestamp () const |
Timestamp provided by GPS device along with position. More... | |
int | ArGPS::getNumSatellitesTracked () const |
bool | ArGPS::haveDGPSStation () const |
(from NMEA GPGGA) | |
unsigned short | ArGPS::getDGPSStationID () const |
(from NMEA GPGGA) | |
bool | ArGPS::haveGarminPositionError () const |
double | ArGPS::getGarminPositionError () const |
GPS device's error estimation in meters (from a Garmin-specific message PGRME, most GPS receivers will not provide this) | |
bool | ArGPS::haveGarminVerticalPositionError () const |
double | ArGPS::getGarminVerticalPositionError () const |
bool | ArGPS::haveCompassHeadingMag () const |
Have a compass heading value relative to magnetic north. More... | |
bool | ArGPS::haveCompassHeadingTrue () const |
Have a compass heading value relative to true north (using GPS/compass device's configured declination). More... | |
double | ArGPS::getCompassHeadingMag () const |
Heading from magnetic north. More... | |
double | ArGPS::getCompassHeadingTrue () const |
Heading from true north. More... | |
void | ArGPS::setCompassHeadingMag (double val) |
Manually set compass value. More... | |
void | ArGPS::setCompassHeadingTrue (double val) |
Manually set compass value. More... | |
void | ArGPS::setCompassHeadingMagWithLock (double val) |
Manually set compass value. More... | |
void | ArGPS::setCompassHeadingTrueWithLock (double val) |
Manually set compass value. More... | |
bool | ArGPS::haveAltitude () const |
Altitude above sea level calculated from satellite positions (see also haveAltimiter()) (from NMEA GPGGA, if provided) | |
double | ArGPS::getAltitude () const |
Altitude above sea level (meters), calculated from satellite positions (see also getAltimiter()) (from NMEA GPGGA, if provided) | |
bool | ArGPS::haveAltimeter () const |
Some receivers may have an additional altitude from an altimiter (meters above sea level) (from PGRMZ, if receiver provides it) | |
double | ArGPS::getAltimeter () const |
Some receivers may have an additional altitude from an altimiter (meters above sea level) (from PGRMZ, if receiver provides it) | |
bool | ArGPS::haveHDOP () const |
(from NMEA GPGGA) | |
double | ArGPS::getHDOP () const |
(from NMEA GPGGA) | |
bool | ArGPS::haveVDOP () const |
(from NMEA GPGGA) | |
double | ArGPS::getVDOP () const |
(from NMEA GPGGA) | |
bool | ArGPS::havePDOP () const |
(from NMEA GPGGA) | |
double | ArGPS::getPDOP () const |
(from NMEA GPGGA) | |
bool | ArGPS::haveSNR () const |
(from NMEA GPGSV) | |
double | ArGPS::getMeanSNR () const |
dB (from NMEA GPGSV) | |
bool | ArGPS::haveBeaconInfo () const |
Whether we have any DGPS stationary beacon info (from NMEA GPMSS) | |
double | ArGPS::getBeaconSignalStrength () const |
DGPS stationary beacon signal strength (dB) (from NMEA GPMSS) | |
double | ArGPS::getBeaconSNR () const |
DGPS stationary beacon signal to noise (dB) (from NMEA GPMSS) | |
double | ArGPS::getBeaconFreq () const |
DGPS stationary beacon frequency (kHz) (from NMEA GPMSS) | |
unsigned short | ArGPS::getBecaonBPS () const |
DGPS stationary beacon bitrate (bits per second) (from NMEA GPMSS) | |
unsigned short | ArGPS::getBeaconChannel () const |
DGPS stationary beacon channel (from NMEA GPMSS) | |
bool | ArGPS::haveErrorEllipse () const |
Whether we have a position error estimate (as standard deviations in latitude and longitude) (from NMEA GPGST) | |
ArPose | ArGPS::getErrorEllipse () const |
Standard deviation of position error (latitude and longitude), meters. More... | |
bool | ArGPS::haveLatLonError () const |
Whether we have latitude or longitude error estimates (from NMEA GPGST) | |
ArPose | ArGPS::getLatLonError () const |
Standard deviation of latitude and longitude error, meters. More... | |
double | ArGPS::getLatitudeError () const |
Standard deviation of latitude and longitude error, meters. More... | |
double | ArGPS::getLongitudeError () const |
Standard deviation of latitude and longitude error, meters. More... | |
bool | ArGPS::haveAltitudeError () const |
double | ArGPS::getAltitudeError () const |
Standard deviation of altitude error, meters. (from NMEA GPGST, if provided) | |
bool | ArGPS::haveInputsRMS () const |
(from NMEA GPGST) | |
double | ArGPS::getInputsRMS () const |
(from NMEA GPGST) | |
void | ArGPS::addNMEAHandler (const char *message, ArNMEAParser::Handler *handler) |
Set a handler for an NMEA message. More... | |
void | ArGPS::removeNMEAHandler (const char *message) |
void | ArGPS::replaceNMEAHandler (const char *message, ArNMEAParser::Handler *handler) |
bool | ArGPS::readFloatFromString (const std::string &str, double *target, double(*convf)(double)=NULL) const |
bool | ArGPS::readUShortFromString (const std::string &str, unsigned short *target, unsigned short(*convf)(unsigned short)=NULL) const |
bool | ArGPS::readFloatFromStringVec (const std::vector< std::string > *vec, size_t i, double *target, double(*convf)(double)=NULL) const |
bool | ArGPS::readUShortFromStringVec (const std::vector< std::string > *vec, size_t i, unsigned short *target, unsigned short(*convf)(unsigned short)=NULL) const |
void | ArGPS::handleGPRMC (ArNMEAParser::Message msg) |
void | ArGPS::handleGPGGA (ArNMEAParser::Message msg) |
void | ArGPS::handlePGRME (ArNMEAParser::Message msg) |
void | ArGPS::handlePGRMZ (ArNMEAParser::Message msg) |
void | ArGPS::handleHCHDx (ArNMEAParser::Message msg) |
void | ArGPS::handleGPGSA (ArNMEAParser::Message msg) |
void | ArGPS::handleGPGSV (ArNMEAParser::Message msg) |
void | ArGPS::handleGPMSS (ArNMEAParser::Message msg) |
void | ArGPS::handleGPGST (ArNMEAParser::Message msg) |
bool | ArGPS::readTimeFromString (const std::string &s, ArTime *time) const |
void | ArGPS::parseGPRMC (const ArNMEAParser::Message &msg, double &latitudeResult, double &longitudeResult, bool &qualityFlagResult, bool &gotPosition, ArTime &timeGotPositionResult, ArTime &gpsTimestampResult, bool &gotSpeedResult, double &speedResult) |
Parse a GPRMC message (in msg) and place results in provided variables. More... | |
static const char * | ArGPS::getFixTypeName (FixType type) |
static double | ArGPS::gpsDegminToDegrees (double degmin) |
static double | ArGPS::knotsToMPS (double knots) |
static double | ArGPS::mpsToMph (const double mps) |
Convert meters per second to miles per hour. | |
static double | ArGPS::metersToFeet (double m) |
static double | ArGPS::feetToMeters (double f) |
These classes provide interfaces to hardware devices such as sensors.
Some use "connector" objects for configure, connection and sometimes to create the interface objects. Read documentation fro details.
anonymous enum |
Flags to indicates what the read() method did.
i.e. If nothing was done, then the result will be 0. To check a read() return result result to see if data was updated, use (result & ReadUpdated). To check if there was an error, use (result & ReadError).
These happen to match the flags in ArNMEAParser.
enum ArGPS::FixType |
Data accessors.
Access the last received data from the GPS
Device type identifiers.
Enumerator | |
---|---|
Standard |
For a standard NMEA GPS device (no extra initialization or interpretation needed) accessible using ArGPS. |
Novatel |
For a Novatel device accessible using ArNovatelGPS. |
Trimble |
For a Trimble device accessible using ArTrimbleGPS. |
Invalid |
Not set or invalid. |
NovatelSPAN |
Novatel SPAN.
|
Simulator |
Simulated (program must set dummy positions)
|
enum ArGripper::Type |
enum ArRobot::WaitState |
|
inline |
Set a handler for an NMEA message.
Mostly for internal use or to be used by related classes, but you could use for ususual or custom messages emitted by a device that you wish to be handled outside of the ArGPS class.
|
inline |
Heading from magnetic north.
|
inline |
Heading from true north.
|
inline |
Access all of the internally stored data directly.
|
inline |
Standard deviation of position error (latitude and longitude), meters.
Theta in ArPose is orientation of ellipse from true north, Y is the length of the major axis on that orientation, X the minor. (from NMEA GPGST)
|
inline |
|
inline |
Timestamp provided by GPS device along with position.
(from NMEA GPRMC)
|
inline |
|
inline |
Standard deviation of latitude and longitude error, meters.
Theta value in ArPose is unused.
|
inline |
Standard deviation of latitude and longitude error, meters.
Theta value in ArPose is unused.
|
inline |
|
inline |
Standard deviation of latitude and longitude error, meters.
Theta value in ArPose is unused.
|
inline |
|
inline |
|
inline |
Have a compass heading value relative to magnetic north.
|
inline |
Have a compass heading value relative to true north (using GPS/compass device's configured declination).
|
inline |
|
inline |
|
protected |
Parse a GPRMC message (in msg) and place results in provided variables.
(Can be used by subclasses to store results of GPRMC differently than normal.)
|
inline |
Manually set compass value.
|
inline |
Manually set compass value.
|
inline |
Manually set compass value.
|
inline |
Manually set compass value.