/home/fwph/code/wurde/modules/laserAvoider/laserAvoider.cpp File Reference

Go to the source code of this file.

Enumerations

enum  OAState { IDLE, MOVING, ROTATE }

Functions

vector< double > closeLaser (vector< double > &ranges, RangeFinderInfoStruct &info, double r)
 Create C-Space Rolls a circle of radius r along the edge of ranges.
void updateWaypoint (RangeFinderInfoStruct &info, Pose currPose, Pose &goalPose, Pose &waypoint, vector< double > &closedReadings, bool angleRequest, bool &path_obstructed)
int main (int argc, char *argv[])

Variables

static const float AVOIDANCE_RADIUS_DEFAULT = 0.40
static const float MIN_AVOIDANCE_RADIUS = 0.40
static const float FRONTAL_AVOIDANCE_DEPTH = 0.40
static const float CLOSE_ENOUGH_DISTANCE = 0.07
static const float CLOSE_ENOUGH_ANGLE = 0.02
static const float WAYPOINT_DISTANCE_THRESHOLD = 0.3
static const float WAYPOINT_ANGLE_THRESHOLD = M_PI/4
static const float WAYPOINT_DIFF_THRESHOLD = 0.5
static const float WAYPOINT_DIFF_SENSITIVITY = 0.45


Enumeration Type Documentation

enum OAState

Enumerator:
IDLE 
MOVING 
ROTATE 

Definition at line 38 of file laserAvoider.cpp.


Function Documentation

vector< double > closeLaser ( vector< double > &  ranges,
RangeFinderInfoStruct info,
double  r 
)

Create C-Space Rolls a circle of radius r along the edge of ranges.

Any space no bigger than r will be closed off NEW VERSION

Definition at line 297 of file laserAvoider.cpp.

References RangeFinderInfoStruct::angle_min, FRONTAL_AVOIDANCE_DEPTH, Writable::getValue(), and RangeFinderInfoStruct::theta_separation.

Referenced by main().

int main ( int  argc,
char *  argv[] 
)

Definition at line 40 of file laserAvoider.cpp.

References ObstacleAvoiderTransportInfoStruct::absolute, ObstacleAvoiderTransportDataStruct::angleToGoal, AVOIDANCE_RADIUS_DEFAULT, ObstacleAvoiderTransportInfoStruct::avoidanceRadius, ObstacleAvoiderTransportInfoStruct::brake, CommsManager::cleanUp(), CLOSE_ENOUGH_ANGLE, CLOSE_ENOUGH_DISTANCE, closeLaser(), RangeFinder::data, ObstacleAvoiderTransport::data, Egomotion::data, ObstacleAvoiderTransportDataStruct::distanceToGoal, RangeFinder::doPing(), WURDE::g_logdebug, RangeFinder::getNextData(), Egomotion::getNextData(), RangeFinder::getNextInfo(), ObstacleAvoiderTransport::getNextRequest(), CommsManager::getState(), Writable::getValue(), ObstacleAvoiderTransportInfoStruct::goalHasLocation, ObstacleAvoiderTransportInfoStruct::goalHasTheta, ObstacleAvoiderTransportInfoStruct::goalPose, IDLE, RangeFinder::info, EgomotionDataStruct::location, MIN_AVOIDANCE_RADIUS, VectorMover::moveToRelativePose(), MOVING, myManager, RangeFinder::newData(), Egomotion::newData(), RangeFinder::newInfo(), Capability::newRequest(), CommsManager::parseOptions(), ObstacleAvoiderTransportDataStruct::pathObstructed, ObstacleAvoiderTransport::publishData(), RangeFinderDataStruct::ranges, CommsManager::registerConsumer(), CommsManager::registerSupplier(), ObstacleAvoiderTransport::requests, ROTATE, VectorMover::rotateToAngle(), CommsManager::runUpdate(), CommsManager::setHelpString(), CommsManager::setRealName(), CommsManager::setSleep(), WURDE::STATE_IDLE, WURDE::STATE_RUN, VectorMover::stop(), WURDE::STRAT_ASSIGNED, Pose::theta(), updateWaypoint(), Pose::x(), and Pose::y().

void updateWaypoint ( RangeFinderInfoStruct info,
Pose  currPose,
Pose goalPose,
Pose waypoint,
vector< double > &  closedReadings,
bool  angleRequest,
bool &  path_obstructed 
)

Definition at line 336 of file laserAvoider.cpp.

References RangeFinderInfoStruct::angle_min, CLOSE_ENOUGH_DISTANCE, WURDE::g_logdebug, Writable::getValue(), laser, WURDE::normalizeAngle(), Pose::theta(), RangeFinderInfoStruct::theta_separation, WAYPOINT_ANGLE_THRESHOLD, WAYPOINT_DIFF_SENSITIVITY, WAYPOINT_DIFF_THRESHOLD, WAYPOINT_DISTANCE_THRESHOLD, Point::x(), Pose::x(), Point::y(), and Pose::y().

Referenced by main().


Variable Documentation

const float AVOIDANCE_RADIUS_DEFAULT = 0.40 [static]

Definition at line 22 of file laserAvoider.cpp.

Referenced by main().

const float CLOSE_ENOUGH_ANGLE = 0.02 [static]

Definition at line 28 of file laserAvoider.cpp.

Referenced by calcRotVelocity(), and main().

const float CLOSE_ENOUGH_DISTANCE = 0.07 [static]

Definition at line 27 of file laserAvoider.cpp.

Referenced by calcTransVelocity(), main(), and updateWaypoint().

const float FRONTAL_AVOIDANCE_DEPTH = 0.40 [static]

Definition at line 25 of file laserAvoider.cpp.

Referenced by closeLaser().

const float MIN_AVOIDANCE_RADIUS = 0.40 [static]

Definition at line 23 of file laserAvoider.cpp.

Referenced by main().

const float WAYPOINT_ANGLE_THRESHOLD = M_PI/4 [static]

Definition at line 31 of file laserAvoider.cpp.

Referenced by updateWaypoint().

const float WAYPOINT_DIFF_SENSITIVITY = 0.45 [static]

Definition at line 33 of file laserAvoider.cpp.

Referenced by updateWaypoint().

const float WAYPOINT_DIFF_THRESHOLD = 0.5 [static]

Definition at line 32 of file laserAvoider.cpp.

Referenced by updateWaypoint().

const float WAYPOINT_DISTANCE_THRESHOLD = 0.3 [static]

Definition at line 30 of file laserAvoider.cpp.

Referenced by updateWaypoint().


Generated on Thu Feb 1 15:31:54 2007 for WURDE by  doxygen 1.5.1