Upload
ariel-wilkinson
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
1
Autosub Autosub Mission Control and Mission Mission Control and Mission
ProgrammingProgramming
Dr. Miles PebodyDr. Miles PebodyOcean Engineering DivisionOcean Engineering Division
Southampton Oceanography CentreSouthampton Oceanography Centre
[email protected]@soc.soton.ac.uk
2
OverviewOverview
The Mission Control NodeThe Mission Control Node Mission Script ProgrammingMission Script Programming Other Mission Specific Other Mission Specific
ConfigurationConfiguration Mission management toolsMission management tools Other UtilitiesOther Utilities
3
Mission Control Node: Mission Control Node: Network Network InterfaceInterface
Mission ControlMission Control
Lonworks NodeLonworks Node
Motor
Rudder - Pos Ctrl
Sternplane -Depth/Alt Ctrl
DepthDepth
GPS/GPS/
NavigationNavigation
EmergencyEmergency
AbortAbort
Operator CommandsOperator CommandsMission script downloadMission script download
4
Mission Control Node: Mission Control Node: Software Software StructureStructure
StartStart
StopStop
AbortAbort
SurfaceSurface
Got GPS FixGot GPS Fix
Got PositionGot Position
Got DepthGot Depth
DivedDived
SurfacedSurfaced
TimeoutTimeout
Event HandlersEvent Handlers
EExxtteerrnnaall
IInntteerrnnaall
Mission Line Mission Line
ExecutionExecution
Mission Script DownloadMission Script Download
Control Modes Control Modes
and Demandsand Demands
5
Mission Control: Mission Control: Download Mission ScriptDownload Mission Script
Events trigger the Events trigger the execution of the next execution of the next mission linemission line
Up to 820 mission linesUp to 820 mission lines
Each line specifies an event Each line specifies an event and all modes and and all modes and demandsdemands
6
Stop flagStop flag Stop/start vehicleStop/start vehicle
Mission Control: Mission Control: Mission Line FormatMission Line Format
FieldField Mode/CommandMode/Command
DepthDepth
EventEvent
TimerTimer
IndexIndex
HeadingHeading
MotorMotor
Mission line numberMission line number
Stop, Surface, Abort, Stop, Surface, Abort,
Timeout, Got GPS fix, Timeout, Got GPS fix,
Got Position, Got Depth, Got Position, Got Depth,
Surfaced, DivedSurfaced, Dived
Optional timeout value forOptional timeout value for
next eventnext event
Mode: Direct stern-plane, depth, Mode: Direct stern-plane, depth,
altitude Demand: Degrees / metresaltitude Demand: Degrees / metres
Mode: Direct rudder, Heading, Mode: Direct rudder, Heading,
Position. Demand: Degrees / N.E. Position. Demand: Degrees / N.E.
or Lat Long vectoror Lat Long vector
Mode: Torque, PowerMode: Torque, PowerDemand: Amps, WattsDemand: Amps, Watts
7
MissionMission Script Programming Script Programming
8
Mission Script ProgrammingMission Script Programming
When(event),,,;When(event),,,; structures define mission structures define mission
lines.lines.
Constant data values may be specified.Constant data values may be specified.
Macros with arguments may be defined.Macros with arguments may be defined. Auxiliary files may be included with constant Auxiliary files may be included with constant
data and macro definitions.data and macro definitions. Comprehensive programming guide provideComprehensive programming guide provide
d in mission script compiler help facility.d in mission script compiler help facility.
9
The When() Event StructureThe When() Event Structure
when( when( EventEvent))
Timer ( Timer ( demand)),,
Rudder mode ( Rudder mode ( demand)),,
Stern-Plane mode ( Stern-Plane mode ( demand)),,
Motor mode ( Motor mode ( demand));;
White space characters include: Carriage return, space, tab. White space characters include: Carriage return, space, tab.
The when(event) statement provides the basic The when(event) statement provides the basic building block of the Autosub mission script.building block of the Autosub mission script.
Each when structure compiles into a downloadable Each when structure compiles into a downloadable mission line.mission line.
10
The When() Event StructureThe When() Event Structure
// When satisfactory GPS fix has been acquired dive and track // When satisfactory GPS fix has been acquired dive and track follow: follow:
// Set timeout to 500 seconds.// Set timeout to 500 seconds.
WHEN( GotGPSfix)WHEN( GotGPSfix) // When GPS fix acquired ………// When GPS fix acquired ………
Timer( 500),Timer( 500), // Set timeout of 500 seconds.// Set timeout of 500 seconds.
Depth( 10),Depth( 10), // Set depth mode to 10 metres.// Set depth mode to 10 metres.
MotorPower( 400), MotorPower( 400), // Set motor mode to Power 400 // Set motor mode to Power 400 Watts.Watts.
PositionP( N:56:27.5, W:5:29.4); PositionP( N:56:27.5, W:5:29.4); // Set position mode and // Set position mode and demanddemand
// Next line, when reached end of the track ……// Next line, when reached end of the track ……
WHEN( GotPosition)WHEN( GotPosition) // When Got there (// When Got there (OR timeoutOR timeout))
……etc…etc…
11
When EventsWhen Events
OnSurfaceOnSurface The Autosub has surfaced.The Autosub has surfaced.
EventEvent DescriptionDescription
GotDepthGotDepth
StartStart
TimeOutTimeOut
DivedDived
GotPositionGotPosition
GotGPSFixGotGPSFix
The Autosub has dived.The Autosub has dived.
Indicates that the mission is to start. Indicates that the mission is to start.
This event must appear as the first This event must appear as the first
event in all mission scripts and event in all mission scripts and
nowhere else. nowhere else.
The previous mission line timer The previous mission line timer
setting has expired.setting has expired.
The Autosub has reached the depth The Autosub has reached the depth
specified in the previous mission line.specified in the previous mission line.
The Autosub has reached the The Autosub has reached the
waypoint specified in the previouswaypoint specified in the previous
mission line. mission line.
A GPS fix has been received.A GPS fix has been received.
Events are Events are logically ORed logically ORed
with the TimeOut with the TimeOut event.event.
12
Mission Script StructureMission Script Structure// Define constants at top of file eg. // Define constants at top of file eg. constant_1 = some valueconstant_1 = some valueconstant_2 = another valueconstant_2 = another value
// Mission script starts with “start_mission” statement// Mission script starts with “start_mission” statement
start_missionstart_mission
when( Start)when( Start) // The first event MUST BE // The first event MUST BE “Start”“Start”
mode( demand)mode( demand)
mode( demand)mode( demand)
mode( demand)mode( demand)
mode( demand);mode( demand);
……etc…etc…
//The last when event is followed by “end_mission”.//The last when event is followed by “end_mission”.
end_missionend_mission
13
Mission Script Macro DefinitionsMission Script Macro Definitions
// Define an event level macro // Define an event level macro start_macro MacroName( argument_list)start_macro MacroName( argument_list)
when( event)when( event)mode( demand),mode( demand),
mode( demand),mode( demand),
mode( demand),mode( demand),
mode( demand);mode( demand);
when( event)when( event)mode( demand),mode( demand),
mode( demand),mode( demand),
mode( demand),mode( demand),
mode( demand);mode( demand);
...etc......etc...
A_Macro_Call( another_argument_list)A_Macro_Call( another_argument_list) // Macros may be nested// Macros may be nested
end_macroend_macro
14
Mission Script Macro DefinitionsMission Script Macro Definitions
// Define a sub-event level macro // Define a sub-event level macro start_macro MacroName( argument_list)start_macro MacroName( argument_list)
mode( demand),mode( demand),
mode( demand),mode( demand),
mode( demand),mode( demand),
mode( demand);mode( demand);
end_macroend_macro
15
Modes And Demands: MotorModes And Demands: Motor
Polarity of demand value gives motor Polarity of demand value gives motor thrust directionthrust direction
• Current (Torque) ControlCurrent (Torque) ControlSyntax:Syntax: MotorCurrent( +/-Amps)MotorCurrent( +/-Amps) // Value +/-0-max current// Value +/-0-max current
• Power ControlPower ControlSyntax:Syntax: MotorPower( +/-Watts)MotorPower( +/-Watts) // Value +/-0-max power// Value +/-0-max power
16
Modes And Demands: Stern-Modes And Demands: Stern-PlanePlane
• Altitude ControlAltitude ControlSyntax:Syntax: Altitude( 0-500m)Altitude( 0-500m)
• Depth ControlDepth ControlSyntax:Syntax: Depth( -10 - 6000m)Depth( -10 - 6000m)
• Reverse Dive ControlReverse Dive ControlSyntax:Syntax: ReverseDive(-10 - 6000m) ReverseDive(-10 - 6000m)
• Direct Actuator Angle ControlDirect Actuator Angle ControlSyntax:Syntax: SPlaneAngle( +/-20 degrees)SPlaneAngle( +/-20 degrees)
17
Modes And Demands: RudderModes And Demands: Rudder
• Heading ControlHeading ControlSyntax:Syntax: Heading( 0-360 degrees)Heading( 0-360 degrees)
• Reverse Heading ControlReverse Heading ControlSyntax:Syntax: RevHeading(0-360 degrees)RevHeading(0-360 degrees)
• Position ControlPosition ControlSyntax:Syntax: PositionP( Latitude, Longitude) PositionP( Latitude, Longitude)
Syntax:Syntax: PositionC( X metres, Y metres, Origin Lat, Origin Lon) PositionC( X metres, Y metres, Origin Lat, Origin Lon)
• Track Follow ControlTrack Follow ControlSyntax:Syntax: TrackP( Latitude, Longitude)TrackP( Latitude, Longitude)
Syntax:Syntax: TrackC ( X metres, Y metres, Origin Lat, Origin Lon)TrackC ( X metres, Y metres, Origin Lat, Origin Lon)
18
Other Mission Specific Other Mission Specific ConfigurationConfiguration
Other Autosub configuration is specified in a Other Autosub configuration is specified in a “Configuration Script” - a file separate to the “Configuration Script” - a file separate to the mission script.mission script.
Examples include:Examples include:• Emergency abort parameters:Emergency abort parameters:
Total mission timeTotal mission time Maximum dive timeMaximum dive time Maximum dive depthMaximum dive depth
• Depth control parameters:Depth control parameters: Max depthMax depth Minimum altitudeMinimum altitude Max/Min vehicle pitch anglesMax/Min vehicle pitch angles
19
Configuration ScriptConfiguration Script
Script in the format of a M.S. Windows INI Script in the format of a M.S. Windows INI File. Comments appear in lines starting with File. Comments appear in lines starting with ‘;’‘;’;// Each Autosub node may have a section, if required.;// Each Autosub node may have a section, if required.
[EMERGENCY ABORT][EMERGENCY ABORT]
; Mission config Mission time: hours, mins; Mission config Mission time: hours, mins
nc_mission_confg = 7,0nc_mission_confg = 7,0
; Dive config: max depth, dive time: hours, mins; Dive config: max depth, dive time: hours, mins
nc_dive_confg = 525,3,00nc_dive_confg = 525,3,00
[DEPTH CONTROL] [DEPTH CONTROL]
; +/- 20 degrees.; +/- 20 degrees.
nci_pitchLimits = 0.2095,-0.2095 nci_pitchLimits = 0.2095,-0.2095
nci_max_depth = 420nci_max_depth = 420
nci_min_altitude = 15nci_min_altitude = 15
20
Mission Programming : Mission Programming : Mission Mission PreparationPreparation
Mission ScriptMission Script
EditorEditor
ConfigurationConfiguration
EditorEditor
Control parameters Control parameters Sensor parametersSensor parametersSafety limitsSafety limitsEAS timers + limitsEAS timers + limits
MissionMission
CompilerCompiler
WarningsWarnings
Go! Go!
StopStop
MissionMission
CommanderCommander
+ Monitor+ Monitor
History FileHistory File
RadioRadio
ModemModemDown-loaderDown-loader
Mission SimulationMission Simulation
21
Mission management toolsMission management tools
22
Mission Utilities: Mission Utilities: Mission CompilerMission Compiler
23
Mission Utilities: Mission Utilities: Mission DownloaderMission Downloader
24
Mission Utilities: Mission Utilities: Autosub NannyAutosub Nanny
A tool for automatic A tool for automatic checking of Autosub checking of Autosub node and systems node and systems status.status.
25
Mission Utilities: Mission Utilities: Excel Spread Sheet Excel Spread Sheet Status DisplayStatus Display
26
Mission Utilities: Mission Utilities: Mission CommanderMission Commander
•Radio telemetry
•Status monitoring.
•Commands to stop/start mission.
•Update navigation.•Maintains log and history file of mission times and comms.
27
Other Utilities Other Utilities
28
Other Utilities: Other Utilities: Lonworks Interface Lonworks Interface ConfigurationConfiguration
29
Other Utilities: Other Utilities: Special Tools For Specific Special Tools For Specific Tasks - Compass CalibrationTasks - Compass Calibration
30
Other Utilities: Other Utilities: Lonworks Network Lonworks Network Variable BrowserVariable Browser
31
Future DevelopmentsFuture Developments
There is considerable scope for There is considerable scope for integrating mission planning, integrating mission planning, simulation, specification and simulation, specification and monitoring into one graphical package monitoring into one graphical package based on an electronic chart format.based on an electronic chart format.
Pre-mission systems checks and Pre-mission systems checks and procedures may be made more robust procedures may be made more robust and automated further with the use of and automated further with the use of a knowledge base and a “Mission a knowledge base and a “Mission Wizard” interfaced directly to the Wizard” interfaced directly to the Autosub via Lonworks.Autosub via Lonworks.
32
The EndThe End
Dr. Miles PebodyDr. Miles PebodyOcean Engineering DivisionOcean Engineering Division
Southampton Oceanography CentreSouthampton Oceanography Centre
[email protected]@soc.soton.ac.uk
33
34
Pre-Mission PlanningPre-Mission Planning
Mission RequirementsMission Requirements Mission NavigationMission Navigation Control ModesControl Modes Autosub Safety IssuesAutosub Safety Issues The Mission End - The Mission End -
RecoveryRecovery
35
Mission RequirementsMission Requirements
Instruments/sensorsInstruments/sensors Data samplingData sampling Area of operationArea of operation Vehicle critical factorsVehicle critical factors
• Power availabilityPower availability• Depth ratingsDepth ratings
36
Mission NavigationMission Navigation
Example: track of 110 km mission off Fort Example: track of 110 km mission off Fort Lauderdale. Coast, Florida.Lauderdale. Coast, Florida.
Waypoint selectionWaypoint selection Co-ordinate SystemCo-ordinate System
• Cartesian (X/Y metre offset)Cartesian (X/Y metre offset)• Polar (latitude/longitude)Polar (latitude/longitude)
Navigation Mode Navigation Mode SelectionSelection• Heading onlyHeading only• Heading to positionHeading to position• Follow track between two Follow track between two
positionspositions
37
Control Modes: Control Modes: Depth/Altitude ControlDepth/Altitude Control
0
5
10
15
De
pth
(m
)
0 300 600 900 1200 1500 1800 2100 2400
Time (s)
Vehicle depth
Water depth
Depth controlDepth control Altitude control - terrain Altitude control - terrain followingfollowing
38
Autosub Safety IssuesAutosub Safety Issues
• In water obstaclesIn water obstacles• Terrain - vehicle pitch controlTerrain - vehicle pitch control• Surfacing zonesSurfacing zones• Mission depth and altitude limitsMission depth and altitude limits• Emergency abort timeoutsEmergency abort timeouts
39
Mission Preparation and Mission Preparation and InitiationInitiation
40
Mission Preparation and Mission Preparation and InitiationInitiation
Mission ScriptMission Script Configuration ScriptConfiguration Script Mission Script CheckingMission Script Checking Pre-Launch TasksPre-Launch Tasks Post-Launch / Pre-Start Post-Launch / Pre-Start
TasksTasks