Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

ArLaserFilter Class Reference

#include <ArLaserFilter.h>

Inheritance diagram for ArLaserFilter:

ArLaser ArRangeDeviceThreaded ArRangeDevice List of all members.

Detailed Description

Range device with data obtained from another range device and filtered.

This is a class for generically filtering laser readings, either to separate out ones that are too far or too close compared to their neighbors. The filtering parameters can be adjusted on line through ArConfig options.

This implements ArLaser and so can be used like any other laser, though you have to set all its options before you create this and probably should connect it too. Then you should replace the original laser on ArRobot with this one, and replace the original laser as a range device too.


Public Member Functions

void addToConfig (ArConfig *config, const char *sectionName, const char *prefix="")
 Add to the config.
 ArLaserFilter (ArLaser *laser, const char *name=NULL)
 Constructor.
virtual bool asyncConnect (void)
virtual bool blockingConnect (void)
virtual bool disconnect (void)
ArLasergetBaseLaser (void)
 Gets the base laser this is filtering.
virtual bool isConnected (void)
virtual bool isTryingToConnect (void)
virtual bool laserCheckParams (void)
virtual void * runThread (void *arg)
virtual void setRobot (ArRobot *robot)
 Set robot.
 ~ArLaserFilter ()
 Destructor.

Protected Member Functions

bool checkRanges (int thisReading, int otherReading, double factor)
 Does the check against all neighbor factor.
void processReadings (void)
int selfLockDevice (void)
int selfTryLockDevice (void)
int selfUnlockDevice (void)

Protected Attributes

double myAllFactor
double myAngleToCheck
double myAnyFactor
ArLasermyLaser
int myMaxRange
ArFunctorC< ArLaserFiltermyProcessCB


The documentation for this class was generated from the following file:
Generated on Tue Aug 18 05:23:21 2009 for Aria by  doxygen 1.4.2