SlideShare a Scribd company logo
1 of 15
Download to read offline
Mechanical Engineering Design Principles 3 Crane Brainstorming and MATLAB Assignment 2014/15
1
Mechanical Design Principles 3: Crane Brainstorming and MATLAB
Assignment
Tommy Reynolds s1230460
10/11/2014
INTRODUCTION
Part 1: Crane Brainstorming
The design of a new crane to assist with offshore renewables installation is brought
forward. The crane is required to lift 4 tonnes, operate in depths of 7m and cope with
tidal current speeds in the region of 10kn. A small level of precision is necessary to
ensure accurate installation of the crane.
A brainstorming session was held and ideas collected and analysed. The top 3 ideas
were selected by the team and the best idea is taken further individually. More detailed
drawings, analysis of materials and dimensions are given.
Part 2: MATLAB
Additionally, a MATLAB program was created to aid the choice of a hydraulic ram
required for a small crane. This program was required to find the minimum peak force
required by the hydraulic ram when placed under certain loading conditions. Design
constraints were given and useful values should be calculated and displayed by the
program. A GUI (Graphical User Interface) should be integrated into the program,
allowing for quick and easy changes to the input data.
Part 1: Crane Brainstorming
1 IDEAS GENERATED
Each member of the brainstorming team took part in the brainsketching meeting and
this produced a total of roughly 20 drawings. Each drawing was re-sketched and the
original information included was re-written for clarity. A selection of these ideas are
shown in figures 1-15. Additional drawings shown in appendix.
Figure 1
Submersible vehicle with a
tower leading to a platform
with a crane on it.
Figure 2
Catapult which fires object
in a capsule and then
drops it with a parachute.
.into place.
Figure 3
Simple boat with crane
attached to one end which is
held stable by anchors and
powered by rowers.
2
Figure 4
Hovercraft with small crane
on top, powered by a fan and
held stable by a subsea
winch.
Figure 5
Submarine with boom crane
magnet attached, stability
improvements from the
retractable supports.
Figure 6
Platform with foldable crane
centered, ballast tanks for
stability and heli fans used to
move.
Figure 7
Extremely strong man who is
able to carry the object in to the
ocean and place it.
Figure 8
Catamaran type set up with
two skis and a magnet crane
suspended between them.
Powered using thrusters on
each ski.
Figure 9
Crane with cutout to allow
good COM, powered by
thrusters.
Figure 10
Large robot with two cranes
for hands and powered by
human in the head area.
Figure 11
Sea plane with a retractable
boom crane and skis to help
stabilize when in the water.
Figure 12
Platform with legs for
stability, crane able to rotate
360 degrees.
Figure 13
Telescopic crane with
magnet, powered by
thrusters. Ballast tanks filled
to hit sea bed and stable
with legs.
Figure 14
Circular base with runners to
help land, powered by a heli
blade with the crane situated
directly under the blade.
Figure 15
Platform with cutout in
middle, crane situated
above platform. Moved via a
tug boat and held stable by
anchors.
3
2 CRITICAL ANALYSIS OF TOP THREE DESIGNS
2.1 Constraints
To ensure the top three designs were suitably chosen, a number of constraints were
determined by the brainstorming team. These were:
 Must be mobile
 Able to lift 4 tonnes
 Stable in rough water
 Corrosion resistant
 Economically viable
 Capable of precision placement
 Able to operate in water with a depth of up to 7metres.
2.2 Design Number One
Chosen because of the simplicity and ability to meet constraints given in section 2.1.
The design is based on a square platform with 4 individually extendable legs which
are inclined at a small angle to aid in stability. Crane is centred and can rotate about
360 degrees. Because of the square base, the platform can be used for storage and/or
living space. The crane can be self propelled or tugged depending on speed of
movement required. This design is shown in figure 16.
Advantages
 Very stable thanks to four strong legs
 Highly manoeuvrable crane which can rotate
360 degrees
 Has a lot of storage on board and could have
living quarters
 Especially useful when used in long term
situations as will not move
 Can alter each leg height individually to allow
for any difference in depth of the sea bed
Disadvantages
 Requires jacked up before it can be put into operation
 Has a high centre of gravity so may be unstable when being moved
 Will not work straight away so not as effective for short term work
2.3 Design Number Two
Chosen because extremely stable and has high precision. Gantry is placed on rails to
increase precision. Because of the design requiring full support of the crane, the
surrounding area can be used for storage or living quarters. Unfortunately this design
Figure 16
First chosen design.
4
is unable to self propel so a tugboat would be necessary for operation. This design is
shown in figure 17.
Advantages
 Very stable when in use
 Quick to set up so would be useful for short
term applications
 Very high precision when placing due to
multidirectional crane
 Lots of storage space for parts or living
quarters
Disadvantages
 Unable to pick up items unless placed inside
the crane operation area
 Must be tugged when in use so could disrupt other marine transport/wildlife
 Unable to lift very tall objects such as wind turbines
2.4 Design Number Three
Chosen because very well placed centre of gravity and large amount of storage area.
The crane operates by self propulsion and places objects using the cut out area and
the crane above this. The crane has no solid supports so relies on its centre of mass
to provide stability when in operation. The area behind the crane can be used for
storage or for living quarters.
Advantages
 Has a very stable centre of mass
 Manoeuvrable and self propelled
 Able to operate at a large range of depths
Disadvantages
 Crane can only operate in small cut out
area
 May not be stable in rough water due to
lack of solid supports
3 CHOSEN DESIGN
After consideration and reference to the constraints decided by the brainstorming
team, the design which was individually deemed to be most suitable is design number
2.
After selecting the design, a few improvements were implemented and are
demonstrated in figure 19 and 20. Figure 20 also shows the impact that a load on the
gantry will have:
Figure 17
Second chosen design.
Figure 18
Third chosen design.
5
 Rails extended to either end of boat to ensure maximum
accuracy of placement and to allow objects to be placed in
storage area.
 One side of platform opened to ease collection of loads.
 Crane claw fitted with a quick
release system to aid in fast changing of
the lifting tool.
 Gantry system modified to be
telescopic to be capable of dealing with
taller units or when the water level is
very low. Achieved via 2 hydraulic rams which determine
the extension and an expandable and lockable frame.
 Retractable legs added replacing anchors and
provide a stronger base support. Legs can be brought all
the way in when tugged and also moved individually for
better stability on uneven ground.
After some research into the area of offshore
renewable installations, it was discovered that the
main use of the crane will be for generators and
perhaps micro containers, allowing the size of the
crane to be calculated. A micro container when
loaded has a mas of 4000kg and dimensions of
approximately 2m x 2m x 3m. A generator with a
mass of 4000kg was found to be of a similar size.1,2
From this information the dimensions of the
platform and gantry are as shown in figure 21. All
dimensions are in metres.
When considering the buoyancy aspect of the platform, a simple approach was taken.
The volume of the total base was calculated to give the upward force given by the
water. The value obtained was roughly 6million Newtons. The material selection would
need to ensure the total downward force of the unit is not more than this buoyancy
value. Materials such as Airtex® provide a large buoyancy force at a low mass however
may not be strong enough to support the gantry.3 Stainless steel is resistant to the
corrosion of the sea water but is very heavy.
4 GROUP EFFECTIVENESS
The group members were: Tommy Reynolds, David Hughes, Sherif Hennawy, Callum
Girdwood, Russel Bowring, Max Abbott and Elliot Hunter.
When the group first met, the initial idea of brainstorming quickly and accidentally
transferred to a morphological analysis. This was due to a lack of understanding
between the group and also a lack of leadership. After receiving feedback explaining
Figure 20
3D drawing of the base, legs
and gantry. FEA analysis on
gantry.
Figure 19
Side view of
telescopic gantry
with rams to aid
extension.
Figure 21
Dimensions of base of crane (m)
6
the error, another meeting was held. This time the facilitator was decided as Tommy
Reynolds and it was ensured that a brainstorming session was followed. After some
team research of the various available methods, brainsketching was chosen. This
involved each team member drawing an individual basic sketch and then passing each
on to next member who added any changes/improvements they could think of. This
was repeated 4 times and then all ideas were collected. All ideas were treated with full
respect and some interesting concepts were brought up. Although some ideas may
have been considered inappropriate, certain ideas within these were of use.
Part 2: MATLAB
1 DESIGN CONSTRAINTS AND SAMPLE OUTPUT
Design Constraints given in brief4:
 retracted ram length = 1.2m
 extended ram length = 2.2m
 load = 4 tonnes
 boom length (OC) = 4m
 Θmin= -20°, Θmax= 80°
 angle BOC = 20°
The increments used for phi were
5 degrees and for theta a linspace
was used such that there was 50
increments between the
minimum and maximum value
input. The values a, b, ram force
and theta are rounded to 3
significant figures.
When the program was run using
the initial design constraints
given in the brief, the output
shown in figure 23 was attained.
The program allows for the user
to change all inputs and also
gives the user the option to
display different graphs at
varying phi values.
Figure 22
Crane being optimized.
Figure 23
Sample output from crane optimization code.
Figure 23
Sample output from MATLAB program.
7
2 FLOWCHART
CONCLUSION
Part 1: Crane Brainstorming
The brainstorming session resulted in 25 ideas, 15 shown. The three top designs were
chosen by the brainstorming team and an optimum design was individually selected,
analysed, and drawn. This design was improved and simple calculations observed.
The group effectiveness was deemed to be poor at first but a re-meet provided a
significant improvement.
Part 2: MATLAB
The output from the script was found and a GUI was implemented to offer a simple
method of changing the values given in the brief. A flowchart demonstrated the
algorithm used and a sample output was given.
Figure 24.
Flowchart of the algorithm used to calculate the optimized crane design.
8
REFERENCES
1. TLS Offshore Containers. (Unknown). Offshore Mini Container.Available:
http://www.tls-containers.com/mini-container.html. Last accessed 08/11/2014.
2. IKM Gruppen. (Unknown). Stream Generators. Available:
http://www.ikm.com/rental/subsea-/-completion-/-commissioning/equipment-
catalogue/water--/-chemical-circulation/steam-generators/bb886da5-76ca-
480e-8c46-9b835058da95. Last accessed 08/11/2014.
3. Airex AG. (2014). Always on the right course with lightweight
composites. Available: http://www.3accorematerials.com/market-
solutions/marine.html. Last accessed 07/11/2014.University of Edinburgh.
4. John Chick. (30/09/2014) Brainstorming and MATLAB Assignment: Tidal
Stream Crane Design. Last Accessed 01/11/2014.
APPENDIX
1. Equations used for buoyancy force calculation
𝑉𝑏𝑎𝑠𝑒 = (𝑇𝑜𝑡𝑎𝑙 𝐴𝑟𝑒𝑎 − 𝐶𝑢𝑡𝑜𝑢𝑡 𝐴𝑟𝑒𝑎) × 𝐷𝑒𝑝𝑡ℎ (1)
Assume that half of the boat will be submerged:
𝑉𝑑𝑖𝑠𝑝𝑙𝑎𝑐𝑒𝑑 =
𝑉 𝑏𝑎𝑠𝑒
2
(2)
𝐹𝑏𝑢𝑜𝑦𝑎𝑛𝑐𝑦 = 𝜌 𝑤𝑎𝑡𝑒𝑟 × 𝑔 × 𝑉𝑑𝑖𝑠𝑝𝑙𝑎𝑐𝑒𝑑 (3)
2. Additional initial concepts
Figure 25
Rounded rectangular base with ballast tank
and rotatable crane.
Figure 26
Rounded rectangular base with cutout and
ballast tank. Crane operates in cut out area.
9
3. MATLAB Script
% --- Executes just before craneGUI is made visible.
function craneGUI_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to craneGUI (see VARARGIN)
% Choose default command line output for craneGUI
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
%show diagram of crane in the axes number 5
axes(handles.axes5)
imshow('Crane2.jpg')
%show startup picture in axis 4
axes(handles.axes4)
imshow('startup.jpg')
Figure 27
Rounded square base anchors for
support and a rotating crane.
Figure 28
Rounded rectangular base with
rotating crane and legs for
support.
Figure 29
Circular base with hole in middle for
crane operation, tugged. Legs for stability
when in operation.
10
%START
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%retrieve user input for maximum ram extension
rmax = str2double(get(handles.rmax_enter, 'String'));
%retrieve user input for minimum ram extension
rmin = str2double(get(handles.rmin_enter,'String'));
%retrieve user input for maximum theta value
thetamax = str2double(get(handles.maxtheta_input, 'String'));
%retrieve user input for minimum theta value
thetamin = str2double(get(handles.mintheta_enter, 'String'));
%retrieve user input for load applied on boom
Load = str2double(get(handles.Load_enter, 'String'));
%calculate force on boom by multiplying load by gravity
W = (Load * 9.8);
%retreive user input for length of boom
L = str2double(get(handles.Boomlength_enter, 'String'));
%retrieve user input for angle BOC
BOC = str2double(get(handles.BOC_enter, 'String'));
%CHECK INPUTS ARE WITHIN SENSIBLE CONSTRAINTS
%check rmin is more than 0 and if not display error message
if rmin < 0 || rmax < 0
errordlg('Value entered for rmin or rmax is below zero, please enter a
number above 0.')
return
end
%check rmax is more than rmin and if not display error message
if rmax<=rmin
errordlg('rmax entered value is smaller than or equal to rmin entered
value. Please try again.')
return
end
%check thetamax is more than thetamin and if not display error message
if thetamax<=thetamin
errordlg('thetamax entered value is smaller than or equal to thetamin
entered value. Please try again.')
11
return
end
%ensure boom length is entered as a positive number, if not display error
message
if L <= 0
errordlg('Value entered for boom length is below or equal to zero,
please enter a number above 0')
return
end
%check load applied is more than 0 and if not display error message
if W <= 0
errordlg('Value entered for applied load is below or equal to zero,
please enter a number above 0')
return
end
%CHECK FOR COMPLEX NUMBERS
%set variable tf to 1 to allow while loop to have this as initial value
tf = 1;
%set 0 for phi to allow increments in the while loop
phi = 0;
%as long as tf is equal to 1
while tf == 1
% calculate gamma using initial value of 0 for phi and increments after
each loop
%gamma is angle phi plus angle BOC which is 20 degrees in this case
gamma = phi+BOC;
%c2 found using cosine rule
c2 = ((rmax).^2 - (rmin).^2)./(cosd(gamma+thetamin)-
cosd(gamma+thetamax));
%c1 found using cosine rule
c1 = (rmax).^2 + c2*cosd(gamma+thetamax);
%calculate a using c1 and c2
a = ((c1+c2).^.5+(c1-c2).^.5)/2;
%if a is real then tf will stay 1, if not will become 0
tf = isreal(a);
%if tf = 0 (a not real) then the maximum phi value will be assigned to
%the most recent value at which it was real.
if tf == 0;
%find max phi value before goes complex
phimax = phi - (5);
end
%add increments of phi using linspace divider(can be altered for
%varying levels of accuracy)
phi = phi + (5);
end
%define variable phiarray to allow for calculation at each phi increment
phiarray = (0:5:phimax);
%define variable thetaarray for calculation at each theta increment
thetaarray = linspace(thetamin,thetamax,100);
12
%set counter n = 0
n = 0;
%calculate each output for each value of phi
for phi = phiarray;
%add 1 to the counter each time the loop is completed
n = n+1;
%calculate gamma value using each increment of phi and defined angle
BOC
gamma = phi+BOC;
%calculate c2 using values input by user
c2 = ((rmax).^2 - (rmin).^2)./(cosd(gamma+thetamin)-
cosd(gamma+thetamax));
%calculate c1 using values input by user and previous calculations
c1 = (rmax).^2 + c2*cosd(gamma+thetamax);
%calculate a using values obtained from c1 and c2
a = ((c1+c2).^.5+(c1-c2).^.5)/2;
%calculate b using values for a and c2
b = c2./(2*a);
%initialise fmax
Fmax = 0;
%start loop testing all values of theta between thetamin and thetamax
for theta = thetaarray;
%calculate the ram length
r = (c1 - c2*cosd(gamma+theta)).^.5;
%calculate the force on the ram
F = (r * W * L * cosd(theta))./(b*a*sind(gamma+theta));
%if the F value calculated is larger than the original F value then
%set newest F to F max.
if F > Fmax;
Fmax = F;
%set new theta variable to the theta value if F>Fmax
theta_Fmax = theta;
end
end
%create Fmax values for each n value and save in matrix k
k (n) = Fmax;
%create theta values for each n value and save in matrix l
l (n) = theta_Fmax;
end
%find minimum Fmax value
[~, loc] = min(k);
%use the location of the minimum Fmax to find optimum phi value
optimum_phi = phiarray(loc);
%use location again to find the optimum theta value
optimum_theta = l(loc);
%use the location to set the minimum peak force to variable F_max
F_max = k(loc);
%CALCULATE THE OPTIMUM VALUES FOR OA AND OB USING OPTIMUM PHI
%find optimum gamma using the optimum phi found above
optimum_gamma = optimum_phi+BOC;
%find optimum c2 using optimum gamma value
optimum_c2 = ((rmax).^2 - (rmin).^2)./(cosd(optimum_gamma+thetamin)-
cosd(optimum_gamma+thetamax));
13
%find optimum c2 found using the optimum gamma value
optimum_c1 = (rmax).^2 + optimum_c2*cosd(optimum_gamma+thetamax);
%find optimum a using the optimum values calculated for c1 and c2
optimum_a = ((optimum_c1+optimum_c2).^.5+(optimum_c1-optimum_c2).^.5)/2 ;
%find optimum b using the optimum values obtained for c2 and a
optimum_b = optimum_c2./(2*optimum_a);
%FIND VALUES OF F FOR GRAPH AGAINST THETA
%initialise variable y
y = 0;
%set up loop to find values of F at each theta at the optimum value of phi
%tell loop to go from 1 to the length of array thetaarray
for graphloop = 1:length(thetaarray)
%set new variable equal to each individual step of the loop
theta_graph = thetaarray(graphloop);
%add 1 on to y each loop iteration
y = y + 1;
%calculate optimum r value using other values obtained
r_graph = (optimum_c1 -
optimum_c2.*cosd(optimum_gamma+theta_graph)).^.5;
%calculate peak force value and save each value in matrix y
F_graph (y) = (r_graph .* W .* L .*
cosd(theta_graph))./(optimum_b.*optimum_a.*sind(optimum_gamma+theta_graph))
;
end
%plot graph of theta against ram force in axes 4
axes(handles.axes4);
plot(thetaarray, F_graph);
%set title of graph
title('Graph of Theta Against Ram Force')
%set x axis title
xlabel('Theta (degrees)')
%set y axis title
ylabel('Ram force (N)')
%put optimum phi value into the edit text box for phi
set(handles.phi_enter, 'String', sprintf('%.3g', optimum_phi));
%set GUI output boxes to display the necessary variable
%retreive optimum a value and round to 3 significant figures and show units
set(handles.aopt, 'String',sprintf('%.3g m', optimum_a));
%retreive optimum b value and round to 3 significant figures and show units
set(handles.bopt, 'String',sprintf('%.3g m', optimum_b));
%retreive optimum phi value and round to 3 significant figures and show
units
set(handles.phiopt, 'String',sprintf('%.3g degrees', optimum_phi));
%retreive optimum theta value and round to 3 significant figures and show
units
set(handles.thetaopt, 'String',sprintf('%.3g degrees', optimum_theta));
%retreive optimum peak force value and round to 3 significant figures and
show units
set(handles.Fmax, 'String',sprintf('%.3g N', F_max));
%show diagram of crane in the axes number 5
14
axes(handles.axes5)
imshow('Crane2.jpg')
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%get user input for all values again to use in second pushbutton
thetamax = str2double(get(handles.maxtheta_input, 'String'));
thetamin = str2double(get(handles.mintheta_enter, 'String'));
rmax = str2double(get(handles.rmax_enter, 'String'));
rmin = str2double(get(handles.rmin_enter,'String'));
Load = str2double(get(handles.Load_enter, 'String'));
W = (Load * 9.8);
L = str2double(get(handles.Boomlength_enter, 'String'));
BOC = str2double(get(handles.BOC_enter, 'String'));
guiphi = str2double(get(handles.phi_enter, 'String'));
guigamma = guiphi + BOC;
%set value for thetaarray as before for use in this pushbutton
thetaarray = linspace(thetamin,thetamax,100);
%find optimum c2 using optimum gamma value
optimum_c2 = ((rmax).^2 - (rmin).^2)./(cosd(guigamma+thetamin)-
cosd(guigamma+thetamax));
%find optimum c2 found using the optimum gamma value
optimum_c1 = (rmax).^2 + optimum_c2*cosd(guigamma+thetamax);
%find optimum a using the optimum values calculated for c1 and c2
optimum_a = ((optimum_c1+optimum_c2).^.5+(optimum_c1-optimum_c2).^.5)/2 ;
%find optimum b using the optimum values obtained for c2 and a
optimum_b = optimum_c2./(2*optimum_a);
%initialise variable o
o = 0;
%retrieve value entered into the phi edit text box
guiphi = str2double(get(handles.phi_enter, 'String'));
%calculate the new gamma value using the entered phi and the entered angle
%BOC
guigamma = guiphi + BOC;
%find values for F at new value of phi input by user
%set loop to go from 1 to the length of the array thetaarray
for phigraph = 1:length(thetaarray)
thetaphi = thetaarray(phigraph);
%calculate r using new value
r_phigraph = (optimum_c1 - optimum_c2.*cosd(guigamma+thetaphi)).^.5;
%add 1 to the counter each time loop is completed
o = o + 1;
%calculate new F and save value in matrix o
F_phigraph (o) = (r_phigraph .* W .* L .*
cosd(thetaphi))./(optimum_b.*optimum_a.*sind(guigamma+thetaphi));
end
%plot graph in axis 4
axes(handles.axes4);
%plot graph of theta against ram force
plot(thetaarray,F_phigraph);
%set title of graph
15
title('Graph of Theta Against Ram Force')
%set title of x axis
xlabel('Theta (degrees)')
%set title of y axis
ylabel('Ram force (N)')

More Related Content

What's hot

SUSTAINABLE CONSTRUCTION TECHNIQUES
SUSTAINABLE CONSTRUCTION TECHNIQUESSUSTAINABLE CONSTRUCTION TECHNIQUES
SUSTAINABLE CONSTRUCTION TECHNIQUESR821992
 
Types of cranes
Types of cranesTypes of cranes
Types of cranesZiad Salem
 
Future fast track model for new road over bridge spanning over railway yard- ...
Future fast track model for new road over bridge spanning over railway yard- ...Future fast track model for new road over bridge spanning over railway yard- ...
Future fast track model for new road over bridge spanning over railway yard- ...Rajesh Prasad
 
Training report - RCC Bridge
Training report - RCC BridgeTraining report - RCC Bridge
Training report - RCC BridgePRASUNMANI
 
Innovative solution for crossing larger spaces like railway yard
Innovative solution for crossing larger spaces like railway yardInnovative solution for crossing larger spaces like railway yard
Innovative solution for crossing larger spaces like railway yardRajesh Prasad
 
08 Maintenance of Railway Tracks (Railway Engineering Lectures هندسة السكك ال...
08 Maintenance of Railway Tracks (Railway Engineering Lectures هندسة السكك ال...08 Maintenance of Railway Tracks (Railway Engineering Lectures هندسة السكك ال...
08 Maintenance of Railway Tracks (Railway Engineering Lectures هندسة السكك ال...Hossam Shafiq I
 
Gravity dams galleries
Gravity dams galleriesGravity dams galleries
Gravity dams galleriessaibabu48
 

What's hot (10)

SUSTAINABLE CONSTRUCTION TECHNIQUES
SUSTAINABLE CONSTRUCTION TECHNIQUESSUSTAINABLE CONSTRUCTION TECHNIQUES
SUSTAINABLE CONSTRUCTION TECHNIQUES
 
L&H International
L&H InternationalL&H International
L&H International
 
Types of cranes
Types of cranesTypes of cranes
Types of cranes
 
Future fast track model for new road over bridge spanning over railway yard- ...
Future fast track model for new road over bridge spanning over railway yard- ...Future fast track model for new road over bridge spanning over railway yard- ...
Future fast track model for new road over bridge spanning over railway yard- ...
 
Training report - RCC Bridge
Training report - RCC BridgeTraining report - RCC Bridge
Training report - RCC Bridge
 
Presentation on electric cranes
Presentation on electric cranesPresentation on electric cranes
Presentation on electric cranes
 
Innovative solution for crossing larger spaces like railway yard
Innovative solution for crossing larger spaces like railway yardInnovative solution for crossing larger spaces like railway yard
Innovative solution for crossing larger spaces like railway yard
 
Design and Drawing of CAM profiles
Design and Drawing of CAM profilesDesign and Drawing of CAM profiles
Design and Drawing of CAM profiles
 
08 Maintenance of Railway Tracks (Railway Engineering Lectures هندسة السكك ال...
08 Maintenance of Railway Tracks (Railway Engineering Lectures هندسة السكك ال...08 Maintenance of Railway Tracks (Railway Engineering Lectures هندسة السكك ال...
08 Maintenance of Railway Tracks (Railway Engineering Lectures هندسة السكك ال...
 
Gravity dams galleries
Gravity dams galleriesGravity dams galleries
Gravity dams galleries
 

Similar to Brainstorming and MATLAB report

Design and fabrication of car parking system th esis
Design and fabrication of car parking system th esisDesign and fabrication of car parking system th esis
Design and fabrication of car parking system th esisankit chauhan
 
heavylift and rigging.pdf
heavylift and rigging.pdfheavylift and rigging.pdf
heavylift and rigging.pdfssuser4af30f
 
Human Powered Submarine Report
Human Powered Submarine ReportHuman Powered Submarine Report
Human Powered Submarine ReportTarig Halim
 
DESIGN AND FABRICATION OF 360 DEGREE ROTATING TROLLEY
DESIGN AND FABRICATION OF 360 DEGREE ROTATING TROLLEYDESIGN AND FABRICATION OF 360 DEGREE ROTATING TROLLEY
DESIGN AND FABRICATION OF 360 DEGREE ROTATING TROLLEYIRJET Journal
 
673 LOADER REPORT - ZAK KERSHAW
673 LOADER REPORT - ZAK KERSHAW673 LOADER REPORT - ZAK KERSHAW
673 LOADER REPORT - ZAK KERSHAWZak Kershaw
 
ROV Final Report
ROV Final ReportROV Final Report
ROV Final ReportCaleb Irvin
 
Crawler Mounted crane
Crawler Mounted craneCrawler Mounted crane
Crawler Mounted craneAxay Sharma
 
section 5;final description and conclusion.pdf
section 5;final description and conclusion.pdfsection 5;final description and conclusion.pdf
section 5;final description and conclusion.pdfNoxoloSambo
 
Oceanus Co. Tech. Report
Oceanus Co. Tech. ReportOceanus Co. Tech. Report
Oceanus Co. Tech. ReportMostafa Mansour
 
Main page
Main pageMain page
Main pageIAENG
 
Autonomous Roving Vehicle
Autonomous Roving Vehicle Autonomous Roving Vehicle
Autonomous Roving Vehicle Travis Heidrich
 
Design and build portable hydraulic lifting platform for heavy vehicles
Design and build portable hydraulic lifting platform for heavy vehiclesDesign and build portable hydraulic lifting platform for heavy vehicles
Design and build portable hydraulic lifting platform for heavy vehiclesjunaidbuttar
 
IRJET- Design and Manufacturing of Stair Climbing Trolley
IRJET- Design and Manufacturing of Stair Climbing TrolleyIRJET- Design and Manufacturing of Stair Climbing Trolley
IRJET- Design and Manufacturing of Stair Climbing TrolleyIRJET Journal
 
Forklift information.pptx
Forklift information.pptxForklift information.pptx
Forklift information.pptxJanveerpatel
 
College of Engineering Technology and Computer Scien.docx
College of Engineering Technology and Computer Scien.docxCollege of Engineering Technology and Computer Scien.docx
College of Engineering Technology and Computer Scien.docxclarebernice
 
design and analysis of scissor jack presentation 4.pptx
design and analysis of scissor jack presentation 4.pptxdesign and analysis of scissor jack presentation 4.pptx
design and analysis of scissor jack presentation 4.pptxyohannestube
 

Similar to Brainstorming and MATLAB report (20)

A10_TeamPrime
A10_TeamPrimeA10_TeamPrime
A10_TeamPrime
 
Design and fabrication of car parking system th esis
Design and fabrication of car parking system th esisDesign and fabrication of car parking system th esis
Design and fabrication of car parking system th esis
 
heavylift and rigging.pdf
heavylift and rigging.pdfheavylift and rigging.pdf
heavylift and rigging.pdf
 
5
55
5
 
Human Powered Submarine Report
Human Powered Submarine ReportHuman Powered Submarine Report
Human Powered Submarine Report
 
DESIGN AND FABRICATION OF 360 DEGREE ROTATING TROLLEY
DESIGN AND FABRICATION OF 360 DEGREE ROTATING TROLLEYDESIGN AND FABRICATION OF 360 DEGREE ROTATING TROLLEY
DESIGN AND FABRICATION OF 360 DEGREE ROTATING TROLLEY
 
673 LOADER REPORT - ZAK KERSHAW
673 LOADER REPORT - ZAK KERSHAW673 LOADER REPORT - ZAK KERSHAW
673 LOADER REPORT - ZAK KERSHAW
 
ROV Final Report
ROV Final ReportROV Final Report
ROV Final Report
 
Crawler Mounted crane
Crawler Mounted craneCrawler Mounted crane
Crawler Mounted crane
 
section 5;final description and conclusion.pdf
section 5;final description and conclusion.pdfsection 5;final description and conclusion.pdf
section 5;final description and conclusion.pdf
 
Oceanus Co. Tech. Report
Oceanus Co. Tech. ReportOceanus Co. Tech. Report
Oceanus Co. Tech. Report
 
Offshore engg
Offshore enggOffshore engg
Offshore engg
 
Main page
Main pageMain page
Main page
 
Double crane hook
Double crane hook Double crane hook
Double crane hook
 
Autonomous Roving Vehicle
Autonomous Roving Vehicle Autonomous Roving Vehicle
Autonomous Roving Vehicle
 
Design and build portable hydraulic lifting platform for heavy vehicles
Design and build portable hydraulic lifting platform for heavy vehiclesDesign and build portable hydraulic lifting platform for heavy vehicles
Design and build portable hydraulic lifting platform for heavy vehicles
 
IRJET- Design and Manufacturing of Stair Climbing Trolley
IRJET- Design and Manufacturing of Stair Climbing TrolleyIRJET- Design and Manufacturing of Stair Climbing Trolley
IRJET- Design and Manufacturing of Stair Climbing Trolley
 
Forklift information.pptx
Forklift information.pptxForklift information.pptx
Forklift information.pptx
 
College of Engineering Technology and Computer Scien.docx
College of Engineering Technology and Computer Scien.docxCollege of Engineering Technology and Computer Scien.docx
College of Engineering Technology and Computer Scien.docx
 
design and analysis of scissor jack presentation 4.pptx
design and analysis of scissor jack presentation 4.pptxdesign and analysis of scissor jack presentation 4.pptx
design and analysis of scissor jack presentation 4.pptx
 

Brainstorming and MATLAB report

  • 1. Mechanical Engineering Design Principles 3 Crane Brainstorming and MATLAB Assignment 2014/15 1 Mechanical Design Principles 3: Crane Brainstorming and MATLAB Assignment Tommy Reynolds s1230460 10/11/2014 INTRODUCTION Part 1: Crane Brainstorming The design of a new crane to assist with offshore renewables installation is brought forward. The crane is required to lift 4 tonnes, operate in depths of 7m and cope with tidal current speeds in the region of 10kn. A small level of precision is necessary to ensure accurate installation of the crane. A brainstorming session was held and ideas collected and analysed. The top 3 ideas were selected by the team and the best idea is taken further individually. More detailed drawings, analysis of materials and dimensions are given. Part 2: MATLAB Additionally, a MATLAB program was created to aid the choice of a hydraulic ram required for a small crane. This program was required to find the minimum peak force required by the hydraulic ram when placed under certain loading conditions. Design constraints were given and useful values should be calculated and displayed by the program. A GUI (Graphical User Interface) should be integrated into the program, allowing for quick and easy changes to the input data. Part 1: Crane Brainstorming 1 IDEAS GENERATED Each member of the brainstorming team took part in the brainsketching meeting and this produced a total of roughly 20 drawings. Each drawing was re-sketched and the original information included was re-written for clarity. A selection of these ideas are shown in figures 1-15. Additional drawings shown in appendix. Figure 1 Submersible vehicle with a tower leading to a platform with a crane on it. Figure 2 Catapult which fires object in a capsule and then drops it with a parachute. .into place. Figure 3 Simple boat with crane attached to one end which is held stable by anchors and powered by rowers.
  • 2. 2 Figure 4 Hovercraft with small crane on top, powered by a fan and held stable by a subsea winch. Figure 5 Submarine with boom crane magnet attached, stability improvements from the retractable supports. Figure 6 Platform with foldable crane centered, ballast tanks for stability and heli fans used to move. Figure 7 Extremely strong man who is able to carry the object in to the ocean and place it. Figure 8 Catamaran type set up with two skis and a magnet crane suspended between them. Powered using thrusters on each ski. Figure 9 Crane with cutout to allow good COM, powered by thrusters. Figure 10 Large robot with two cranes for hands and powered by human in the head area. Figure 11 Sea plane with a retractable boom crane and skis to help stabilize when in the water. Figure 12 Platform with legs for stability, crane able to rotate 360 degrees. Figure 13 Telescopic crane with magnet, powered by thrusters. Ballast tanks filled to hit sea bed and stable with legs. Figure 14 Circular base with runners to help land, powered by a heli blade with the crane situated directly under the blade. Figure 15 Platform with cutout in middle, crane situated above platform. Moved via a tug boat and held stable by anchors.
  • 3. 3 2 CRITICAL ANALYSIS OF TOP THREE DESIGNS 2.1 Constraints To ensure the top three designs were suitably chosen, a number of constraints were determined by the brainstorming team. These were:  Must be mobile  Able to lift 4 tonnes  Stable in rough water  Corrosion resistant  Economically viable  Capable of precision placement  Able to operate in water with a depth of up to 7metres. 2.2 Design Number One Chosen because of the simplicity and ability to meet constraints given in section 2.1. The design is based on a square platform with 4 individually extendable legs which are inclined at a small angle to aid in stability. Crane is centred and can rotate about 360 degrees. Because of the square base, the platform can be used for storage and/or living space. The crane can be self propelled or tugged depending on speed of movement required. This design is shown in figure 16. Advantages  Very stable thanks to four strong legs  Highly manoeuvrable crane which can rotate 360 degrees  Has a lot of storage on board and could have living quarters  Especially useful when used in long term situations as will not move  Can alter each leg height individually to allow for any difference in depth of the sea bed Disadvantages  Requires jacked up before it can be put into operation  Has a high centre of gravity so may be unstable when being moved  Will not work straight away so not as effective for short term work 2.3 Design Number Two Chosen because extremely stable and has high precision. Gantry is placed on rails to increase precision. Because of the design requiring full support of the crane, the surrounding area can be used for storage or living quarters. Unfortunately this design Figure 16 First chosen design.
  • 4. 4 is unable to self propel so a tugboat would be necessary for operation. This design is shown in figure 17. Advantages  Very stable when in use  Quick to set up so would be useful for short term applications  Very high precision when placing due to multidirectional crane  Lots of storage space for parts or living quarters Disadvantages  Unable to pick up items unless placed inside the crane operation area  Must be tugged when in use so could disrupt other marine transport/wildlife  Unable to lift very tall objects such as wind turbines 2.4 Design Number Three Chosen because very well placed centre of gravity and large amount of storage area. The crane operates by self propulsion and places objects using the cut out area and the crane above this. The crane has no solid supports so relies on its centre of mass to provide stability when in operation. The area behind the crane can be used for storage or for living quarters. Advantages  Has a very stable centre of mass  Manoeuvrable and self propelled  Able to operate at a large range of depths Disadvantages  Crane can only operate in small cut out area  May not be stable in rough water due to lack of solid supports 3 CHOSEN DESIGN After consideration and reference to the constraints decided by the brainstorming team, the design which was individually deemed to be most suitable is design number 2. After selecting the design, a few improvements were implemented and are demonstrated in figure 19 and 20. Figure 20 also shows the impact that a load on the gantry will have: Figure 17 Second chosen design. Figure 18 Third chosen design.
  • 5. 5  Rails extended to either end of boat to ensure maximum accuracy of placement and to allow objects to be placed in storage area.  One side of platform opened to ease collection of loads.  Crane claw fitted with a quick release system to aid in fast changing of the lifting tool.  Gantry system modified to be telescopic to be capable of dealing with taller units or when the water level is very low. Achieved via 2 hydraulic rams which determine the extension and an expandable and lockable frame.  Retractable legs added replacing anchors and provide a stronger base support. Legs can be brought all the way in when tugged and also moved individually for better stability on uneven ground. After some research into the area of offshore renewable installations, it was discovered that the main use of the crane will be for generators and perhaps micro containers, allowing the size of the crane to be calculated. A micro container when loaded has a mas of 4000kg and dimensions of approximately 2m x 2m x 3m. A generator with a mass of 4000kg was found to be of a similar size.1,2 From this information the dimensions of the platform and gantry are as shown in figure 21. All dimensions are in metres. When considering the buoyancy aspect of the platform, a simple approach was taken. The volume of the total base was calculated to give the upward force given by the water. The value obtained was roughly 6million Newtons. The material selection would need to ensure the total downward force of the unit is not more than this buoyancy value. Materials such as Airtex® provide a large buoyancy force at a low mass however may not be strong enough to support the gantry.3 Stainless steel is resistant to the corrosion of the sea water but is very heavy. 4 GROUP EFFECTIVENESS The group members were: Tommy Reynolds, David Hughes, Sherif Hennawy, Callum Girdwood, Russel Bowring, Max Abbott and Elliot Hunter. When the group first met, the initial idea of brainstorming quickly and accidentally transferred to a morphological analysis. This was due to a lack of understanding between the group and also a lack of leadership. After receiving feedback explaining Figure 20 3D drawing of the base, legs and gantry. FEA analysis on gantry. Figure 19 Side view of telescopic gantry with rams to aid extension. Figure 21 Dimensions of base of crane (m)
  • 6. 6 the error, another meeting was held. This time the facilitator was decided as Tommy Reynolds and it was ensured that a brainstorming session was followed. After some team research of the various available methods, brainsketching was chosen. This involved each team member drawing an individual basic sketch and then passing each on to next member who added any changes/improvements they could think of. This was repeated 4 times and then all ideas were collected. All ideas were treated with full respect and some interesting concepts were brought up. Although some ideas may have been considered inappropriate, certain ideas within these were of use. Part 2: MATLAB 1 DESIGN CONSTRAINTS AND SAMPLE OUTPUT Design Constraints given in brief4:  retracted ram length = 1.2m  extended ram length = 2.2m  load = 4 tonnes  boom length (OC) = 4m  Θmin= -20°, Θmax= 80°  angle BOC = 20° The increments used for phi were 5 degrees and for theta a linspace was used such that there was 50 increments between the minimum and maximum value input. The values a, b, ram force and theta are rounded to 3 significant figures. When the program was run using the initial design constraints given in the brief, the output shown in figure 23 was attained. The program allows for the user to change all inputs and also gives the user the option to display different graphs at varying phi values. Figure 22 Crane being optimized. Figure 23 Sample output from crane optimization code. Figure 23 Sample output from MATLAB program.
  • 7. 7 2 FLOWCHART CONCLUSION Part 1: Crane Brainstorming The brainstorming session resulted in 25 ideas, 15 shown. The three top designs were chosen by the brainstorming team and an optimum design was individually selected, analysed, and drawn. This design was improved and simple calculations observed. The group effectiveness was deemed to be poor at first but a re-meet provided a significant improvement. Part 2: MATLAB The output from the script was found and a GUI was implemented to offer a simple method of changing the values given in the brief. A flowchart demonstrated the algorithm used and a sample output was given. Figure 24. Flowchart of the algorithm used to calculate the optimized crane design.
  • 8. 8 REFERENCES 1. TLS Offshore Containers. (Unknown). Offshore Mini Container.Available: http://www.tls-containers.com/mini-container.html. Last accessed 08/11/2014. 2. IKM Gruppen. (Unknown). Stream Generators. Available: http://www.ikm.com/rental/subsea-/-completion-/-commissioning/equipment- catalogue/water--/-chemical-circulation/steam-generators/bb886da5-76ca- 480e-8c46-9b835058da95. Last accessed 08/11/2014. 3. Airex AG. (2014). Always on the right course with lightweight composites. Available: http://www.3accorematerials.com/market- solutions/marine.html. Last accessed 07/11/2014.University of Edinburgh. 4. John Chick. (30/09/2014) Brainstorming and MATLAB Assignment: Tidal Stream Crane Design. Last Accessed 01/11/2014. APPENDIX 1. Equations used for buoyancy force calculation 𝑉𝑏𝑎𝑠𝑒 = (𝑇𝑜𝑡𝑎𝑙 𝐴𝑟𝑒𝑎 − 𝐶𝑢𝑡𝑜𝑢𝑡 𝐴𝑟𝑒𝑎) × 𝐷𝑒𝑝𝑡ℎ (1) Assume that half of the boat will be submerged: 𝑉𝑑𝑖𝑠𝑝𝑙𝑎𝑐𝑒𝑑 = 𝑉 𝑏𝑎𝑠𝑒 2 (2) 𝐹𝑏𝑢𝑜𝑦𝑎𝑛𝑐𝑦 = 𝜌 𝑤𝑎𝑡𝑒𝑟 × 𝑔 × 𝑉𝑑𝑖𝑠𝑝𝑙𝑎𝑐𝑒𝑑 (3) 2. Additional initial concepts Figure 25 Rounded rectangular base with ballast tank and rotatable crane. Figure 26 Rounded rectangular base with cutout and ballast tank. Crane operates in cut out area.
  • 9. 9 3. MATLAB Script % --- Executes just before craneGUI is made visible. function craneGUI_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to craneGUI (see VARARGIN) % Choose default command line output for craneGUI handles.output = hObject; % Update handles structure guidata(hObject, handles); %show diagram of crane in the axes number 5 axes(handles.axes5) imshow('Crane2.jpg') %show startup picture in axis 4 axes(handles.axes4) imshow('startup.jpg') Figure 27 Rounded square base anchors for support and a rotating crane. Figure 28 Rounded rectangular base with rotating crane and legs for support. Figure 29 Circular base with hole in middle for crane operation, tugged. Legs for stability when in operation.
  • 10. 10 %START % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %retrieve user input for maximum ram extension rmax = str2double(get(handles.rmax_enter, 'String')); %retrieve user input for minimum ram extension rmin = str2double(get(handles.rmin_enter,'String')); %retrieve user input for maximum theta value thetamax = str2double(get(handles.maxtheta_input, 'String')); %retrieve user input for minimum theta value thetamin = str2double(get(handles.mintheta_enter, 'String')); %retrieve user input for load applied on boom Load = str2double(get(handles.Load_enter, 'String')); %calculate force on boom by multiplying load by gravity W = (Load * 9.8); %retreive user input for length of boom L = str2double(get(handles.Boomlength_enter, 'String')); %retrieve user input for angle BOC BOC = str2double(get(handles.BOC_enter, 'String')); %CHECK INPUTS ARE WITHIN SENSIBLE CONSTRAINTS %check rmin is more than 0 and if not display error message if rmin < 0 || rmax < 0 errordlg('Value entered for rmin or rmax is below zero, please enter a number above 0.') return end %check rmax is more than rmin and if not display error message if rmax<=rmin errordlg('rmax entered value is smaller than or equal to rmin entered value. Please try again.') return end %check thetamax is more than thetamin and if not display error message if thetamax<=thetamin errordlg('thetamax entered value is smaller than or equal to thetamin entered value. Please try again.')
  • 11. 11 return end %ensure boom length is entered as a positive number, if not display error message if L <= 0 errordlg('Value entered for boom length is below or equal to zero, please enter a number above 0') return end %check load applied is more than 0 and if not display error message if W <= 0 errordlg('Value entered for applied load is below or equal to zero, please enter a number above 0') return end %CHECK FOR COMPLEX NUMBERS %set variable tf to 1 to allow while loop to have this as initial value tf = 1; %set 0 for phi to allow increments in the while loop phi = 0; %as long as tf is equal to 1 while tf == 1 % calculate gamma using initial value of 0 for phi and increments after each loop %gamma is angle phi plus angle BOC which is 20 degrees in this case gamma = phi+BOC; %c2 found using cosine rule c2 = ((rmax).^2 - (rmin).^2)./(cosd(gamma+thetamin)- cosd(gamma+thetamax)); %c1 found using cosine rule c1 = (rmax).^2 + c2*cosd(gamma+thetamax); %calculate a using c1 and c2 a = ((c1+c2).^.5+(c1-c2).^.5)/2; %if a is real then tf will stay 1, if not will become 0 tf = isreal(a); %if tf = 0 (a not real) then the maximum phi value will be assigned to %the most recent value at which it was real. if tf == 0; %find max phi value before goes complex phimax = phi - (5); end %add increments of phi using linspace divider(can be altered for %varying levels of accuracy) phi = phi + (5); end %define variable phiarray to allow for calculation at each phi increment phiarray = (0:5:phimax); %define variable thetaarray for calculation at each theta increment thetaarray = linspace(thetamin,thetamax,100);
  • 12. 12 %set counter n = 0 n = 0; %calculate each output for each value of phi for phi = phiarray; %add 1 to the counter each time the loop is completed n = n+1; %calculate gamma value using each increment of phi and defined angle BOC gamma = phi+BOC; %calculate c2 using values input by user c2 = ((rmax).^2 - (rmin).^2)./(cosd(gamma+thetamin)- cosd(gamma+thetamax)); %calculate c1 using values input by user and previous calculations c1 = (rmax).^2 + c2*cosd(gamma+thetamax); %calculate a using values obtained from c1 and c2 a = ((c1+c2).^.5+(c1-c2).^.5)/2; %calculate b using values for a and c2 b = c2./(2*a); %initialise fmax Fmax = 0; %start loop testing all values of theta between thetamin and thetamax for theta = thetaarray; %calculate the ram length r = (c1 - c2*cosd(gamma+theta)).^.5; %calculate the force on the ram F = (r * W * L * cosd(theta))./(b*a*sind(gamma+theta)); %if the F value calculated is larger than the original F value then %set newest F to F max. if F > Fmax; Fmax = F; %set new theta variable to the theta value if F>Fmax theta_Fmax = theta; end end %create Fmax values for each n value and save in matrix k k (n) = Fmax; %create theta values for each n value and save in matrix l l (n) = theta_Fmax; end %find minimum Fmax value [~, loc] = min(k); %use the location of the minimum Fmax to find optimum phi value optimum_phi = phiarray(loc); %use location again to find the optimum theta value optimum_theta = l(loc); %use the location to set the minimum peak force to variable F_max F_max = k(loc); %CALCULATE THE OPTIMUM VALUES FOR OA AND OB USING OPTIMUM PHI %find optimum gamma using the optimum phi found above optimum_gamma = optimum_phi+BOC; %find optimum c2 using optimum gamma value optimum_c2 = ((rmax).^2 - (rmin).^2)./(cosd(optimum_gamma+thetamin)- cosd(optimum_gamma+thetamax));
  • 13. 13 %find optimum c2 found using the optimum gamma value optimum_c1 = (rmax).^2 + optimum_c2*cosd(optimum_gamma+thetamax); %find optimum a using the optimum values calculated for c1 and c2 optimum_a = ((optimum_c1+optimum_c2).^.5+(optimum_c1-optimum_c2).^.5)/2 ; %find optimum b using the optimum values obtained for c2 and a optimum_b = optimum_c2./(2*optimum_a); %FIND VALUES OF F FOR GRAPH AGAINST THETA %initialise variable y y = 0; %set up loop to find values of F at each theta at the optimum value of phi %tell loop to go from 1 to the length of array thetaarray for graphloop = 1:length(thetaarray) %set new variable equal to each individual step of the loop theta_graph = thetaarray(graphloop); %add 1 on to y each loop iteration y = y + 1; %calculate optimum r value using other values obtained r_graph = (optimum_c1 - optimum_c2.*cosd(optimum_gamma+theta_graph)).^.5; %calculate peak force value and save each value in matrix y F_graph (y) = (r_graph .* W .* L .* cosd(theta_graph))./(optimum_b.*optimum_a.*sind(optimum_gamma+theta_graph)) ; end %plot graph of theta against ram force in axes 4 axes(handles.axes4); plot(thetaarray, F_graph); %set title of graph title('Graph of Theta Against Ram Force') %set x axis title xlabel('Theta (degrees)') %set y axis title ylabel('Ram force (N)') %put optimum phi value into the edit text box for phi set(handles.phi_enter, 'String', sprintf('%.3g', optimum_phi)); %set GUI output boxes to display the necessary variable %retreive optimum a value and round to 3 significant figures and show units set(handles.aopt, 'String',sprintf('%.3g m', optimum_a)); %retreive optimum b value and round to 3 significant figures and show units set(handles.bopt, 'String',sprintf('%.3g m', optimum_b)); %retreive optimum phi value and round to 3 significant figures and show units set(handles.phiopt, 'String',sprintf('%.3g degrees', optimum_phi)); %retreive optimum theta value and round to 3 significant figures and show units set(handles.thetaopt, 'String',sprintf('%.3g degrees', optimum_theta)); %retreive optimum peak force value and round to 3 significant figures and show units set(handles.Fmax, 'String',sprintf('%.3g N', F_max)); %show diagram of crane in the axes number 5
  • 14. 14 axes(handles.axes5) imshow('Crane2.jpg') % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %get user input for all values again to use in second pushbutton thetamax = str2double(get(handles.maxtheta_input, 'String')); thetamin = str2double(get(handles.mintheta_enter, 'String')); rmax = str2double(get(handles.rmax_enter, 'String')); rmin = str2double(get(handles.rmin_enter,'String')); Load = str2double(get(handles.Load_enter, 'String')); W = (Load * 9.8); L = str2double(get(handles.Boomlength_enter, 'String')); BOC = str2double(get(handles.BOC_enter, 'String')); guiphi = str2double(get(handles.phi_enter, 'String')); guigamma = guiphi + BOC; %set value for thetaarray as before for use in this pushbutton thetaarray = linspace(thetamin,thetamax,100); %find optimum c2 using optimum gamma value optimum_c2 = ((rmax).^2 - (rmin).^2)./(cosd(guigamma+thetamin)- cosd(guigamma+thetamax)); %find optimum c2 found using the optimum gamma value optimum_c1 = (rmax).^2 + optimum_c2*cosd(guigamma+thetamax); %find optimum a using the optimum values calculated for c1 and c2 optimum_a = ((optimum_c1+optimum_c2).^.5+(optimum_c1-optimum_c2).^.5)/2 ; %find optimum b using the optimum values obtained for c2 and a optimum_b = optimum_c2./(2*optimum_a); %initialise variable o o = 0; %retrieve value entered into the phi edit text box guiphi = str2double(get(handles.phi_enter, 'String')); %calculate the new gamma value using the entered phi and the entered angle %BOC guigamma = guiphi + BOC; %find values for F at new value of phi input by user %set loop to go from 1 to the length of the array thetaarray for phigraph = 1:length(thetaarray) thetaphi = thetaarray(phigraph); %calculate r using new value r_phigraph = (optimum_c1 - optimum_c2.*cosd(guigamma+thetaphi)).^.5; %add 1 to the counter each time loop is completed o = o + 1; %calculate new F and save value in matrix o F_phigraph (o) = (r_phigraph .* W .* L .* cosd(thetaphi))./(optimum_b.*optimum_a.*sind(guigamma+thetaphi)); end %plot graph in axis 4 axes(handles.axes4); %plot graph of theta against ram force plot(thetaarray,F_phigraph); %set title of graph
  • 15. 15 title('Graph of Theta Against Ram Force') %set title of x axis xlabel('Theta (degrees)') %set title of y axis ylabel('Ram force (N)')