Development Program
matlab代写 | report代写 | 代写oop | project | math代写 | ME代做| 代做lab – 该题目是一个常规的MATLAB的练习题目代写, 是比较典型的matlab代写
To: ME 5554 / AOE 5754 / ECE 5754 Students
Subject: Phase I Development Program (i.e. your Midterm Project)
Background
Kraken Robotics, located in Newfoundland Canada, has developed a family of Hovering
Autonomous Underwater Vehicles (H-AUV) known as ThunderFish
(https://krakenrobotics.com/products/thunderfish/). These H-AUVs are equipped with
revolutionary Synthetic Aperture Sonar (SAS) systems that enable high-resolution
seabed imaging. Your Objective for this project is to design a state-feedback control
system that can control the H-AUV depth and longitudinal position. To do this, we must
first develop LTI equations of motion.
Equations of Motion
Figure 1 indicates the conventional coordinate system nomenclature defined by:
DTNSRDC Revised Standard Submarine Equations of Motion , J. Feldman, 1979.
Figure 1. Standard coordinate system nomenclature for AUVs.
where: O is the origin of the Earth-fixed (absolute) coordinate system
is the roll angle about the -axis (not using for this project)
is the pitch angle about the -axis (rad)
is the yaw angle about the -axis (not using for this project)
is the position in the -direction (m)
is the position in the -direction (not using for this project)
is the position in the -direction (m)
VIRGINIA TECH
and: o is the origin of the AUV body-fixed (local) coordinate system, which is
located at the center of mass
is the roll angle rate about the
(
- axis (not using for this project)
is the pitch angle rate about the
(
- axis (rad/s)
is the yaw angle rate about the
(
- axis (not using for this project)
(
is called the Surge direction (m)
(
is called the Sway direction (not using for this project)
(
is called the Heave direction (m)
is the velocity in the
(
- direction (m/s)
is the velocity in the
(
- direction (not using for this project)
is the velocity in the
(
- direction (m/s)
For this project, we are only interested in pitch (q), heave ( z ), and surge ( x ) motions.
This model is commonly referred to as a pitch-axis model. The linearized mapping
between the AUV-fixed coordinates and the world coordinates are given by:
(
)
=
(
)
(
)
=
(
)
(
)
=
(
)
The following assumptions have been used to simplify the model:
- The AUV is neutrally buoyant, i.e. its weight is equal to its buoyancy
- The AUV-fixed coordinate system is located at the AUV center of mass
- The center of mass is at the same point as the center of buoyancy
- The pitch angle is relatively small
The linearized dynamic equations of motion are obtained from Newtons second law:
3 (
(
)=()=
@AB
()
3 (
(
)=()=
@AB
()
3
(
(
)
=
G
(
)
=
@AB
(
)
where: is the mass of the AUV (kg)
G
is the mass moment of inertia about the
(
axis (kgm
2
)
The linearized external forces and moments are given by:
@AB
(
)
=
I
(
)
I
(
)
+
K
(
)
@AB
(
)
=
L
(
)
L
(
)
M
(
)
M
(
)
+
N
(
)
+
O
(
)
@AB
(
)
=
M
(
)
M
(
)
L
(
)
L
(
)
N
N
(
)
O
O
(
)
VIRGINIA TECH
where:
I
is the
(
- direction added mass from accelerating water (kg)
I
is the
(
- direction hydrodynamic drag coefficient (Ns/m)
L
is the
(
- direction added mass from accelerating water (kg)
L
is the
(
- direction hydrodynamic drag coefficient (Ns/m)
M
is the
(
- direction added mass caused by rotation (kgm)
M
is the
(
- direction hydrodynamic drag caused by rotation (kgm/s)
M
is the added rotational inertia about the
(
- axis (kgm
2
)
M
is the moment drag coefficient about the
(
- axis (Nms)
L
is the added rotational inertia about the
(
- axis (kgm)
L
is the moment drag coefficient about the
(
- axis (Ns)
N
is the position of the stern (rear) control surface in the
(
- direction (m)
O
is the position of the bow (front) control surface in the
(
- direction (m)
and the external control inputs are:
K
is the thrust in the
(
- direction (N)
N
is the stern thrust in the
(
- direction (N)
O
is the bow thrust in the
(
- direction (N)
The pitch angle , the depth z , and the position x are directly measured with sensors to
represent the outputs of the model.
VIRGINIA TECH
Problem 1. [ 10 pts.] Derive a complete state-space model for the AUV, including a
state equation and an output equation. Hint: The MathWorks LiveScript feature has a
built-in equation-editor which is very easy to use (simpler than LaTeX), and allows you
to embed formatted equations directly in your mat lab script.
Problem 2. [ 2 pts.] Using the numerical values and formulas listed below, compute
the following parameters at the top of your Matlab script.
= 500 (kg)
M
= 9. 5 2 (kgm/s)
= 25 (m)
M
=V
W
XY
Z
G
(kgm
2
)
G
=V
W
[YY
Z
\
(kgm
2
)
M
= 1. 1 3 (Nms)
I
=V
W
[Y
Z (kg)
L
=V
W
_Y
Z
G
(kgm)
I
= 94 (Ns/m)
L
= 320 (Ns)
L
=V
W
WY
Z (kg)
N
=aV
W
[
Z (m)
L
= 4. 7 2 (Ns/m)
O
=V
W
[
Z (m)
M
=V
W
XY
Z (kgm)
deA
= 3 6 (N)
where:
|
K
|
deA
|
N
|
deA
|
O
|
deA
Problem 3. [ 10 pts.] Use the variables defined in Problem 2 to construct the A , B , C ,
and D matrices for your linear state-space model, then use these matrices to generate
an LTI object called ol_sys. You are NOT allowed to directly substitute numerical values
for the parameters above into your matrices!
You must also define short descriptive names for each of the states, inputs, and outputs
and embed these names in the LTI state-space model object using the SET command.
Problem 4. [ 2 pts.] Apply the MINREAL function in Matlab to your LTI object from
Problem 3 to determine whether your state-space model is a minimum realization.
Explain your results.
Problem 5. [ 10 pts.] Show that the open-l oop system is Completely Controllable using
all of the control inputs. Determine (and clearly document) whether any subsets of
control inputs results in a Completely Controllable system. Justify your results.
Problem 6. [ 6 pts.] Compute the open loop poles, the natural frequencies with units of
Hz, and the damping rat ios for each eigenvalue. Tabulate and display your results
using the Matlab TABLE function.
VIRGINIA TECH
Problem 7. [ 10 pts.] Define an initial condition vector using the following initial values:
(
0
)
= 50
(
0
)
= 100
(
0
)
= 350
(
0
)
= 300
(
0
)
= 45
(
0
)
= 0
Use the INITIAL function in Matlab to simulate the initial value response of the open-
loop system. Using the output data from this simulation with the LSIMINFO function,
estimate and display the 5% settling times for each of the open-loop response outputs.
Plot the open-loop response outputs on a single figure. You may combine signals with
the same units on the same axes, but if signals have different units, they must be in a
separate axes. Properly annotate your figure with axis labels, grid lines, and a legend.
Place a marker on each output curve at the time corresponding to the 5% settling time.
Problem 8. [ 15 pts.] Design a full-state feedback controller that meets the following
performance requirements when the closed-loop system is simulated using the same
initial condition vector that was used in Problem 7:
- Each control signal must be bounded by the limit specified in Problem 2
- The AUV must completely enter the tunnel without contacting the barrier
- Minimize the time it takes to enter the tunnel
VIRGINIA TECH
The Matlab function animate_auv.p is provided for you to generate the plot above
using output data from your simulation. To use this function, you must provide the x(t),
z(t), and theta(t) data, where x and z are in meters, and theta is in radians. You can
also input an optional Boolean value (savemovie) to save the animation to a .mpg file.
animate_auv(t,x,z,theta,savemovie)
Document a minimum of five design iterations that demonstrate that you attempted to
achieve the requirements. Your documented design iterations must show sufficient
improvement and must clearly indicate that you made an earnest attempt to meet the
requirements.
Your documentation for each iteration should at least include:
- The desired closed-loop poles you chose
- An indication of whether you meet the requirement for entering the tunnel without
contact
- An indication of whether you meet the requirement for control signal saturation
- 5% settling times for each of the outputs
Final Design Plot. [ 5 pts.] For your FINAL closed-loop design ONLY, plot a single
figure window with three axes (3 rows and 1 column). The topmost axes should include
the two position outputs, the middle axes should be the pitch angle, and the bottom
axes should include both control signals. Properly annotate each axes with clearly
defined axis labels, grid lines, and legends.
Place a marker on each output curve at the time corresponding to the 5% settling time.
Submission Rules:
- You MUST use the Matlab LiveScript feature to generate your Midterm Project
results. This will serve as a formatted report that includes your Matlab code, any
outputs to the command window, and any plots you generate.
- You MUST submit both the .mlx (LiveScript) file as well as a PDF version of your
LiveScript output.
- You MUST use the Output Inline option in LiveScript. You CANNOT use the
Output on Right option which places plots on the right-hand side of the page
and the code on the left-hand side.
- You MUST insure that the plots you generate are sufficiently large that the PDF
displays them at a publication-quality size (i.e. preferably with a width that is
close to the margin-to-margin edges).
- You MUST NOT display long columns of output data in your LiveScript!!