public class AvclPlannerFlowController extends Object
| Modifier and Type | Field and Description | 
|---|---|
| double[] | recoveryPositionArrayDesignated position for vehicle recovery | 
| Constructor and Description | 
|---|
| AvclPlannerFlowController(int passedVehicleID,
                         VehicleCharacteristics passedVehicleCharacteristics,
                         File missionFile,
                         int passedSearchPlannerType)Creates a new instance of AvclPlannerFlowController | 
| AvclPlannerFlowController(int passedVehicleID,
                         VehicleCharacteristics passedVehicleCharacteristics,
                         InputStream missionFile,
                         int passedSearchPlannerType)Creates a new instance of AvclPlannerFlowController | 
| AvclPlannerFlowController(int passedVehicleID,
                         VehicleCharacteristics passedVehicleCharacteristics,
                         String missionFile,
                         int passedSearchPlannerType)Creates a new instance of AvclPlannerFlowController | 
| AvclPlannerFlowController(VehicleCharacteristics passedVehicleCharacteristics,
                         AvclMission passedMission,
                         int passedSearchPlannerType)Creates a new instance of AvclPlannerFlowController | 
| Modifier and Type | Method and Description | 
|---|---|
| void | failCurrentGoal()Iterates the controller in the instance that the current goal fails | 
| List<JAXBElement<?>> | generateAvclScriptElementList()Generates a set of AVCL task-level commands corresponding to the computed plan for the current goal | 
| List<JAXBElement<?>> | generateAvclScriptElementList(String goalID)Generates a set of AVCL task-level commands corresponding to the computed plan
 for an arbitrary goal in the FSM | 
| List<JAXBElement<?>> | generateAvclScriptElementList(String goalID,
                             VehicleCharacteristics vehicleCharacteristics)Generates a set of AVCL task-level commands corresponding to the computed plan
 for an arbitrary goal in the FSM with updated vehicle characteristics | 
| List<JAXBElement<?>> | generateAvclScriptElementList(VehicleCharacteristics vehicleCharacteristics)Generates a set of AVCL task-level commands corresponding to the computed plan for
 the current goal using updated vehicle characteristics | 
| List<JAXBElement<?>> | generateReturnRoutingElementList()Generates a set of AVCL task-level commands corresponding to the computed plan for the current goal | 
| AvclMission | generateScriptMission() | 
| AvclMission | generateScriptMission(List<JAXBElement<?>> scriptCmds) | 
| AvclMission | generateWholeMissionScript() | 
| GeoAreaSet | getAvoidAreaSet() | 
| double[] | getBestPosition() | 
| Object | getCurrentGoal() | 
| int | getCurrentGoalStatus() | 
| int | getCurrentGoalType() | 
| boolean | hasStateChanged() | 
| void | initialize()Sets vehicle-specific parameters that impact how the planners run
 This method is used when the controller is attached to a Strategic level
 that communicates with the execution level via network (no execution object) | 
| void | initialize(double[] position)Sets vehicle-specific parameters that impact how the planners run | 
| void | initialize(double x,
          double y)Sets vehicle-specific parameters that impact how the planners run | 
| void | initialize(Execution vehicle)Sets vehicle-specific parameters that impact how the planners run | 
| void | initialize(Execution vehicle,
          double[] position)Sets vehicle-specific parameters that impact how the planners run | 
| void | initialize(Execution vehicle,
          double x,
          double y)Sets vehicle-specific parameters that impact how the planners run | 
| boolean | inOperatingArea(double[] pt) | 
| static void | main(String[] args)main method for testing and debugging use only | 
| boolean | missionComplete() | 
| void | planScript()Initiates planning for the current goal using the most recent vehicle position for the starting point | 
| void | planScript(double startX,
          double startY)Initiates planning for the current goal using an arbitrary starting point | 
| void | planScript(String goalID)Initiates planning for an arbitrary goal using the most recent vehicle position for the starting point | 
| void | planScript(String goalID,
          double startX,
          double startY)Initiates planning for an arbitrary goal using an arbitrary starting point | 
| void | processInternalMessage(String message)Takes a String parameter (message from running vehicle) and processes the effect
 effect on the current planner if required (depends on the message and type of planner) | 
| void | processIVMessage(AvclMessage msg)Processes a message received from another vehicle | 
| void | resetPlannerSet()Generates a logical finite state machine (FSM) with planners in
 each state that correspond to the AVCL declarative mission FSM goals | 
| void | resetStateChanged()Resets the "state changed" flag to false | 
| void | sendRequiredComms()Directs the current planner to send any required inter-vehicle
 communications based on the current goal status | 
| void | setCommunicator(CommunicationsHandler ivCommunicator)Used to set the inter-vehicle communicator | 
| void | setPlannerState()Resets the state of the current goal planner based on its internal variables | 
| void | setVehicle(Execution vehicle)Sets the vehicle to be controlled by this controller | 
| void | setWorldModel(WorldModel world)Sets the world model that the planners are to utilize | 
| void | succeedCurrentGoal()Iterates the controller whenever the current goal succeeds | 
public double[] recoveryPositionArray
public AvclPlannerFlowController(int passedVehicleID,
                         VehicleCharacteristics passedVehicleCharacteristics,
                         String missionFile,
                         int passedSearchPlannerType)
passedVehicleID - passedVehicleCharacteristics - characteristics that define what goals the vehicle is capable of accomplishingmissionFile - path to the AVCL file containing the declarative missionpassedSearchPlannerType - enumeration for the type of search pattern that is to be generated
                        if required (normally SearchPatternPlanner.DEFAULT except for testing)public AvclPlannerFlowController(int passedVehicleID,
                         VehicleCharacteristics passedVehicleCharacteristics,
                         File missionFile,
                         int passedSearchPlannerType)
passedVehicleID - passedVehicleCharacteristics - characteristics that define what goals the vehicle is capable of accomplishingmissionFile - File object reference to the AVCL file containing the declarative missionpassedSearchPlannerType - enumeration for the type of search pattern that is to be generated 
                        if required (normally SearchPatternPlanner.DEFAULT except for testing)public AvclPlannerFlowController(int passedVehicleID,
                         VehicleCharacteristics passedVehicleCharacteristics,
                         InputStream missionFile,
                         int passedSearchPlannerType)
passedVehicleID - passedVehicleCharacteristics - characteristics that define what goals the vehicle is capable of accomplishingmissionFile - Stream from which the AVCL file containing the declarative mission is to be readpassedSearchPlannerType - enumeration for the type of search pattern that is to be generated 
                        if required (normally SearchPatternPlanner.DEFAULT except for testing)public AvclPlannerFlowController(VehicleCharacteristics passedVehicleCharacteristics, AvclMission passedMission, int passedSearchPlannerType)
passedVehicleCharacteristics - characteristics that define what goals the vehicle is capable of accomplishingpassedMission - AvclMission object containing the declarative AVCL missionpassedSearchPlannerType - enumeration for the type of search pattern that is to be generated 
                        if required (normally SearchPatternPlanner.DEFAULT except for testing)public void resetPlannerSet()
public void initialize(double[] position)
position - double[2] containing the vehicle's current positionpublic void initialize()
public void initialize(double x,
              double y)
x - x coordinate of the vehicle starting position to use during planningy - y coordinate of the vehicle starting position to use during planningpublic void initialize(Execution vehicle, double[] position)
vehicle - vehicleposition - double[2] containing the vehicle's current positionpublic void initialize(Execution vehicle, double x, double y)
vehicle - execution object of the vehicle that is being controlledx - x coordinate of the vehicle starting position to use during planningy - y coordinate of the vehicle starting position to use during planningpublic void initialize(Execution vehicle)
vehicle - execution object of the vehicle that is being controlledpublic void setWorldModel(WorldModel world)
world - public GeoAreaSet getAvoidAreaSet()
public void setCommunicator(CommunicationsHandler ivCommunicator)
ivCommunicator - public boolean missionComplete()
public void succeedCurrentGoal()
public void failCurrentGoal()
public void setVehicle(Execution vehicle)
vehicle - execution level object of the vehicle to be controlledpublic Object getCurrentGoal()
public int getCurrentGoalType()
public boolean hasStateChanged()
public void resetStateChanged()
public boolean inOperatingArea(double[] pt)
pt - double[2] containing the (x, y) position of the point being testedpublic void processIVMessage(AvclMessage msg)
msg - public void processInternalMessage(String message)
message - String containing the relevant state informationpublic void setPlannerState()
public double[] getBestPosition()
public void planScript()
public void planScript(double startX,
              double startY)
startX - x coordinate of the vehicle's assumed position when goal attempt beginsstartY - y coordinate of the vehicle's assumed position when goal attempt beginspublic void planScript(String goalID)
goalID - unique String identifier for the goal that identifies it in the AVCL filepublic void planScript(String goalID, double startX, double startY)
goalID - unique String identifier for the goal that identifies it in the AVCL filestartX - x coordinate of the vehicle's assumed position when goal attempt beginsstartY - y coordinate of the vehicle's assumed position when goal attempt beginspublic List<JAXBElement<?>> generateAvclScriptElementList()
public List<JAXBElement<?>> generateAvclScriptElementList(VehicleCharacteristics vehicleCharacteristics)
vehicleCharacteristics - charspublic List<JAXBElement<?>> generateAvclScriptElementList(String goalID)
goalID - goal idpublic List<JAXBElement<?>> generateAvclScriptElementList(String goalID, VehicleCharacteristics vehicleCharacteristics)
goalID - goal idvehicleCharacteristics - updated vehicle characteristics to utilize during planningpublic AvclMission generateScriptMission()
public AvclMission generateScriptMission(List<JAXBElement<?>> scriptCmds)
scriptCmds - contains the sequence of script commands that form the missionpublic AvclMission generateWholeMissionScript()
public List<JAXBElement<?>> generateReturnRoutingElementList()
public int getCurrentGoalStatus()
public void sendRequiredComms()
public static void main(String[] args)
args - command line arguments