Aria
2.8.0
|
This action will use the joystick for input to drive the robot. More...
#include <ArActionRobotJoydrive.h>
Inherits ArAction.
Public Member Functions | |
ArActionRobotJoydrive (const char *name="robotJoyDrive", bool requireDeadmanPushed=true) | |
Constructor. More... | |
virtual ArActionDesired * | fire (ArActionDesired currentDesired) |
virtual ArActionDesired * | getDesired (void) |
virtual const ArActionDesired * | getDesired (void) const |
virtual void | setRobot (ArRobot *robot) |
virtual | ~ArActionRobotJoydrive () |
Destructor. | |
Public Member Functions inherited from ArAction | |
virtual void | activate (void) |
Activate the action. | |
ArAction (const char *name, const char *description="") | |
Constructor. | |
virtual void | deactivate (void) |
Deactivate the action. | |
virtual const ArArg * | getArg (int number) const |
Gets the numbered argument. More... | |
virtual ArArg * | getArg (int number) |
Gets the numbered argument. | |
virtual const char * | getDescription (void) const |
Gets the long description of the action. | |
virtual const char * | getName (void) const |
Gets the name of the action. | |
virtual int | getNumArgs (void) const |
Find the number of arguments this action takes. | |
ArRobot * | getRobot () const |
Get the robot we are controlling, which was set by setRobot() | |
virtual bool | isActive (void) const |
Returns whether the action is active or not. | |
virtual void | log (bool verbose=true) const |
Log information about this action using ArLog. | |
virtual | ~ArAction () |
Desructor. | |
Protected Member Functions | |
void | connectCallback (void) |
bool | handleJoystickPacket (ArRobotPacket *packet) |
Protected Member Functions inherited from ArAction | |
void | setNextArgument (ArArg const &arg) |
Sets the argument type for the next argument (must only be used in a constructor!) | |
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 |
Protected Attributes inherited from ArAction | |
std::map< int, ArArg > | myArgumentMap |
std::string | myDescription |
bool | myIsActive |
std::string | myName |
int | myNumArgs |
ArRobot * | myRobot |
The robot we are controlling, set by the action resolver using setRobot() | |
Additional Inherited Members | |
Static Public Member Functions inherited from ArAction | |
static bool | getDefaultActivationState (void) |
Gets the default activation state for all ArActions. | |
static void | setDefaultActivationState (bool defaultActivationState) |
Sets the default activation state for all ArActions. | |
Static Protected Attributes inherited from ArAction | |
static bool | ourDefaultActivationState = true |
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.
ArActionRobotJoydrive::ArActionRobotJoydrive | ( | const char * | name = "robotJoyDrive" , |
bool | requireDeadmanPushed = true |
||
) |
Constructor.
name | Name for this action |
requireDeadmanPushed | if true the button must be pushed to drive, if false we'll follow the joystick input no matter what |