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

Go to the source code of this file.

Enumerations

enum  VMState {
  VM_IDLE, VM_MOVING, VM_SPINNING, VM_STOPPING,
  VM_HOLDING
}

Functions

double calcRotVelocity (double &delta_theta)
double calcTransVelocity (double &displacement)
void translate (double dist, Pose &currPose, Pose &goalPose)
void rotateRelative (double theta, Pose &currPose, Pose &goalPose)
void rotateAbsolute (double theta, Pose &currPose, Pose &goalPose)
void moveRelative (Pose &goalPose, Pose &currPose, Pose &goalPose)
void moveAbsolute (Pose &goalPose, Pose &currPose, Pose &goalPose)
int main (int argc, char *argv[])

Variables

static const float MAX_TRANS_VEL_DEFAULT = 0.4
static const float MAX_ANG_VEL_DEFAULT = 0.9
static const float MAX_TRANS_ACCEL_DEFAULT = 0.8
static const float MAX_TRANS_DECEL_DEFAULT = 0.9
static const float MAX_ANG_ACCEL_DEFAULT = 10.0
static const float MAX_ANG_DECEL_DEFAULT = 10.0
static const float CLOSE_ENOUGH_DISTANCE = 0.06
static const float CLOSE_ENOUGH_ANGLE = M_PI/180
static const float DISPLACEMENT_ENVELOPE = 0.5
static const float DELTA_THETA_ENVELOPE = 1.2
double max_trans_vel = MAX_TRANS_VEL_DEFAULT
double max_ang_vel = MAX_ANG_VEL_DEFAULT


Enumeration Type Documentation

enum VMState

Enumerator:
VM_IDLE 
VM_MOVING 
VM_SPINNING 
VM_STOPPING 
VM_HOLDING 

Definition at line 42 of file synchroMover.cpp.


Function Documentation

double calcRotVelocity ( double &  delta_theta  ) 

Definition at line 348 of file synchroMover.cpp.

References CLOSE_ENOUGH_ANGLE, DELTA_THETA_ENVELOPE, and max_ang_vel.

Referenced by main().

double calcTransVelocity ( double &  displacement  ) 

Definition at line 336 of file synchroMover.cpp.

References CLOSE_ENOUGH_DISTANCE, DISPLACEMENT_ENVELOPE, and max_trans_vel.

Referenced by main().

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

Definition at line 52 of file synchroMover.cpp.

References VectorMoverTransportInfoStruct::absolute, VectorMoverTransportDataStruct::angleToGoal, RobotDriveInfoStruct::angular, RobotDriveInfoStruct::angularLimit, VectorMoverTransportInfoStruct::brake, RobotDriveInfoStruct::brake, calcRotVelocity(), calcTransVelocity(), CommsManager::cleanUp(), CLOSE_ENOUGH_ANGLE, CLOSE_ENOUGH_DISTANCE, VectorMoverTransport::data, Egomotion::data, VectorMoverTransportDataStruct::distanceToGoal, WURDE::g_debug(), WURDE::g_logdebug, Egomotion::getNextData(), VectorMoverTransport::getNextRequest(), CommsManager::getState(), Writable::getValue(), VectorMoverTransportInfoStruct::goalHasLocation, VectorMoverTransportInfoStruct::goalHasTheta, VectorMoverTransportInfoStruct::goalPose, VectorMoverTransportDataStruct::hasGoal, EgomotionDataStruct::location, max_ang_vel, MAX_ANG_VEL_DEFAULT, max_trans_vel, MAX_TRANS_VEL_DEFAULT, moveAbsolute(), moveRelative(), myManager, Egomotion::newData(), Capability::newRequest(), WURDE::normalizeAngle(), CommsManager::parseOptions(), VectorMoverTransport::publishData(), Capability::publishRequest(), CommsManager::registerConsumer(), CommsManager::registerSupplier(), VectorMoverTransport::requests, RobotDrive::requests, rotateAbsolute(), rotateRelative(), CommsManager::runUpdate(), CommsManager::setHelpString(), CommsManager::setRealName(), CommsManager::setSleep(), Writable::setValue(), WURDE::STATE_IDLE, WURDE::STATE_RUN, WURDE::STRAT_ASSIGNED, Pose::theta(), RobotDriveInfoStruct::trans, translate(), RobotDriveInfoStruct::transLimit, VM_HOLDING, VM_IDLE, VM_MOVING, VM_SPINNING, VM_STOPPING, Pose::x(), and Pose::y().

void moveAbsolute ( Pose goalPose,
Pose currPose,
Pose goalPose 
)

Definition at line 295 of file synchroMover.cpp.

Referenced by main().

void moveRelative ( Pose goalPose,
Pose currPose,
Pose goalPose 
)

Definition at line 299 of file synchroMover.cpp.

References Pose::theta(), Pose::x(), and Pose::y().

Referenced by main().

void rotateAbsolute ( double  theta,
Pose currPose,
Pose goalPose 
)

Definition at line 315 of file synchroMover.cpp.

References Pose::theta(), Pose::x(), and Pose::y().

Referenced by main().

void rotateRelative ( double  theta,
Pose currPose,
Pose goalPose 
)

Definition at line 322 of file synchroMover.cpp.

References Pose::theta(), Pose::x(), and Pose::y().

Referenced by main().

void translate ( double  dist,
Pose currPose,
Pose goalPose 
)

Definition at line 330 of file synchroMover.cpp.

References Pose::theta(), Pose::x(), and Pose::y().

Referenced by main().


Variable Documentation

const float CLOSE_ENOUGH_ANGLE = M_PI/180 [static]

Definition at line 33 of file synchroMover.cpp.

const float CLOSE_ENOUGH_DISTANCE = 0.06 [static]

Definition at line 32 of file synchroMover.cpp.

const float DELTA_THETA_ENVELOPE = 1.2 [static]

Definition at line 37 of file synchroMover.cpp.

Referenced by calcRotVelocity().

const float DISPLACEMENT_ENVELOPE = 0.5 [static]

Definition at line 35 of file synchroMover.cpp.

Referenced by calcTransVelocity().

const float MAX_ANG_ACCEL_DEFAULT = 10.0 [static]

Definition at line 29 of file synchroMover.cpp.

const float MAX_ANG_DECEL_DEFAULT = 10.0 [static]

Definition at line 30 of file synchroMover.cpp.

double max_ang_vel = MAX_ANG_VEL_DEFAULT

Definition at line 40 of file synchroMover.cpp.

Referenced by calcRotVelocity(), and main().

const float MAX_ANG_VEL_DEFAULT = 0.9 [static]

Definition at line 25 of file synchroMover.cpp.

Referenced by main().

const float MAX_TRANS_ACCEL_DEFAULT = 0.8 [static]

Definition at line 27 of file synchroMover.cpp.

const float MAX_TRANS_DECEL_DEFAULT = 0.9 [static]

Definition at line 28 of file synchroMover.cpp.

double max_trans_vel = MAX_TRANS_VEL_DEFAULT

Definition at line 39 of file synchroMover.cpp.

Referenced by calcTransVelocity(), and main().

const float MAX_TRANS_VEL_DEFAULT = 0.4 [static]

Definition at line 24 of file synchroMover.cpp.

Referenced by main().


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