public class UuvControlParameters extends ControlParameters
ControlParameters.CommandParser
Modifier and Type | Field and Description |
---|---|
protected static double |
hoverTransitionRange
Distance to transition from waypoint to hover control when approaching a hover point
|
protected double |
MAXASTERNSPEED
Maximum astern speed in meters per second, positive value or zero
|
protected double |
MAXHIGHSPDPLANE
Maximum plane deflection at high speed
|
protected double |
MAXMAXSPDPLANE
Maximum plane deflection at max speed
|
protected double |
MAXMEDIUMSPDPLANE
Maximum plane deflection at high speed
|
protected double |
MAXPLANE
Maximum plane deflection (degrees)
|
protected double |
MAXRPM
Maximum propeller RPM
|
protected double |
MAXSPEED
Maximum forward speed in meters per second
|
protected double |
MAXTHETA
Maximum allowable pitch (theta)
|
protected double |
MAXTHRUSTER
Maximum lateral and vertical thruster voltage (+ or -)
|
boolean |
metricDistances
Distances are feet by default
|
protected double |
MINWAYPOINTRPM
Minimum allowable propeller RPM when transiting to a waypoint
|
protected double |
NOMINALWAYPOINTRPM
Nominal (routine) propeller RPM when transiting to a waypoint
|
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 UUV needs to report completion of current command
|
protected boolean |
thrustersEnabled
true if thrusters are currently enabled (irrelevant if there are no thrusters)
|
static double |
timeStep
closed loop timing increment (seconds)
|
commandCompleteMsgSent, continueRun, readyNextCommand, standoffDistance, vehicle, workbenchCommunicator, xCommand, xStart, yCommand, yStart
Constructor and Description |
---|
UuvControlParameters(UuvExecution execution)
Constructor
|
Modifier and Type | Method and Description |
---|---|
double |
getHoverTransitionRange() |
double |
getMaxHighSpdPlane() |
double |
getMaxMaxSpdPlane() |
double |
getMaxPlane() |
double |
getMaxRpm() |
double |
getMaxRudder() |
double |
getMaxThruster() |
double |
getMinWaypointRpm() |
double |
getNominalWaypointRpm() |
double |
getStandoffDistance() |
double |
getTimeStep()
Compute simulation timestep interval for this vehicle
|
double |
getXCommand() |
double |
getYCommand() |
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 |
setHoverTransitionRange(double newValue)
sets the UUV hover control transition distance
|
void |
setMaxHighSpdPlane(double newValue)
returns the UUV maximum high-speed control plane deflection (degrees)
|
void |
setMaxMaxSpdPlane(double newValue)
returns the UUV maximum maximum-speed control plane deflection (degrees)
|
void |
setMaxPlane(double newValue)
returns the UUV maximum control plane deflection (degrees)
|
void |
setMaxRpm(double newValue)
returns the UUV maximum propeller rpmSetting
|
void |
setMaxRudder(double newValue) |
void |
setMaxThruster(double newValue)
returns the UUV maximum thruster voltage
|
void |
setMinWaypointRpm(double newValue)
returns the UUV minimum waypoint rpmSetting
|
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 UUV nominal waypoint rpmSetting
|
void |
setStandoffDistance(double newValue)
sets the UUV standoff distance
|
void |
setTimeStep(double newValue)
sets the UUV time step
|
void |
setXCommand(double command) |
void |
setYCommand(double command) |
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, getXStart, getYStart, isTimedCommand, parseTelemetryPostCommon, readyForNextCommand, setReadyNextCommand, setTimedCommand, setWorkbenchCommunicator, unsetReadyNextCommand
protected boolean reportStable
protected boolean thrustersEnabled
public static double timeStep
protected static double hoverTransitionRange
protected double MAXSPEED
protected double MAXASTERNSPEED
protected double MAXRPM
protected double MINWAYPOINTRPM
protected double NOMINALWAYPOINTRPM
protected double MAXTHRUSTER
protected double MAXPLANE
protected double MAXMEDIUMSPDPLANE
protected double MAXHIGHSPDPLANE
protected double MAXMAXSPDPLANE
protected double MAXTHETA
public boolean metricDistances
public boolean radianAngles
public UuvControlParameters(UuvExecution execution)
execution
- UuvExecution reference to UUV 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 getHoverTransitionRange()
public double getStandoffDistance()
public double getMaxRpm()
public double getMinWaypointRpm()
public double getNominalWaypointRpm()
public double getMaxThruster()
public double getMaxPlane()
public double getMaxHighSpdPlane()
public double getMaxMaxSpdPlane()
public void setTimeStep(double newValue)
newValue
- new valuepublic void setHoverTransitionRange(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 setMaxThruster(double newValue)
newValue
- new valuepublic void setMaxPlane(double newValue)
newValue
- new valuepublic void setMaxHighSpdPlane(double newValue)
newValue
- new valuepublic void setMaxMaxSpdPlane(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 commandpublic double getMaxRudder()
public void setMaxRudder(double newValue)
newValue
- the MAXRUDDER to setpublic boolean parseCommand(String commandString)
parseCommand
in class ControlParameters
commandString
- is current text command to be parsedpublic double getXCommand()
getXCommand
in class ControlParameters
public double getYCommand()
getYCommand
in class ControlParameters
public void setXCommand(double command)
command
- The xCommand to set.public void setYCommand(double command)
command
- The yCommand to set.