### 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!!