1 autosub mission control and mission programming dr. miles pebody ocean engineering division...

40
1 Autosub Autosub Mission Control and Mission Control and Mission Programming Mission Programming Dr. Miles Pebody Dr. Miles Pebody Ocean Engineering Division Ocean Engineering Division Southampton Oceanography Centre Southampton Oceanography Centre [email protected] [email protected]

Upload: ariel-wilkinson

Post on 18-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 2: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@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

Page 3: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 4: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 5: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 6: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 7: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

7

MissionMission Script Programming Script Programming

Page 8: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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.

Page 9: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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.

Page 10: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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…

Page 11: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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.

Page 12: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 13: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 14: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 15: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 16: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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)

Page 17: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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)

Page 18: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 19: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 20: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 21: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

21

Mission management toolsMission management tools

Page 22: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

22

Mission Utilities: Mission Utilities: Mission CompilerMission Compiler

Page 23: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

23

Mission Utilities: Mission Utilities: Mission DownloaderMission Downloader

Page 24: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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.

Page 25: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

25

Mission Utilities: Mission Utilities: Excel Spread Sheet Excel Spread Sheet Status DisplayStatus Display

Page 26: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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.

Page 27: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

27

Other Utilities Other Utilities

Page 28: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

28

Other Utilities: Other Utilities: Lonworks Interface Lonworks Interface ConfigurationConfiguration

Page 29: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

29

Other Utilities: Other Utilities: Special Tools For Specific Special Tools For Specific Tasks - Compass CalibrationTasks - Compass Calibration

Page 30: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

30

Other Utilities: Other Utilities: Lonworks Network Lonworks Network Variable BrowserVariable Browser

Page 31: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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.

Page 32: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

32

The EndThe End

Dr. Miles PebodyDr. Miles PebodyOcean Engineering DivisionOcean Engineering Division

Southampton Oceanography CentreSouthampton Oceanography Centre

[email protected]@soc.soton.ac.uk

Page 33: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

33

Page 34: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 35: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 36: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 37: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 38: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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

Page 39: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

39

Mission Preparation and Mission Preparation and InitiationInitiation

Page 40: 1 Autosub Mission Control and Mission Programming Dr. Miles Pebody Ocean Engineering Division Southampton Oceanography Centre M.Pebody@soc.soton.ac.uk

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