public class BestFirstSearchPlanner extends SelfPruningPlanner
Contact: Don Brutzman (web.nps.navy.mil/~brutzman) brutzman@nps.navy.mil
Modifier and Type | Field and Description |
---|---|
protected static double |
COS60 |
protected GeoArea |
searchArea
The geographic area that is being searched
|
protected static double |
SIN60 |
static double |
SIXTY_DEGREES |
protected double[] |
startPoint
Reference to the search starting point (transit waypoints should end here)
|
static double |
THIRTY_DEGREES |
protected double |
trackSpacing
Space between tracks of the search
|
Modifier | Constructor and Description |
---|---|
protected |
BestFirstSearchPlanner()
Creates a new instance of BestFirstSearchPlanner
|
|
BestFirstSearchPlanner(GeoArea searchArea,
double S,
double PD,
double[] startPosit,
boolean pointFocus)
Creates a new instance of BestFirstSearchPlanner
|
Modifier and Type | Method and Description |
---|---|
protected List<double[]> |
computeVisitPoints()
Computes a set of points that blanket the search area.
|
double[] |
getStartPoint()
Returns a reference to the search's starting position
|
void |
reset(BestFirstSearchWorldState start)
Resets the planner to start over with a new start state
|
void |
reset(BestFirstSearchWorldState start,
BestFirstSearchWorldState goal)
Resets the planner to start over with a new start state and a new goal
|
void |
setRequiredPD(double value)
Sets the required single-search probability of detection of the search
|
void |
setSweepWidth(double value)
Sets the sweep width (defined in NWP 3-22.5 SAR TACAID) of the search
|
double |
setTrackSpacing()
Computes and sets the track spacing to achieve the desired 1-search probability of detection
The method uses the formula PD = 1 / (1 + 0.25 * (1 / C)) where C is the coverage factor
|
run
addToAgenda, clearAgenda, getGoal, getPlan, getRunTime, goalAchievable, goalAchieved, isPlanReady, reset, reset, reset, setDie, setRunTime
public static final double THIRTY_DEGREES
public static final double SIXTY_DEGREES
protected static final double SIN60
protected static final double COS60
protected GeoArea searchArea
protected double trackSpacing
protected double[] startPoint
protected BestFirstSearchPlanner()
public BestFirstSearchPlanner(GeoArea searchArea, double S, double PD, double[] startPosit, boolean pointFocus)
searchArea
- geographic area that is to be searchedS
- sensor sweep width as defined in NWP 3-22.5 (SAR TACAID)PD
- required single-search probability of detection of the searchstartPosit
- double[2] defining the vehicle's position at the beginning of the searchpointFocus
- set to true if the search is to focus on the centroid of the areapublic void reset(BestFirstSearchWorldState start)
start
- world state when planning commences (must completely define world)public void reset(BestFirstSearchWorldState start, BestFirstSearchWorldState goal)
start
- world state when planning commences (must completely define world)goal
- desired world state following plan execution (not necessarily complete world description)public double[] getStartPoint()
startPoint
public double setTrackSpacing()
public final void setSweepWidth(double value)
value
- new sweep width value (meters)public final void setRequiredPD(double value)
value
- new required probability of detectionprotected final List<double[]> computeVisitPoints()