public class UsvControlParameters extends ControlParameters
ControlParameters.CommandParser
Modifier and Type | Field and Description |
---|---|
int |
currentControlMode
currently selected control mode (default is open loop)
|
static int |
LOITERCONTROL |
protected double |
MAXRPM
Maximum propeller RPM
|
protected double |
MAXRUDDER
Maximum plane deflection (degrees)
|
protected double |
MAXSPEED
Maximum USV Speed (m/s)
|
protected double |
MINWAYPOINTRPM
Minimum allowable propeller RPM when transiting to a waypoint
|
protected double |
NOMINALWAYPOINTRPM
Nominal (routine) propeller RPM when transiting to a waypoint
|
static int |
OPENLOOPCONTROL |
boolean |
radianAngles
Control constants and mathematical model use degrees, so if the mission uses radians, angles need to be converted
|
protected boolean |
reportStable
true if usvExecution needs to report completion of current command
|
static double |
timeStep
closed loop time interval goal (seconds)
|
static int |
WAYPOINTCONTROL |
commandCompleteMsgSent, continueRun, readyNextCommand, standoffDistance, vehicle, workbenchCommunicator, xCommand, xStart, yCommand, yStart
Constructor and Description |
---|
UsvControlParameters(UsvExecution execution)
Constructor
|
Modifier and Type | Method and Description |
---|---|
double |
getMaxRpm() |
double |
getMaxRudder() |
double |
getMinWaypointRpm() |
double |
getNominalWaypointRpm() |
double |
getStandoffDistance() |
double |
getTimeStep()
Compute simulation timestep interval for this vehicle
|
void |
loadControlLimits(ExecutionDynamicsConfiguration config)
Sets the control limit values based on the configuration file
|
boolean |
parseCommand(Object commandElement)
parses an XML (AVCL) script command and sets the control parameter values as required
|
boolean |
parseCommand(String commandString)
parseCommand parses a space-delimited text script command and sets the control parameter values as required
|
void |
setMaxRpm(double newValue)
returns the usvExecution maximum propeller rpm
|
void |
setMaxRudder(double newValue)
returns the usvExecution maximum rudder deflection (degrees)
|
void |
setMinWaypointRpm(double newValue)
returns the usvExecution minimum waypoint rpm
|
void |
setMission(Mission mission)
Just to allow instance to configure itself based on mission specifics (i.e., telemetry type)
|
void |
setNominalWaypointRpm(double newValue)
returns the usvExecution nominal waypoint rpm
|
void |
setStandoffDistance(double newValue)
sets the usvExecution standoff distance
|
void |
setTimeStep(double newValue)
sets the usvExecution time step
|
void |
useMetricDistances(boolean newSetting)
sets the distance units of measure to either meters or feet (default).
|
void |
useRadianAngles(boolean newSetting)
sets the angular units of measure to either radians or degrees (default)
Only valid for AVCL missions--text will ALWAYS use degrees
|
getStandoff, getXCommand, getXStart, getYCommand, getYStart, isTimedCommand, parseTelemetryPostCommon, readyForNextCommand, setReadyNextCommand, setTimedCommand, setWorkbenchCommunicator, unsetReadyNextCommand
public static final int WAYPOINTCONTROL
public static final int OPENLOOPCONTROL
public static final int LOITERCONTROL
public int currentControlMode
protected boolean reportStable
public static double timeStep
protected double MAXSPEED
protected double MAXRPM
protected double MINWAYPOINTRPM
protected double NOMINALWAYPOINTRPM
protected double MAXRUDDER
public boolean radianAngles
public UsvControlParameters(UsvExecution execution)
execution
- UsvExecution reference to usvExecution to which this object appliespublic void setMission(Mission mission)
ControlParameters
setMission
in class ControlParameters
mission
- instance of execution.mission.Missionpublic double getTimeStep()
ControlParameters
getTimeStep
in class ControlParameters
public double getStandoffDistance()
public double getMaxRpm()
public double getMinWaypointRpm()
public double getNominalWaypointRpm()
public double getMaxRudder()
public void setTimeStep(double newValue)
newValue
- new valuepublic void setStandoffDistance(double newValue)
newValue
- new valuepublic void setMaxRpm(double newValue)
newValue
- new valuepublic void setMinWaypointRpm(double newValue)
newValue
- new valuepublic void setNominalWaypointRpm(double newValue)
newValue
- new valuepublic void setMaxRudder(double newValue)
newValue
- new valuepublic void useMetricDistances(boolean newSetting)
useMetricDistances
in class ControlParameters
newSetting
- true if mission command distance units will be meters (false for feet)public void useRadianAngles(boolean newSetting)
useRadianAngles
in class ControlParameters
newSetting
- true if mission command angular units will be radians (false for degrees)public void loadControlLimits(ExecutionDynamicsConfiguration config)
config
- JAXB object containing all configuration datapublic boolean parseCommand(Object commandElement)
ControlParameters
parseCommand
in class ControlParameters
commandElement
- AVCL command, sets control values accordinglypublic boolean parseCommand(String commandString)
parseCommand
in class ControlParameters
commandString
- is current text command to be parsed