xcasn_assignssment3v2

14
JEE309: SUBSEA ENGINEERING ASSIGNMENT 3 DATA PROCESSING Stewart Allen 15 October, 2015

Upload: genevievebeck

Post on 04-Feb-2016

3 views

Category:

Documents


0 download

DESCRIPTION

sss

TRANSCRIPT

Page 1: xcasn_Assignssment3v2

JEE309: SUBSEA ENGINEERING

ASSIGNMENT 3

DATA PROCESSING

Stewart Allen

15 October, 2015

Page 2: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 2 of 14

TABLE OF CONTENTS

1 SCENARIO 1: SURVEY PLAN ............................................................................................. 3

1.1 Scope ......................................................................................................................... 3

1.2 Flight Path Plans ........................................................................................................ 4

1.3 Speed and Resolution Requirements ......................................................................... 5

1.4 Mission Plan Summary ............................................................................................. 6

2 SCENARIO 3: CHLOROPHYLL-A SURVEY .................................................................... 7

2.1 Scope ......................................................................................................................... 7

2.2 AUV Survey Route ................................................................................................... 7

2.3 Chlorophyll-a Results ................................................................................................ 7

2.4 Survey Conclusions ................................................................................................... 8

3 REFERENCES ......................................................................................................................... 8

APPENDIX A: MATLAB CODES (SCENARIO 1).................................................................. 9

APPENDIX B: MATLAB CODES (SCENARIO 3) ................................................................ 13

Page 3: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 3 of 14

1 SCENARIO 1: SURVEY PLAN

1.1 SCOPE

The client, NCS Survey of Aberdeen Scotland, has requested a bathymetry survey of a

harbour area in Baku, Azerbaijan (49.663°E, 40.253°N). The 600m square area will be

surveyed to ensure it is suitable to allow through an oversized jacket structure.

Additionally the client requires a benthic imagery sub-survey of a smaller 100m square

area to examine submerged obstacles. There must be 40% overlap between the images to

allow the development of photo panoramas.

Mission Capabilities and Limitations

An Autonomous Underwater Vehicle (AUV) will be used to conduct the survey. The

vehicle can obtain 60m side-to-side swaths at a 6m altitude. For the sub-survey, however,

the AUV is required to run at 2.5m altitude to achieve the required camera visibility.

Key vehicle capabilities;

Camera field of view: 22.5° (half angle);

Endurance: 3 hours; and

Sonar sampling rate; 16Hz.

Assumptions

The following assumptions are made throughout the proposal;

The given coordinates are for the centre of the 600m square;

The survey area is square with the shoreline; and

The 100m square is in the centre of the 600m square, and is also square with the

shoreline.

This assumed geometry is illustrated in Figure 1-1.

Figure 1-1: 600m and 100m square survey area boundaries

Page 4: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 4 of 14

1.2 FLIGHT PATH PLANS

Hydrographic Survey

The hydrographic survey consists of 11 path-lines spaced 54.5m apart, and two tie-lines,

each crossing all 11 lines. It is assumed that the AUV can achieve a 15m turning radius, as

is achieved by Kongsberg’s HUGIN AUV range (Kongsberg, 2015). This allows for an up-

and-back, ‘lawnmower’ type mission path, resulting in a total distance of about 8.7km.

This path is shown in the MATLAB plot and Google Earth image in Figure 1-2.

Figure 1-2: MATLAB (left) and Google Earth (right) diagrams of the hydrographic survey plan

The hydrographic survey will be undertaken at 6m altitude, giving 60m swaths. Therefore

100% coverage will be obtained, even if the AUV deviates up to ±2.7m from the

programmed path. The survey lines run parallel to the shore, beginning with the path-line

closest to the shore. This is to minimise the time that the AUV spends close to the shore

which is considered the most hazardous area.

Benthic Image Survey

The benthic image survey begins immediately after the hydrographic survey. During an

intermediate path-line the AUV will descend from 6m to 2.5m altitude. This allows the

camera to capture 2.07m wide images, as derived using the diagram in Figure 1-3.

Figure 1-3: Diagram of benthic image camera field of view

Page 5: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 5 of 14

The survey is conducted with 50 lines spaced 2m apart to cover the 100m square area.

However, for the benthic survey, the AUV does not follow the up-and-back ‘lawnmower’

type path. Instead the AUV will perform loops as shown in Figure 1-4. The red line

highlights the first loop performed by the AUV. This method is more efficient in

accommodating the necessary 15m turn radius. Figure 1-4 also shows the benthic image

survey plan plotted in Google Earth.

Figure 1-4: MATLAB (left) and Google Earth (right) diagrams of the benthic image survey plan

The total distance for the benthic imagery survey is 8.0km. In this case only ±0.035m from

AUV deviation is allowable; however, this is adequate as 100% coverage is not required

for the benthic survey. It is for this reason also that the benthic image survey is conducted

after the hydrographic survey. If the AUV battery were to run out earlier than expected

only the benthic imaging coverage should be affected.

1.3 SPEED AND RESOLUTION REQUIREMENTS

The total distance covered, including the hydrographic and benthic surveys, is 17.0km.

Over 3 hours, this requires an average speed of 1.6m/s to obtain 100% coverage. It is

assumed that the AUV can comfortably achieve at least 1.6m/s, again by comparison to the

HUGIN AUV (Kongsberg, 2015), including through a 15m turn radius. Thus the

hydrographic survey will be completed at this speed, in about 90 minutes. The sonar used

for the hydrographic survey samples at 16Hz, therefore, at this speed, the spatial resolution

will be 0.1m. However, at the minimum acceptable resolution of 10 samples per bin, the

resolution is 1.0m.

The benthic survey is can be 100% completed in the remaining 90 minutes if the average

speed of 1.6m/s is maintained. However, this part of the survey requires a 40% frame-by-

frame overlap to allow photo panoramas. To achieve this, a further reduction of the AUV

speed may be needed. This is dependent on the rate at which the camera shoots. Given the

2.07m wide camera shot (assuming a square image frame) the AUV can only move

forward 1.65m between images. By knowing the camera rate, the allowable AUV speed

can be determined. For example, the MBARI IAUV’s benthic imaging camera fires every

1.8s (MBARI, 2010). If the same camera was used for this survey the AUV would have to

slow to 0.92m/s to obtain the 40% overlap, thus only achieving approximately 62%

coverage. To achieve 100% coverage at 1.6m/s, the camera must sample at about 1 shot

per second (1Hz) or greater.

Page 6: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 6 of 14

1.4 MISSION PLAN SUMMARY

The mission plan is summarised in Table 1-1. The survey link details the path required to

turn and travel from the end of the hydrographic survey to the assumed location of the

benthic survey. Note the survey leaves 2.85 minutes to surface the AUV to a desired

location. MATLAB plots and Google Earth images of the AUV flight path for the

complete survey are provided in Figure 1-5 and Figure 1-6 respectively.

Table 1-1: Mission plan summary

Path-lines Spacing

[m] Tie-lines

Distance

[m]

Av. Speed

[m/s]

Time

[min]

Hydrographic Survey 11 54.5 2 8704 1.60 90.67

Benthic Survey

(for 100% coverage) 50 2 0 8011 1.60 83.44

Survey Link 1 - - 292 1.60 3.04

Total 17007 177.15

Figure 1-5: MATLAB plots of the complete survey plan

Figure 1-6 Google Earth images of the complete survey plan

Page 7: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 7 of 14

2 SCENARIO 3: CHLOROPHYLL-A SURVEY

2.1 SCOPE

The Tahoe Regional Planning Agency has contracted a water column survey in Lake

Tahoe 119.955°W, 39.029°N). The survey, conducted with an AUV, aims to investigate

the spreading of a phytoplankton bloom by measuring levels of chlorophyll-a. The task

requires filtering the USBL positional data to determine the actual survey path. The

chlorophyll-a data collected along the path must then be mapped and analysed.

2.2 AUV SURVEY ROUTE

Figure 2-1 shows a MATLAB plot and a Google Earth image of the planned survey, as

well as the unfiltered USBL data and the data processed with a 10-point moving average

filter. As the images show, there was significant deviation between the planned survey

route, and the actual route undertaken. The final displacement of the AUV is north east of

the intended position. This indicates a north easterly current within this region of the lake.

Figure 2-1: AUV planned and actual survey routes presented in MATLAB (left) and Google Earth (right)

2.3 CHLOROPHYLL-A RESULTS

Figure 2-2 shows contour plots of the concentration of chlorophyll-a throughout the

surveyed region. This concentration correlates to the phytoplankton levels, which may

present a hazard to local drinking water. The plot shows maximum chlorophyll-a

concentrations of up to 0.035mg/l in the central eastern regions of the survey space. In this

particular area there is a large bloom of high concentration, trailing off to the north-

northeast. Meanwhile, concentrations to the south and west are minimised. This further

indicates the presence of currents flowing in a north-north easterly direction in this section

of Lake Tahoe.

The chlorophyll-a contour plots in Figure 2-2 are notably more refined along the survey

path. The resolution becomes poorer as the distance from the survey path increases. This is

due to the interpolation required used to resolve these regions of the plot. This is difficult

to improve without obtaining further data in these areas.

Page 8: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 8 of 14

Figure 2-2: Concentration of chlorophyll-a presented in MATLAB (left) and Google Earth (right)

2.4 SURVEY CONCLUSIONS

This AUV survey has provided evidence of a phytoplankton bloom in Lake Tahoe using

chlorophyll-a measurements. The survey shows high levels of chlorophyll-a up to 0.35mg/l

along the eastern side of the survey area, particularly around the central to northern

regions. To better resolve the extend of the bloom, further survey is recommended to the

north and east of the original survey.

The survey also provides evidence of a north-north easterly flowing current within the

lake. This information could potentially be used to estimate the future location of the

bloom, as well as its origin.

3 REFERENCES

In text

Kongsberg. (2015). Autonomous Underwater Vehicle - HUGIN. Retrieved from Kongsberg:

http://www.km.kongsberg.com/ks/web/nokbg0240.nsf/AllWeb/B3F87A63D8E419E5C1

256A68004E946C?OpenDocument

MBARI. (2010). Benthic Imaging. Retrieved from Monterey Bay Aquarium Research Institute:

http://www.mbari.org/auv/IAUV.htm

MATLAB toolboxes and functions

Scott Lee Davis. (2012). Google Earth Toolbox. Retrieved from MATLAB Central:

http://www.mathworks.com/matlabcentral/fileexchange/12954-google-earth-toolbox

Rafael Fernandes de Oliveira. (2013). KML Toolbox v2.7. Retrieved from MATLAB Central:

http://www.mathworks.com/matlabcentral/fileexchange/34694-kml-toolbox-v2-7

Rafael Palacios. (2006). deg2utm (MATLAB function). Retrieved from MATLAB Central:

http://www.mathworks.com/matlabcentral/fileexchange/10915-deg2utm

Rafael Palacios. (2006). utm2deg (MATLAB function). Retrieved from MATLAB Central:

http://www.mathworks.com/matlabcentral/fileexchange/10914-utm2deg

Alex Forrest. (2015). binavgf (MATLAB function)

Page 9: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 9 of 14

APPENDIX A: MATLAB CODES (SCENARIO 1)

% ========================================================================= % % JEE309: Subsea Engineering % Assignment 3 % Scenario 1 % % Stewart Allen % October 2015 % % =========================================================================

clear all close all clc addpath('googleearth','kmltoolbox v2.71','deg2utm','utm2deg')

% ------------------------------------------------------------------------- %% Setting area coordinates % -------------------------------------------------------------------------

% given location: Long = 49.663; % °E Lat = 40.253; % °N

% converting to utm: [x,y,utmz] = deg2utm(Lat,Long);

% rotation matrix: theta=-60; rot = [cosd(theta) -sind(theta); sind(theta) cosd(theta)];

% setting origin to bottom left hand corner of square % and given location to square centre point: origin = [-300; -300]; origin_rot = rot*origin;

% ------------------------------------------------------------------------- %% Boundaries % -------------------------------------------------------------------------

% setting large boundary: boundX = [0; 0; 600; 600; 0;]; boundY = [0; 600; 600; 0; 0;]; bound = [boundX'; boundY'];

bound_rot = rot*bound;

boundX_rot = x+origin_rot(1,:) + bound_rot(1,:)'; boundY_rot = y+origin_rot(2,:) + bound_rot(2,:)'; utmz_b = [utmz; utmz; utmz; utmz; utmz]; % converting back to lon/lat [lat_b,lon_b] = utm2deg(boundX_rot,boundY_rot,utmz_b);

Page 10: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 10 of 14

% setting smaller boundary: boundX2 = [250; 250; 350; 350; 250;]; boundY2 = [250; 350; 350; 250; 250;]; bound2 = [boundX2'; boundY2'];

bound_rot2 = rot*bound2;

boundX_rot2 = x+origin_rot(1,:) + bound_rot2(1,:)'; boundY_rot2 = y+origin_rot(2,:) + bound_rot2(2,:)'; utmz_b2 = [utmz; utmz; utmz; utmz; utmz]; % converting back to lon/lat [lat_b2,lon_b2] = utm2deg(boundX_rot2,boundY_rot2,utmz_b2);

% ------------------------------------------------------------------------- %% mission path: % -------------------------------------------------------------------------

WP1 = load('waypointsV2.txt'); % waypoint matrix wpX = WP1(:,1); wpY = WP1(:,2); WP = WP1';

% rotating path: WP_rot = rot*WP;

wpX_rot = x+origin_rot(1,:) + WP_rot(1,:)'; wpY_rot = y+origin_rot(2,:) + WP_rot(2,:)';

% must have same number of points in utmzone field: n = length(wpX); for i=1:n utmzone(i,1:4)=utmz(1:4); end

% converting back to lon/lat [lat,lon] = utm2deg(wpX_rot,wpY_rot,utmzone);

% ------------------------------------------------------------------------- %% Distance and speed calculations % -------------------------------------------------------------------------

% calculating total distance: m = length(wpX); for i=1:m-1; wpDi = WP1(i:i+1,1:2); wpD(i) = pdist(wpDi,'euclidean'); end d_tot = sum(wpD) clear wpD wpDi

Page 11: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 11 of 14

% calculating hydrographic distance: m = 52; for i=1:m-1; wpDi = WP1(i:i+1,1:2); wpD(i) = pdist(wpDi,'euclidean'); end d_hyd = sum(wpD) clear wpD wpDi

% calculating benthic distance: m = length(wpX); for i=56:m-1; wpDi = WP1(i:i+1,1:2); wpD(i-24) = pdist(wpDi,'euclidean'); end d_ben = sum(wpD)

% ------------------------------------------------------------------------- %% matlab plots % -------------------------------------------------------------------------

clf figure(1) % plotting path design plot(boundX,boundY,'k-.') hold on plot(boundX2,boundY2,'k-.') plot(wpX,wpY,'.-') axis([-25 625 -25 625]) xlabel('Displacent in x direction [m]','FontSize',12,'FontWeight','bold') ylabel('Displacent in y direction [m]','FontSize',12,'FontWeight','bold') axis equal

figure(2) % plotting rotated path in long/lat plot(lon_b,lat_b,'k-.') hold on plot(lon_b2,lat_b2,'k-.') plot(lon,lat,'.-') xlabel('Longitude [°E]','FontSize',12,'FontWeight','bold') ylabel('Latitude [°N]','FontSize',12,'FontWeight','bold') % axis equal

n = length(wpX); hydX = wpX(1:52); hydY = wpY(1:52); benX = wpX(56:n); benY = wpY(56:n); linkX = wpX(52:56); linkY = wpY(52:56);

lon_hyd = lon(1:52); lat_hyd = lat(1:52); lon_ben = lon(56:n); lat_ben = lat(56:n); lon_link = lon(52:56); lat_link = lat(52:56);

Page 12: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 12 of 14

figure(3) % large area only plot(boundX,boundY,'k-.') hold on plot(hydX,hydY,'.-') axis([-25 625 -25 625]) set(gca,'box','on') xlabel('Displacent in x direction [m]','FontSize',12,'FontWeight','bold') ylabel('Displacent in y direction [m]','FontSize',12,'FontWeight','bold') axis equal

figure(4) % small area only plot(boundX2,boundY2,'k-.') hold on plot(benX,benY,'.-') plot(benX(1:10),benY(1:10),'r.-') axis([245 355 245 355]) set(gca,'box','on') xlabel('Displacent in x direction [m]','FontSize',12,'FontWeight','bold') ylabel('Displacent in y direction [m]','FontSize',12,'FontWeight','bold') axis equal

% ------------------------------------------------------------------------- %% .kml ge outputs % -------------------------------------------------------------------------

Large = ge_plot(lon_b,lat_b,'lineColor','60FFFFFF','lineWidth',2); Small = ge_plot(lon_b2,lat_b2,'lineColor','60FFFFFF','lineWidth',2); Hydro = ge_plot(lon_hyd,lat_hyd,'lineColor','80000080','lineWidth',2); Benthic = ge_plot(lon_ben,lat_ben,'lineColor','80000080','lineWidth',2); Link = ge_plot(lon_link,lat_link,'lineColor','80000080','lineWidth',2); a = [lon(1),lon(1)]; b = [lat(1),lat(1)]; Start = ge_plot(a,b,'description','Start Point'); a = [lon(n),lon(n)]; b = [lat(n),lat(n)]; End = ge_plot(a,b,'description','End Point'); ge_output('Scenario_1.kml',[Hydro, Benthic, Link, Start, End, Large, Small]);

Page 13: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 13 of 14

APPENDIX B: MATLAB CODES (SCENARIO 3)

% ========================================================================= % % JEE309: Subsea Engineering % Assignment 3 % Scenario 3 % % Stewart Allen % October 2015 % % =========================================================================

clear all close all clc

addpath('googleearth','kmltoolbox v2.71','deg2utm','utm2deg')

% ------------------------------------------------------------------------- %% Loading and filtering data % -------------------------------------------------------------------------

load('A3dataset.mat');

% planned survey: LonP = A3dataset.lon_plan; LatP = A3dataset.lat_plan;

% actual survey: LonA = A3dataset.lon_usbl; LatA = A3dataset.lat_usbl;

% 10 point moving average filter: n = length(LonA); Lon = zeros(n-9,1); Lat = zeros(n-9,1); for i = 1:n-9 Lon(i,1) = sum(LonA(i:i+9))/10; Lat(i,1) = sum(LatA(i:i+9))/10; end

% ------------------------------------------------------------------------- %% Planned route vs actual route % -------------------------------------------------------------------------

clf figure(1) plot(LonP,LatP,'b','LineWidth',2) xlabel('Longitude [°W]','FontSize',12,'FontWeight','bold') ylabel('Latitude [°N]','FontSize',12,'FontWeight','bold') % axis equal hold on plot(LonA,LatA,'k') plot(Lon,Lat,'r','LineWidth',2)

Page 14: xcasn_Assignssment3v2

JEE309: Subsea Engineering – Assignment 3

Page 14 of 14

legend('Planned survey','Actual survey','Actual survey

(filtered)','Location','NorthWest')

Planned = ge_plot(LonP,LatP,'lineColor','400000FF','lineWidth',5); Actual = ge_plot(LonA,LatA,'lineColor','60FFFFFF','lineWidth',2); Filtered = ge_plot(Lon,Lat,'lineColor','80FF0000','lineWidth',5); ge_output('Scenario_3.kml',[Planned, Actual, Filtered]);

% ------------------------------------------------------------------------- %% Chlorophyl-a data analysis % -------------------------------------------------------------------------

% bin chlorophyll data using binavgf.m function: x = A3dataset.conc_chla; d = A3dataset.timestamp_chla; binsize = 30/60/60/24; dist = A3dataset.timestamp_chla; [meanx,meand,bins] = binavgf(x,d,binsize,dist); chla = meanx;

% Contour plots nch = length(chla); chla(nch-7:nch) = []; s = Lon(2)-Lon(1); xmesh = min(Lon):s:max(Lon); ymesh = min(Lat):s:max(Lat); [X,Y] = meshgrid(xmesh,ymesh); M = TriScatteredInterp(Lon,Lat,chla); Z = M(X,Y);

figure(2); pcolor(xmesh,ymesh,Z); shading interp; hold on

plot(Lon, Lat,'k--','LineWidth',1.5); xlabel('Longitude [°W]','FontSize',12,'FontWeight','bold') ylabel('Latitude [°N]','FontSize',12,'FontWeight','bold') colormap(jet);colorbar; hcolor = colorbar; ylabel(hcolor,'Chlorophyll-a Concentration

[mg/l]','FontSize',12,'FontWeight','bold') axis equal

dz = griddata(Lon,Lat,chla,X,Y,'linear');

% ------------------------------------------------------------------------- %% Google maps outputs % -------------------------------------------------------------------------

k = kml('Scenario_3_Chloro'); k.contourf(X,Y,dz,'numberOfLevels',100); % Save the kml and open it in Google Earth k.save;