|
void | addConnectCB (ArFunctor *functor, int position=50) |
| Adds a connect callback.
|
|
void | addDisconnectNormallyCB (ArFunctor *functor, int position=50) |
| Adds a callback for when disconnect is called while connected.
|
|
void | addDisconnectOnErrorCB (ArFunctor *functor, int position=50) |
| Adds a callback for when disconnection happens because of an error.
|
|
void | addFailedConnectCB (ArFunctor *functor, int position=50) |
| Adds a callback for when a connection to the robot is failed.
|
|
void | addIgnoreReading (double ignoreReading) |
| Adds a degree at which to ignore readings (within 1 degree of nearest integer)
|
|
bool | addIgnoreReadings (const char *ignoreReadings) |
| Adds a series of degree at which to ignore readings (within 1 degree of nearest integer)
|
|
void | addReadingCB (ArFunctor *functor, int position=50) |
| Adds a callback that is called whenever a laser reading is processed.
|
|
virtual void | applyTransform (ArTransform trans, bool doCumulative=true) |
| Applies a transform to the buffers. More...
|
|
| ArLaser (int laserNumber, const char *name, unsigned int absoluteMaxRange, bool locationDependent=false, bool appendLaserNumberToName=true) |
| Constructor.
|
|
virtual bool | asyncConnect (void)=0 |
| Connect to the laser without blocking.
|
|
virtual bool | blockingConnect (void)=0 |
| Connect to the laser and block for the result.
|
|
bool | canChooseAutoBaud (void) |
| Gets if you can choose autoBaud for the laser. More...
|
|
bool | canChooseDegrees (void) |
| Gets if you can choose the number of degrees. More...
|
|
bool | canChooseIncrement (void) |
| Gets if you can choose an increment. More...
|
|
bool | canChooseReflectorBits (void) |
| Gets if you can choose reflectorBits for the laser. More...
|
|
bool | canChooseStartingBaud (void) |
| Gets if you can choose startingBaud for the laser. More...
|
|
bool | canChooseUnits (void) |
| Gets if you can choose units for the laser. More...
|
|
bool | canSetDegrees (void) |
| Sees if this class can set the degrees with doubles or not. More...
|
|
bool | canSetIncrement (void) |
| Gets if you can set an increment. More...
|
|
bool | canSetPowerControlled (void) |
| Gets if you can set powerControlled for the laser. More...
|
|
bool | chooseAutoBaud (const char *reflectorBits) |
| Sets the reflectorBits to one of the choices from getAutoBaudChoices. More...
|
|
bool | chooseDegrees (const char *range) |
| Sets the range to one of the choices from getDegreesChoices. More...
|
|
bool | chooseIncrement (const char *increment) |
| Sets the increment to one of the choices from getIncrementChoices. More...
|
|
bool | chooseReflectorBits (const char *reflectorBits) |
| Sets the reflectorBits to one of the choices from getReflectorBitsChoices. More...
|
|
bool | chooseStartingBaud (const char *reflectorBits) |
| Sets the reflectorBits to one of the choices from getStartingBaudChoices. More...
|
|
bool | chooseUnits (const char *units) |
| Sets the units to one of the choices from getUnitsChoices. More...
|
|
void | clearIgnoreReadings (void) |
| Clears the degrees we ignore readings at.
|
|
void | copyReadingCount (const ArLaser *laser) |
| Copies the reading count stuff from another laser (for the laser filter)
|
|
virtual bool | disconnect (void)=0 |
| Disconnect from the laser.
|
|
unsigned int | getAbsoluteMaxRange (void) |
| Gets the absolute maximum range on the sensor.
|
|
const char * | getAutoBaudChoice (void) |
| Gets the reflectorBits that was chosen. More...
|
|
std::list< std::string > | getAutoBaudChoices (void) |
| Gets the list of reflectorBits choices. More...
|
|
const char * | getAutoBaudChoicesString (void) |
| Gets a string with the list of reflectorBits choices seperated by |s. More...
|
|
virtual double | getConnectionTimeoutSeconds (void) |
| Gets the number of seconds without a response until connection assumed lost. More...
|
|
double | getCumulativeCleanDist (void) |
| Cumulative readings that are this close to current beams are discarded.
|
|
int | getCumulativeCleanInterval (void) |
| Cumulative readings are cleaned every this number of milliseconds.
|
|
int | getCumulativeCleanOffset (void) |
| Gets the offset for cumulative cleaning.
|
|
const char * | getDefaultPortType (void) |
| Gets the default port type for the laser.
|
|
int | getDefaultTcpPort (void) |
| Gets the default TCP port for the laser.
|
|
const char * | getDegreesChoice (void) |
| Gets the range that was chosen. More...
|
|
double | getDegreesChoiceDouble (void) |
| Gets the range that was chosen as a double. More...
|
|
std::list< std::string > | getDegreesChoices (void) |
| Gets the list of range choices. More...
|
|
std::map< std::string, double > | getDegreesChoicesMap (void) |
| Gets the map of degrees choices to what they mean. More...
|
|
const char * | getDegreesChoicesString (void) |
| Gets a string with the list of degrees choices seperated by |s. More...
|
|
virtual ArDeviceConnection * | getDeviceConnection (void) |
| Gets the device connection.
|
|
double | getEndDegrees (void) |
| Gets the end angle. More...
|
|
double | getEndDegreesMax (void) |
| Gets the maximum value for the end angle. More...
|
|
double | getEndDegreesMin (void) |
| Gets the minimum value for the end angle. More...
|
|
bool | getFlipped (void) |
| Gets if the laser is flipped or not.
|
|
const std::set< int > * | getIgnoreReadings (void) const |
| Gets the list of readings that we ignore.
|
|
double | getIncrement (void) |
| Gets the increment. More...
|
|
const char * | getIncrementChoice (void) |
| Gets the increment that was chosen. More...
|
|
double | getIncrementChoiceDouble (void) |
| Gets the increment that was chosen as a double. More...
|
|
std::list< std::string > | getIncrementChoices (void) |
| Gets the list of increment choices. More...
|
|
std::map< std::string, double > | getIncrementChoicesMap (void) |
| Gets the map of increment choices to what they mean. More...
|
|
const char * | getIncrementChoicesString (void) |
| Gets a string with the list of increment choices seperated by |s. More...
|
|
double | getIncrementMax (void) |
| Gets the increment maximum. More...
|
|
double | getIncrementMin (void) |
| Gets the increment minimum. More...
|
|
ArLog::LogLevel | getInfoLogLevel (void) |
| Gets the log level that informational things are logged at.
|
|
int | getLaserNumber (void) |
| Gets the number of the laser this is.
|
|
ArTime | getLastReadingTime (void) |
| Gets the time data was last receieved.
|
|
bool | getPowerControlled (void) |
| Gets if the power is controlled. More...
|
|
int | getReadingCount (void) |
| Gets the number of laser readings received in the last second.
|
|
const char * | getReflectorBitsChoice (void) |
| Gets the reflectorBits that was chosen. More...
|
|
std::list< std::string > | getReflectorBitsChoices (void) |
| Gets the list of reflectorBits choices. More...
|
|
const char * | getReflectorBitsChoicesString (void) |
| Gets a string with the list of reflectorBits choices seperated by |s. More...
|
|
ArPose | getSensorPosition (void) |
| Gets the position of the sensor on the robot.
|
|
double | getSensorPositionTh (void) |
| Gets the heading of the sensor on the robot.
|
|
double | getSensorPositionX (void) |
| Gets the X position of the sensor on the robot.
|
|
double | getSensorPositionY (void) |
| Gets the Y position of the sensor on the robot.
|
|
double | getSensorPositionZ (void) |
| Gets the Z position of the sensor on the robot (0 is unknown)
|
|
double | getStartDegrees (void) |
| Gets the start angle. More...
|
|
double | getStartDegreesMax (void) |
| Gets the maximum value for the start angle. More...
|
|
double | getStartDegreesMin (void) |
| Gets the minimum value for the start angle. More...
|
|
const char * | getStartingBaudChoice (void) |
| Gets the reflectorBits that was chosen. More...
|
|
std::list< std::string > | getStartingBaudChoices (void) |
| Gets the list of reflectorBits choices. More...
|
|
const char * | getStartingBaudChoicesString (void) |
| Gets a string with the list of reflectorBits choices seperated by |s. More...
|
|
const char * | getUnitsChoice (void) |
| Gets the units that was chosen. More...
|
|
std::list< std::string > | getUnitsChoices (void) |
| Gets the list of units choices. More...
|
|
const char * | getUnitsChoicesString (void) |
| Gets a string with the list of units choices seperated by |s. More...
|
|
bool | hasSensorPosition (void) |
| Gets if the sensor pose has been set.
|
|
virtual bool | isConnected (void)=0 |
| See if the laser is connected.
|
|
virtual bool | isTryingToConnect (void)=0 |
| See if the laser is trying to connect.
|
|
virtual bool | laserCheckParams (void) |
| Call the laser can implement to make sure the parameters are all okay or set the maximum range (based on the params) More...
|
|
void | remConnectCB (ArFunctor *functor) |
| Adds a disconnect callback.
|
|
void | remDisconnectNormallyCB (ArFunctor *functor) |
| Removes a callback for when disconnect is called while connected.
|
|
void | remDisconnectOnErrorCB (ArFunctor *functor) |
| Removes a callback for when disconnection happens because of an error.
|
|
void | remFailedConnectCB (ArFunctor *functor) |
| Removes a callback for when a connection to the robot is failed.
|
|
void | remReadingCB (ArFunctor *functor) |
| Removes a callback that is called whenever a laser reading is processed.
|
|
void | resetLastCumulativeCleanTime (void) |
| Resets when the cumulative cleaning happened (so offset can help)
|
|
virtual void | setConnectionTimeoutSeconds (double seconds) |
| Sets the numter of seconds without a response until connection assumed lost. More...
|
|
virtual void | setCumulativeBufferSize (size_t size) |
| override the default to keep track of its been set or not
|
|
void | setCumulativeCleanDist (double dist) |
| Cumulative readings that are this close to current beams are discarded.
|
|
void | setCumulativeCleanInterval (int milliSeconds) |
| Cumulative readings are cleaned every this number of milliseconds.
|
|
void | setCumulativeCleanOffset (int milliSeconds) |
| Offset for cumulative cleaning.
|
|
virtual void | setDeviceConnection (ArDeviceConnection *conn) |
| Sets the device connection.
|
|
bool | setEndDegrees (double endDegrees) |
| Sets the end angle, it must be between getEndDegreesMin and getEndDegreesMax. More...
|
|
bool | setFlipped (bool flipped) |
| Sets if the laser is flipped or not.
|
|
bool | setIncrement (double increment) |
| Sets the increment. More...
|
|
void | setInfoLogLevel (ArLog::LogLevel infoLogLevel) |
| Sets the log level that informational things are logged at.
|
|
virtual void | setMaxRange (unsigned int maxRange) |
| override the default to bound the maxrange by the absolute max range
|
|
bool | setPowerControlled (bool powerControlled) |
| Sets if the power is controlled. More...
|
|
void | setSensorPosition (double x, double y, double th, double z=0) |
| Sets the position of the sensor on the robot.
|
|
void | setSensorPosition (ArPose pose, double z=0) |
| Sets the position of the sensor on the robot.
|
|
bool | setStartDegrees (double startDegrees) |
| Sets the start angle, it must be between getStartDegreesMin and getStartDegreesMax. More...
|
|
virtual | ~ArLaser () |
| Destructor.
|
|
| ArRangeDeviceThreaded (size_t currentBufferSize, size_t cumulativeBufferSize, const char *name, unsigned int maxRange, int maxSecondsTokeepCurrent=0, int maxSecondsToKeepCumulative=0, double maxDistToKeepCumulative=0, bool locationDependent=false) |
| Constructor.
|
|
virtual bool | getRunning (void) |
| Get the running status of the thread.
|
|
virtual bool | getRunningWithLock (void) |
| Get the running status of the thread, locking around the variable.
|
|
virtual int | lockDevice (void) |
|
virtual void | run (void) |
| Run in this thread.
|
|
virtual void | runAsync (void) |
| Run in its own thread.
|
|
virtual void * | runThread (void *arg)=0 |
| The functor you need to implement that will be the one executed by the thread.
|
|
virtual void | stopRunning (void) |
| Stop the thread.
|
|
virtual int | tryLockDevice (void) |
|
virtual int | unlockDevice (void) |
|
virtual | ~ArRangeDeviceThreaded () |
| Destructor.
|
|
virtual void | addReading (double x, double y, bool *wasAdded=NULL) |
| Adds a reading to the buffer.
|
|
| ArRangeDevice (size_t currentBufferSize, size_t cumulativeBufferSize, const char *name, unsigned int maxRange, int maxSecondsToKeepCurrent=0, int maxSecondsToKeepCumulative=0, double maxDistToKeepCumulative=0, bool locationDependent=false) |
| Constructor. More...
|
|
virtual void | clearCumulativeOlderThan (int milliSeconds) |
| Clears all the cumulative readings older than this number of milliseconds.
|
|
virtual void | clearCumulativeOlderThanSeconds (int seconds) |
| Clears all the cumulative readings older than this number of seconds.
|
|
virtual void | clearCumulativeReadings (void) |
| Clears all the cumulative readings.
|
|
virtual void | clearCurrentReadings (void) |
| Clears all the current readings.
|
|
virtual double | cumulativeReadingBox (double x1, double y1, double x2, double y2, ArPose *readingPos=NULL) const |
| Gets the closest current reading from the given box region. More...
|
|
virtual double | cumulativeReadingPolar (double startAngle, double endAngle, double *angle=NULL) const |
| Gets the closest cumulative reading in the given polar region. More...
|
|
virtual double | currentReadingBox (double x1, double y1, double x2, double y2, ArPose *readingPos=NULL) const |
| Gets the closest current reading from the given box region. More...
|
|
virtual double | currentReadingPolar (double startAngle, double endAngle, double *angle=NULL) const |
| Gets the closest current reading in the given polar region. More...
|
|
void | filterCallback (void) |
| Internal function to filter the readings based on age and distance.
|
|
virtual const std::list< ArSensorReading * > * | getAdjustedRawReadings (void) const |
| Gets the raw unfiltered readings from the device (but pose takens are corrected) More...
|
|
virtual std::vector< ArSensorReading > * | getAdjustedRawReadingsAsVector (void) |
| Gets the raw adjusted readings from the device into a vector. More...
|
|
virtual const std::list< ArPoseWithTime * > * | getCumulativeBuffer (void) const |
| Gets the current buffer of readings. More...
|
|
virtual std::list< ArPoseWithTime * > * | getCumulativeBuffer (void) |
| Gets the current buffer of readings.
|
|
virtual std::vector< ArPoseWithTime > * | getCumulativeBufferAsVector (void) |
| Gets the cumulative buffer of readings as a vector. More...
|
|
virtual size_t | getCumulativeBufferSize (void) const |
| Sets the maximum size of the buffer for cumulative readings.
|
|
virtual ArDrawingData * | getCumulativeDrawingData (void) |
| Gets data used for visualizing the cumulative buffer (see ArNetworking)
|
|
virtual const ArRangeBuffer * | getCumulativeRangeBuffer (void) const |
| Gets the cumulative range buffer. More...
|
|
virtual ArRangeBuffer * | getCumulativeRangeBuffer (void) |
| Gets the cumulative range buffer.
|
|
virtual const std::list< ArPoseWithTime * > * | getCurrentBuffer (void) const |
| Gets the current buffer of readings. More...
|
|
virtual std::list< ArPoseWithTime * > * | getCurrentBuffer (void) |
| Gets the current buffer of readings.
|
|
virtual std::vector< ArPoseWithTime > * | getCurrentBufferAsVector (void) |
| Gets the current buffer of readings as a vector. More...
|
|
virtual size_t | getCurrentBufferSize (void) const |
| Gets the maximum size of the buffer for current readings.
|
|
virtual ArDrawingData * | getCurrentDrawingData (void) |
| Gets data used for visualizing the current buffer (see ArNetworking)
|
|
virtual const ArRangeBuffer * | getCurrentRangeBuffer (void) const |
| Gets the current range buffer. More...
|
|
virtual ArRangeBuffer * | getCurrentRangeBuffer (void) |
| Gets the current range buffer.
|
|
double | getMaxDistToKeepCumulative (void) |
| sets the maximum distance cumulative readings can be from current pose More...
|
|
double | getMaxInsertDistCumulative (void) |
| Gets the maximum distance a cumulative reading can be from the robot and still be inserted. More...
|
|
virtual unsigned int | getMaxRange (void) const |
| Gets the maximum range for this device.
|
|
int | getMaxSecondsToKeepCumulative (void) |
| gets the maximum seconds to keep current readings around More...
|
|
int | getMaxSecondsToKeepCurrent (void) |
| gets the maximum seconds to keep current readings around More...
|
|
double | getMinDistBetweenCumulative (void) |
| Gets the minimum distance between cumulative readings. More...
|
|
double | getMinDistBetweenCurrent (void) |
| Gets the minimum distance between current readings. More...
|
|
virtual const char * | getName (void) const |
| Gets the name of the device.
|
|
virtual const std::list< ArSensorReading * > * | getRawReadings (void) const |
| Gets the raw unfiltered readings from the device. More...
|
|
virtual std::vector< ArSensorReading > * | getRawReadingsAsVector (void) |
| Gets the raw unfiltered readings from the device into a vector. More...
|
|
virtual ArRobot * | getRobot (void) |
| Gets the robot this device is attached to.
|
|
bool | isLocationDependent (void) |
| Gets if this device is location dependent or not.
|
|
virtual void | setCumulativeDrawingData (ArDrawingData *data, bool takeOwnershipOfData) |
| Sets data for visualizing the cumulative buffer (and if we own it)
|
|
virtual void | setCurrentBufferSize (size_t size) |
| Sets the maximum size of the buffer for current readings. More...
|
|
virtual void | setCurrentDrawingData (ArDrawingData *data, bool takeOwnershipOfData) |
| Sets data for visualizing the current buffer (and if we own it)
|
|
void | setMaxDistToKeepCumulative (double maxDistToKeepCumulative) |
| sets the maximum distance cumulative readings can be from current pose More...
|
|
void | setMaxInsertDistCumulative (double maxInsertDistCumulative) |
| Sets the maximum distance a cumulative reading can be from the robot and still be inserted. More...
|
|
void | setMaxSecondsToKeepCumulative (int maxSecondsToKeepCumulative) |
| gets the maximum seconds to keep cumulative readings around More...
|
|
void | setMaxSecondsToKeepCurrent (int maxSecondsToKeepCurrent) |
| Sets the maximum seconds to keep current readings around. More...
|
|
void | setMinDistBetweenCumulative (double minDistBetweenCumulative) |
| Sets the minimum distance between cumulative readings. More...
|
|
void | setMinDistBetweenCurrent (double minDistBetweenCurrent) |
| Sets the minimum distance between current readings. More...
|
|
virtual void | setRobot (ArRobot *robot) |
| Sets the robot this device is attached to.
|
|
virtual | ~ArRangeDevice () |
| Destructor.
|
|
|
void | internalBuildChoices (std::map< std::string, double > *choices, std::string *str, std::list< std::string > *choicesList) |
|
void | internalBuildChoicesString (std::list< std::string > *choices, std::string *str) |
|
bool | internalCheckChoice (const char *check, const char *choice, std::list< std::string > *choices, const char *choicesStr) |
|
bool | internalCheckChoice (const char *check, const char *choice, std::map< std::string, double > *choices, const char *choicesStr, double *choiceDouble) |
|
virtual void | internalGotReading (void) |
|
void | internalProcessReading (double x, double y, unsigned int range, bool clean, bool onlyClean) |
|
void | laserAllowAutoBaudChoices (const char *defaultAutoBaudChoice, std::list< std::string > autoBaudChoices) |
| Allows setting the auto baud speed to one of a number of choices. More...
|
|
void | laserAllowDegreesChoices (const char *defaultDegreesChoice, std::map< std::string, double > degreesChoices) |
| Allows setting the degrees the laser uses to one of a number of choices. More...
|
|
void | laserAllowIncrementChoices (const char *defaultIncrementChoice, std::map< std::string, double > incrementChoices) |
| Allows setting the increment to one of a number of choices. More...
|
|
void | laserAllowReflectorBitsChoices (const char *defaultReflectorBitsChoice, std::list< std::string > reflectorBitsChoices) |
| Allows setting the reflector bits the laser will use to one of a number of choices. More...
|
|
void | laserAllowSetDegrees (double defaultStartDegrees, double startDegreesMin, double startDegreesMax, double defaultEndDegrees, double endDegreesMin, double endDegreesMax) |
| Allows setting the degrees the laser uses to anything in a range. More...
|
|
void | laserAllowSetIncrement (double defaultIncrement, double incrementMin, double incrementMax) |
| Allows setting the increment the laser uses to anything in a range. More...
|
|
void | laserAllowSetPowerControlled (bool defaultPowerControlled) |
| Allows setting if the power is controlled or not. More...
|
|
void | laserAllowStartingBaudChoices (const char *defaultStartingBaudChoice, std::list< std::string > startingBaudChoices) |
| Allows setting the starting baud to one of a number of choices. More...
|
|
void | laserAllowUnitsChoices (const char *defaultUnitsChoice, std::list< std::string > unitsChoices) |
| Allows setting the units the laser will use to one of a number of choices. More...
|
|
bool | laserCheckLostConnection (void) |
| Returns if the laser has lost connection so that the subclass can do something appropriate. More...
|
|
virtual void | laserConnect (void) |
| Function for a laser to call when it connects.
|
|
virtual void | laserDisconnectNormally (void) |
| Function for a laser to call when it disconnects normally.
|
|
virtual void | laserDisconnectOnError (void) |
| Function for a laser to call when it loses connection.
|
|
virtual void | laserFailedConnect (void) |
| Function for a laser to call when it fails to connects.
|
|
void | laserProcessReadings (void) |
| Converts the raw readings into the buffers (needs to be called by subclasses) More...
|
|
bool | laserPullUnsetParamsFromRobot (void) |
| Pulls the unset params from the robot parameter file.
|
|
void | laserSetAbsoluteMaxRange (unsigned int absoluteMaxRange) |
| Sets the absolute maximum range on the sensor.
|
|
void | laserSetDefaultPortType (const char *defaultPortType) |
| Sets the laser's default connection port type.
|
|
void | laserSetDefaultTcpPort (int defaultLaserTcpPort) |
| Sets the laser's default TCP port.
|
|
virtual void | laserSetName (const char *name) |
| Called when the lasers name is set. More...
|
|
void | adjustRawReadings (bool interlaced) |
| This call should be called by the range device every robot cycle before the range device makes new readings (and even if it isn't adding any that cycle)... More...
|
|