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

ArActionRobotJoydrive Class Reference

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

#include <ArActionRobotJoydrive.h>

Inheritance diagram for ArActionRobotJoydrive:

ArAction List of all members.

Public Member Functions

 ArActionRobotJoydrive (const char *name="robotJoyDrive", bool requireDeadmanPushed=true)
 Constructor.
virtual ArActionDesiredfire (ArActionDesired currentDesired)
 Fires the action, returning what the action wants to do.
virtual ArActionDesiredgetDesired (void)
 Gets what this action wants to do (for display purposes).
virtual void setRobot (ArRobot *robot)
 Sets the robot this action is driving.
virtual ~ArActionRobotJoydrive ()
 Destructor.

Protected Member Functions

void connectCallback (void)
bool handleJoystickPacket (ArRobotPacket *packet)

Protected Attributes

int myButton1
int myButton2
ArFunctorC< ArActionRobotJoydrivemyConnectCB
bool myDeadZoneLast
ArActionDesired myDesired
ArRetFunctor1C< bool, ArActionRobotJoydrive,
ArRobotPacket * > 
myHandleJoystickPacketCB
int myJoyX
int myJoyY
ArTime myPacketReceivedTime
bool myRequireDeadmanPushed
int myThrottle

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.

Definition at line 51 of file ArActionRobotJoydrive.h.


Constructor & Destructor Documentation

ArActionRobotJoydrive::ArActionRobotJoydrive const char *  name = "robotJoyDrive",
bool  requireDeadmanPushed = true
 

Constructor.

Parameters:
requireDeadmanPushed if this is true the deadman must be pushed for us to drive... if this is false we'll follow the joystick input no matter what

Definition at line 40 of file ArActionRobotJoydrive.cpp.

References ArAction::setNextArgument().


Member Function Documentation

ArActionDesired * ArActionRobotJoydrive::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

Implements ArAction.

Definition at line 91 of file ArActionRobotJoydrive.cpp.

References ArMath::fabs(), ArRobot::getRotDecel(), ArRobot::getRotVel(), ArRobot::getRotVelMax(), ArRobot::getTransDecel(), ArRobot::getTransVelMax(), ArRobot::getVel(), ArTime::mSecSince(), ArActionDesired::reset(), ArActionDesired::setDeltaHeading(), ArActionDesired::setRotDecel(), ArActionDesired::setRotVel(), ArActionDesired::setTransDecel(), and ArActionDesired::setVel().


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