Main Page   Class Hierarchy   Compound List   Compound Members  

ArActionJoydrive Class Reference

This action will use the joystick for input to drive the robot. More...

#include <ArActionJoydrive.h>

Inheritance diagram for ArActionJoydrive::

ArAction List of all members.

Public Methods

 ArActionJoydrive (const char *name="joydrive", double transVelMax=400, double turnAmountMax=15, bool stopIfNoButtonPressed=true, bool useOSCalForJoystick=true)
 Constructor. More...

virtual ~ArActionJoydrive (void)
 Destructor.

virtual ArActionDesiredfire (ArActionDesired currentDesired)
 Fires the action, returning what the action wants to do. More...

bool joystickInited (void)
 Whether the joystick is initalized or not.

void setSpeeds (double transVelMax, double turnAmountMax)
 Set Speeds.

void setStopIfNoButtonPressed (bool stopIfNoButtonPressed)
 Set if we'll stop if no button is pressed, otherwise just do nothing.

bool getStopIfNoButtonPressed (void)
 Get if we'll stop if no button is pressed, otherwise just do nothing.

void setUseOSCal (bool useOSCal)
 Sets whether to use OSCalibration the joystick or not. More...

bool getUseOSCal (void)
 Gets whether OSCalibration is being used for the joystick or not. More...

virtual ArActionDesiredgetDesired (void)
 Gets what this action wants to do (for display purposes).


Detailed Description

This action will use the joystick for input to drive the robot.

This class creates its own ArJoyHandler to get input from the joystick. Then it will scale the speed between 0 and the given max for velocity and turning, up and down on the joystick go forwards/backwards while right and left go right and left. You must press in one of the two joystick buttons for the class to pay attention to the joystick.

NOTE: The joystick does not save calibration information, so you must calibrate the joystick before each time you use it. To do this, press the button for at least a half a second while the joystick is in the middle. Then let go of the button and hold the joystick in the upper left for at least a half second and then in the lower right corner for at least a half second.


Constructor & Destructor Documentation

ArActionJoydrive::ArActionJoydrive const char *    name = "joydrive",
double    transVelMax = 400,
double    turnAmountMax = 15,
bool    stopIfNoButtonPressed = true,
bool    useOSCalForJoystick = true
 

Constructor.

This action is for driving around the robot with a joystick, you must hold in a button on the joystick and then lean the joytsick over to have it drive. You need to calibrate the joystick for it to work right, for details about this see ArJoyHandler.

Parameters:
name  the name of this action
transVelMax  the maximum velocity the joydrive action will go, it reachs this when the joystick is all the way forwards
turnAmountMax  the maximum amount the joydrive action will turn, it reachs this when the joystick is all the way forwards
stopIfNoButtonPressed  if this is true and there is a joystick and no button is pressed, the action will have the robot stop... otherwise it'll do nothing (letting lower priority actions fire)
See also:
ArJoyHandler::setUseOSCal


Member Function Documentation

ArActionDesired * ArActionJoydrive::fire ArActionDesired    currentDesired [virtual]
 

Fires the action, returning what the action wants to do.

Parameters:
currentDesired  this is what the current resolver has for its desired, this is SOLELY for the purpose of giving information to the action
Returns:
pointer to what this action wants to do, NULL if it wants to do nothing

Reimplemented from ArAction.

bool ArActionJoydrive::getUseOSCal void   
 

Gets whether OSCalibration is being used for the joystick or not.

See also:
ArJoyHandler::getUseOSCal

void ArActionJoydrive::setUseOSCal bool    useOSCal
 

Sets whether to use OSCalibration the joystick or not.

See also:
ArJoyHandler::setUseOSCal


The documentation for this class was generated from the following files:
Generated on Tue Nov 12 17:43:48 2002 for Aria by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001