#include <ArActionDeceleratingLimiter.h>
Inheritance diagram for ArActionDeceleratingLimiter:
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", bool forwards=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). | |
bool | getForwards (void) |
Gets if this will control us when going forwards. | |
void | setForwards (bool forwards) |
Sets if this will control us when going forwards. | |
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). | |
virtual | ~ArActionDeceleratingLimiter () |
Destructor. | |
Protected Attributes | |
double | myClearance |
ArActionDesired | myDesired |
double | myFastSpeed |
bool | myForwards |
bool | myLastStopped |
double | myMaxEmergencyDecel |
double | myPaddingAtFastSpeed |
double | myPaddingAtSlowSpeed |
double | myPreferredDecel |
double | mySideClearanceAtFastSpeed |
double | mySideClearanceAtSlowSpeed |
double | mySlowSpeed |
bool | myUseEStop |
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.
Definition at line 46 of file ArActionDeceleratingLimiter.h.
|
Constructor.
Definition at line 39 of file ArActionDeceleratingLimiter.cpp. References setParameters(). |
|
Fires the action, returning what the action wants to do.
Implements ArAction. Definition at line 183 of file ArActionDeceleratingLimiter.cpp. References ArRobot::checkRangeDevicesCurrentBox(), ArRobot::comInt(), ArMath::fabs(), ArRobot::getOrigRobotConfig(), ArRobot::getRobotLength(), ArRobot::getRobotWidth(), ArRobotConfigPacketReader::getTransAccelTop(), ArActionDesired::getTransDecel(), ArRobot::getTransDecel(), ArActionDesired::getTransDecelStrength(), ArRobot::getVel(), ArRobotConfigPacketReader::hasPacketArrived(), ArLog::log(), ArActionDesired::reset(), ArActionDesired::setMaxNegVel(), ArActionDesired::setMaxVel(), ArActionDesired::setTransDecel(), and ArActionDesired::setVel(). |
|
Sets the parameters (don't use this if you're using the addToConfig).
Definition at line 68 of file ArActionDeceleratingLimiter.cpp. Referenced by ArActionDeceleratingLimiter(). |