Aria  2.8.0
ArActionAvoidFront Class Reference

This action does obstacle avoidance, controlling both trans and rot. More...

#include <ArActionAvoidFront.h>

Inherits ArAction.

Public Member Functions

 ArActionAvoidFront (const char *name="avoid front obstacles", double obstacleDistance=450, double avoidVelocity=200, double turnAmount=15, bool useTableIRIfAvail=true)
 Constructor. More...
 
virtual ArActionDesiredfire (ArActionDesired currentDesired)
 
virtual ArActionDesiredgetDesired (void)
 
virtual const ArActionDesiredgetDesired (void) const
 
virtual ~ArActionAvoidFront ()
 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 ArArggetArg (int number) const
 Gets the numbered argument. More...
 
virtual ArArggetArg (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.
 
ArRobotgetRobot () 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 void setRobot (ArRobot *robot)
 Sets the robot this action is driving. More...
 
virtual ~ArAction ()
 Desructor.
 

Protected Attributes

double myAvoidVel
 
ArFunctorC< ArActionAvoidFrontmyConnectCB
 
ArActionDesired myDesired
 
double myObsDist
 
ArSectors myQuadrants
 
double myTurnAmount
 
double myTurnAmountParam
 
int myTurning
 
bool myUseTableIRIfAvail
 
- Protected Attributes inherited from ArAction
std::map< int, ArArgmyArgumentMap
 
std::string myDescription
 
bool myIsActive
 
std::string myName
 
int myNumArgs
 
ArRobotmyRobot
 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.
 
- 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!)
 
- Static Protected Attributes inherited from ArAction
static bool ourDefaultActivationState = true
 

Detailed Description

This action does obstacle avoidance, controlling both trans and rot.

This action uses whatever available range device have been added to the robot to avoid obstacles. See the ArActionAvoidFront constructor documentation to see the parameters it takes.

Also note that this action does something most others don't, which is to check for a specific piece of hardware. This is the tableSensingIR. If this is set up in the parameters for the robot, it will use DigIn0 and DigIn1, where the tableSensingIRs are connected. Note that if you make useTableIRIfAvail false in the constructor it'll ignore these. Whether the action thinks the robot has them or not depends on the value of tableSensingIR in the parameter file for that robot.

Examples:
actionGroupExample.cpp, and wander.cpp.

Constructor & Destructor Documentation

◆ ArActionAvoidFront()

ArActionAvoidFront::ArActionAvoidFront ( const char *  name = "avoid front obstacles",
double  obstacleDistance = 450,
double  avoidVelocity = 200,
double  turnAmount = 15,
bool  useTableIRIfAvail = true 
)

Constructor.

Parameters
namethe name of the action
obstacleDistancedistance at which to turn. (mm)
avoidVelocitySpeed at which to go while avoiding an obstacle. (mm/sec)
turnAmountDegrees to turn relative to current heading while avoiding obstacle (deg)
useTableIRIfAvailWhether to use the table sensing IR if they are available

The documentation for this class was generated from the following files: