(5/5)

Introduction

This laboratory exercise uses a motor-driven experimental apparatus that models a gantry crane system consisting of a motor-driven cart on a linear track, with a pendulum attached to the cart. This system models a motorized gantry crane in the non-inverted pendulum (“hanging down”) configuration. The gantry configuration is the subject of the prelab assignment, but we will test the inverted pendulum (“pointing up”) configuration in the practical lab session.

Check out [https://youtu.be/6vcspvfhLgk] for an overview of the difficulties in controlling a heavy load from a gantry crane and the kind of performance that can be acheived when closed-loop control is used to modify the system dynamics.

Figure 1: The cart-pendulum lab apparatus, shown in the “inverted pendulum” configuration.

Figure 2: Close-up view of the “cart”, driven by a small DC motor, with a pendulum attached to and carried by the cart. Encoders allow precise measurement of cart position and pendulum angle. The pendulum is shown hanging down in the “gantry” orientation.

Figures 1 and 2 show the lab apparatus. It may be seen in action here: [https://youtu.be/ TLuw9T9IG9g]. The lab apparatus is controlled by Simulink, using a hardware I/O interface, with the controllers running at 1kHz loop rate.

Problem 1 (25 points)

The following lumped-element model of the the apparatus will be used, accounting for resistive- inductive-back-EMF circuit dynamics, second-order cart (translational) dynamics, and second-order pendulum (rotational) dynamics.

Figure 3: Lumped-element model of the cart-pendulum system.

We obtain the following free-body diagrams for the cart and pendulum:

Figure 4: Free-body diagrams of the cart and pendulum.

The equations of motion, in summary, can be found, representing the coupled circuit, cart, and pendulum dynamics (respectively), where the approximation that the motor winding inductance is negligible (i.e. La = 0) has been made:

Raia + C1x˙c = va(t) (1)

M0x¨c + B0x˙c = −J0θ¨p + C0ia (2)

J1θ¨p + Bpθ˙p + Kpθp = −J0x¨c, (3)

where the following intermediate constants have been defined:

N 2 M0 = Mp + Mc + Jm 2

g

N 2 B0 = Bc + Bm 2

g

J = Mp Lp

0 2

N

C0 = Kt

g

J = 1 M L2

1 3 p p

K = M g Lp

p p 2

C = NKB .

1 rg

Note that in deriving these equations of motion, it was necessary to account for the fact that the cart and pendulum are both accelerating, and so coordinate frames attached to them are non- inertial. The numerical values, and names for constants, for the specific lab apparatus are given at the end of this document, and may also be found in the accompanying MATLAB “starter script” called gantry lab.m, found alongside this prelab PDF document.

(a) (15 points) The numerical results for the cart position transfer function Gcart = Xc(s)/Va(s) and cart-position-to-pendulum-angle transfer function Θp(s)/Xc(s) are provided in the MATLAB script gantry lab.m, available on Piazza. Here, derive the analytical expression for Θp(s)/Xc(s) from the above equations of motion. Note that cart position is Xc(s), pendulum angle is Θp(s), and the input is the “applied” voltage, Va(s).

(b) (10 points) Use MATLAB with the gantry lab.m script as a starting point to assess the open-loop stability of the cart system, Xc(s)/Va(s), and the pendulum system, Θp(s)/Va(s). Note, that in forming the latter transfer function from Xc(s)/Va(s) and Θp(s)/Xc(s) (derived in (a) and given numerically in the script), MATLAB may not perform some pole-zero cancellations due to small numerical errors. In general, when you multiply or divide transfer functions in MATLAB, or use the feedback() command, your resulting TF may have extra poles or zeros with anomalously small or large coefficients. Use the minreal() (“minimum realization”) command to force pole-zero cancellations that may not happen naturally due to the finite numerical precision of floating point numbers. Check the poles and zeros and perform any needed cancellations to find the poles of the Θp(s)/Va(s) system. If you find that the cart system appears to have an extra pole at s = 0, note that the cart velocity dynamics are third order, which are then integrated (multiply by 1/s) to give the cart position dynamics.

(5/5)

CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,

Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This

7COM1028 Secure Systems Programming Referral Coursework: Secure

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme