Aria: ArActionDeceleratingLimiter Class Reference

- Main Page
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# ArActionDeceleratingLimiter Class Reference

`#include <ArActionDeceleratingLimiter.h>`

Inheritance diagram for ArActionDeceleratingLimiter:

List of all members.

## Detailed Description

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

This action uses the robot's range sensors (e.g. sonar, laser) to find a maximum speed at which to travel and will increase the deceleration so that the robot doesn't hit anything. If it has to, it will trigger an estop to avoid a collision.

Note that this cranks up the deceleration with a strong strength, but it checks to see if there is already something decelerating more strongly... so you can put these actions lower in the priority list so things will play together nicely.

## Public Types
enum | LimiterType { FORWARDS, BACKWARDS, LATERAL_LEFT, LATERAL_RIGHT }
## Public Member Functions
void | addToConfig (ArConfig *config, const char *section, const char *prefix=NULL)
| Adds to the ArConfig given, in section, with prefix.
| ArActionDeceleratingLimiter (const char *name="limitAndDecel", LimiterType type=FORWARDS)
| Constructor.
virtual ArActionDesired * | fire (ArActionDesired currentDesired)
virtual const ArActionDesired * | getDesired (void) const
virtual ArActionDesired * | getDesired (void)
LimiterType | getType (void)
| Gets if this will control us when going forwards.
bool | getUseLocationDependentDevices (void)
| Sets if we're using locationDependent range devices or not.
void | setParameters (double clearance=100, double sideClearanceAtSlowSpeed=50, double paddingAtSlowSpeed=50, double slowSpeed=200, double sideClearanceAtFastSpeed=400, double paddingAtFastSpeed=300, double fastSpeed=1000, double preferredDecel=600, bool useEStop=false, double maxEmergencyDecel=0)
| Sets the parameters (don't use this if you're using the addToConfig).
void | setType (LimiterType type)
| Sets if this will control us when going forwards.
void | setUseLocationDependentDevices (bool useLocationDependentDevices)
| Sets if we're using locationDependent range devices or not.
virtual | ~ArActionDeceleratingLimiter ()
| Destructor.
## Protected Attributes
double | myClearance
ArActionDesired | myDesired
double | myFastSpeed
bool | myLastStopped
double | myMaxEmergencyDecel
double | myPaddingAtFastSpeed
double | myPaddingAtSlowSpeed
double | myPreferredDecel
double | mySideClearanceAtFastSpeed
double | mySideClearanceAtSlowSpeed
double | mySlowSpeed
LimiterType | myType
bool | myUseEStop
bool | myUseLocationDependentDevices

## Member Enumeration Documentation

enum ArActionDeceleratingLimiter::LimiterType

Enumerator:

  FORWARDS | Limit forwards.
  BACKWARDS | Limit backwards.
  LATERAL_LEFT | Limit lateral left.
  LATERAL_RIGHT | Limit lateral right.

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

- ArActionDeceleratingLimiter.h