#include <ArActionRobotJoydrive.h>
Inheritance diagram for ArActionRobotJoydrive:
Public Member Functions | |
ArActionRobotJoydrive (const char *name="robotJoyDrive", bool requireDeadmanPushed=true) | |
Constructor. | |
virtual ArActionDesired * | fire (ArActionDesired currentDesired) |
Fires the action, returning what the action wants to do. | |
virtual ArActionDesired * | getDesired (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< ArActionRobotJoydrive > | myConnectCB |
bool | myDeadZoneLast |
ArActionDesired | myDesired |
ArRetFunctor1C< bool, ArActionRobotJoydrive, ArRobotPacket * > | myHandleJoystickPacketCB |
int | myJoyX |
int | myJoyY |
ArTime | myPacketReceivedTime |
bool | myRequireDeadmanPushed |
int | myThrottle |
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.
Definition at line 40 of file ArActionRobotJoydrive.cpp. References ArAction::setNextArgument(). |
|
Fires the action, returning what the action wants to do.
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(). |