Virginia Tech
Blacksburg, Virginia 24060 540.231.7385
E-mail: scsouth@vt.edu
October 31, 2019
ME 5554 / AOE 5754 / ECE 5754 Students
Dr. Steve Southward
Phase I Development Program (i.e. your Midterm Project)
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-AUV’s 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.
Date: To: From: Subject:
Background
where:
Figure 1. Standard coordinate system nomenclature for AUV’s.
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
An equal opportunity, affirmative action employer
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)
𝑦 iscalledthe“Sway”direction(notusingforthisproject) (
𝑧( 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 Newton’s second law:
3(𝐹𝑜𝑟𝑐𝑒𝑠 𝑖𝑛 𝑡h𝑒 𝑥( 𝑑𝑖𝑟𝑒𝑐𝑡𝑖𝑜𝑛) = 𝑚𝑢̇ (𝑡) = 𝑋@AB (𝑡) 3(𝐹𝑜𝑟𝑐𝑒𝑠 𝑖𝑛 𝑡h𝑒 𝑧( 𝑑𝑖𝑟𝑒𝑐𝑡𝑖𝑜𝑛) = 𝑚𝑤̇ (𝑡) = 𝑍@AB(𝑡) 3(𝑀𝑜𝑚𝑒𝑛𝑡𝑠 𝑎𝑟𝑜𝑢𝑛𝑑 𝑡h𝑒 𝑦 𝑎𝑥𝑖𝑠) = 𝐼 𝑞̇ (𝑡) = 𝑀 (𝑡)
( G @AB where: 𝑚 is the mass of the AUV (kg)
𝐼 is the mass moment of inertia about the 𝑦 G(
The linearized external forces and moments are given by:
axis (kg•m2)
𝑋 @ A B ( 𝑡 ) = − 𝑋 İ 𝑢̇ ( 𝑡 ) − 𝑋 I 𝑢 ( 𝑡 ) + 𝑋 K ( 𝑡 )
𝑍 @ A B ( 𝑡 ) = − 𝑍 L̇ 𝑤̇ ( 𝑡 ) − 𝑍 L 𝑤 ( 𝑡 ) − 𝑍 M ̇ 𝑞 ̇ ( 𝑡 ) − 𝑍 M 𝑞 ( 𝑡 ) + 𝑍 N ( 𝑡 ) + 𝑍 O ( 𝑡 ) 𝑀@AB(𝑡) = −𝑀Ṁ 𝑞̇(𝑡) − 𝑀M𝑞(𝑡) − 𝑀L̇ 𝑤̇ (𝑡) − 𝑀L𝑤(𝑡) − 𝑥N𝑍N(𝑡) − 𝑥O𝑍O(𝑡)
VIRGINIA TECH
An equal opportunity, affirmative action employer
(
where:
𝑋İ isthe𝑥(-direction“addedmass”fromacceleratingwater(kg)
𝑋I is the 𝑥(-direction hydrodynamic “drag” coefficient (N•s/m)
𝑍L̇ is the 𝑧(-direction “added mass” from accelerating water (kg)
𝑍L is the 𝑧(-direction hydrodynamic “drag” coefficient (N•s/m)
𝑍Ṁ is the 𝑧(-direction “added mass” caused by rotation (kg•m)
𝑍M is the 𝑧(-direction hydrodynamic drag caused by rotation (kg•m/s) 𝑀 is the “added rotational inertia” about the 𝑦 -axis (kg•m2)
Ṁ (
𝑀 is the moment “drag” coefficient about the 𝑦 -axis (N•m•s) M(
𝑀 is the “added rotational inertia” about the 𝑦 -axis (kg•m) L̇ (
𝑀 is the moment “drag” coefficient about the 𝑦 -axis (N•s) L(
𝑥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
An equal opportunity, affirmative action employer
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 Matlab 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 (kg•m/s)
𝐿 = 25 (m) 𝑀Ṁ = V W Z𝐼G (kg•m2) W\2 XY
𝐼G = V[YYZ𝑚𝐿 (kg•m ) 𝑋İ =VWZ𝑚(kg)
𝑀M = 1.1𝑒3 (N•m•s) 𝑀L̇=VWZ𝐼G(kg•m)
[Y
𝑋I = 94 (N•s/m)
_Y
𝑀L = 320 (N•s)
𝑍L̇ =VWZ𝑚(kg)
WY [
𝑥N = aVWZ𝐿 (m) 𝑥O = VWZ𝐿 (m)
𝑍L = 4.7𝑒2 (N•s/m) 𝑍Ṁ =VWZ𝑚 (kg•m)
[
𝑈deA = 3𝑒6 (N)
XY
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-loop 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 ratios for each eigenvalue. Tabulate and display your results using the Matlab TABLE function.
VIRGINIA TECH
An equal opportunity, affirmative action employer
Problem 7. [10 pts.] Define an initial condition vector using the following initial values:
𝑥(0) = 50 𝑧(0) = 350 𝜃(0) = 45∘
𝑢(0) = 100 𝑤(0) = −300
𝑞(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
An equal opportunity, affirmative action employer
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!!
VIRGINIA TECH
An equal opportunity, affirmative action employer