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

ArBumpers Class Reference

A class that treats the robot's bumpers as a range device. More...

#include <ArBumpers.h>

Inheritance diagram for ArBumpers:

ArRangeDevice List of all members.

Public Member Functions

void addBumpToBuffer (int bumpValue, int whichBumper)
 ArBumpers (size_t currentBufferSize=30, size_t cumulativeBufferSize=30, const char *name="bumpers", int maxSecondsToKeepCurrent=15, double angleRange=135)
void processReadings (void)
virtual void setRobot (ArRobot *robot)
 Sets the robot this device is attached to.

Protected Attributes

double myAngleRange
int myBumpMask
ArFunctorC< ArBumpersmyProcessCB
ArRobotmyRobot

Detailed Description

A class that treats the robot's bumpers as a range device.

The class treats bumpers like a range device. When a bumper is bumped, it reports the approximate position of the bump in a buffer. The positions are kept current for a specified length of time.

Definition at line 41 of file ArBumpers.h.


Constructor & Destructor Documentation

ArBumpers::ArBumpers size_t  currentBufferSize = 30,
size_t  cumulativeBufferSize = 30,
const char *  name = "bumpers",
int  maxSecondsToKeepCurrent = 15,
double  angleRange = 135
 

Parameters:
currentBufferSize The number of readings to store in the current Buffer
cumulativebufferSize The number of readings in the cumulative buffer (This currently is not being used)
*name The name of this range device
maxSecondsToKeepCurrent How long to keep readings in the current buffer
angleRange the range in front and behind the robot which is divided by the number of bumpers and used to detrmine where the sensor readings will be placed.

Definition at line 40 of file ArBumpers.cpp.

References ArRangeDevice::setCurrentDrawingData().


Member Function Documentation

void ArBumpers::addBumpToBuffer int  bumpValue,
int  whichBumper
 

Parameters:
bumpValue This is the value that tells which individual bumper has been triggered
whichBumper This value tells if the front or rear has been triggered

Definition at line 113 of file ArBumpers.cpp.

References ArRangeBuffer::addReading(), ArMath::cos(), ArTransform::doTransform(), ArRobot::getNumFrontBumpers(), ArRobot::getNumRearBumpers(), ArRobot::getRobotParams(), ArRobotParams::getRobotRadius(), ArRobot::getToGlobalTransform(), ArPose::getX(), ArPose::getY(), ArPose::setX(), ArPose::setY(), and ArMath::sin().

Referenced by processReadings().

void ArBumpers::processReadings void   ) 
 

This function is called every 100 milliseconds.

Definition at line 76 of file ArBumpers.cpp.

References addBumpToBuffer(), ArRobot::getStallValue(), ArRobot::hasFrontBumpers(), and ArRobot::hasRearBumpers().


The documentation for this class was generated from the following files:
Generated on Wed Oct 19 12:56:43 2005 for Aria by  doxygen 1.4.0