Aria  2.8.0
ArActionLimiterForwards Class Reference

Action to limit the forwards motion of the robot based on range sensor readings. More...

#include <ArActionLimiterForwards.h>

Inherits ArAction.

Public Member Functions

 ArActionLimiterForwards (const char *name="speed limiter", double stopDistance=250, double slowDistance=1000, double slowSpeed=200, double widthRatio=1)
 Constructor. More...
 
virtual ArActionDesiredfire (ArActionDesired currentDesired)
 
virtual ArActionDesiredgetDesired (void)
 
virtual const ArActionDesiredgetDesired (void) const
 
void setParameters (double stopDistance=250, double slowDistance=1000, double slowSpeed=200, double widthRatio=1)
 
virtual ~ArActionLimiterForwards ()
 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

ArActionDesired myDesired
 
bool myLastStopped
 
double mySlowDist
 
double mySlowSpeed
 
double myStopDist
 
double myWidthRatio
 
- 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

Action to limit the forwards motion of the robot based on range sensor readings.

This action uses the sensors to find a maximum forwared speed to travel at; when the range sensor (e.g. sonar or laser) detects obstacles closer than the given parameters, this action requests that the robot decelerate or stop.

Examples:
actionGroupExample.cpp, actsColorFollowingExample.cpp, gotoActionExample.cpp, gpsRobotTaskExample.cpp, gripperExample.cpp, teleopActionsExample.cpp, and triangleDriveToActionExample.cpp.

Constructor & Destructor Documentation

◆ ArActionLimiterForwards()

ArActionLimiterForwards::ArActionLimiterForwards ( const char *  name = "speed limiter",
double  stopDistance = 250,
double  slowDistance = 1000,
double  slowSpeed = 200,
double  widthRatio = 1 
)

Constructor.

Parameters
namename of the action
stopDistancedistance at which to stop (mm)
slowDistancedistance at which to slow down (mm)
slowSpeedspeed allowed at slowDistance, scales to 0 at slow distance (mm/sec)
widthRatioRatio of the width of the box to look at to the robot radius (multiplier)

Member Function Documentation

◆ setParameters()

void ArActionLimiterForwards::setParameters ( double  stopDistance = 250,
double  slowDistance = 1000,
double  slowSpeed = 200,
double  widthRatio = 1 
)
Parameters
stopDistancedistance at which to stop (mm)
slowDistancedistance at which to slow down (mm)
slowSpeedspeed allowed at slowDistance, scales to 0 at slow distance (mm/sec)
widthRatioRatio of the width of the box to look at to the robot radius (multiplier)

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