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 |
enum OAState |
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().
const float AVOIDANCE_RADIUS_DEFAULT = 0.40 [static] |
const float CLOSE_ENOUGH_ANGLE = 0.02 [static] |
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] |
const float MIN_AVOIDANCE_RADIUS = 0.40 [static] |
const float WAYPOINT_ANGLE_THRESHOLD = M_PI/4 [static] |
const float WAYPOINT_DIFF_SENSITIVITY = 0.45 [static] |
const float WAYPOINT_DIFF_THRESHOLD = 0.5 [static] |
const float WAYPOINT_DISTANCE_THRESHOLD = 0.3 [static] |