13 views

Uploaded by Raaj Lava

- Automation 1
- 2 DOF Ball Balancer - Workbook (Instructor)
- Modern Control Engineering 5e - Katsuhiko Ogata (1)
- Liquid Level
- MELJUN CORTES EENG03 Control System
- 1-s2.0-S0167691101001426-main
- Linear Systems Analysis
- Train System
- Homework 1 Chapter 1
- Ee09 l07 Digital Control System Model Qp
- design project
- Compensation in Control System _ Lag Lead Compensation _ Electrical4u
- Automation and control lecture
- Makale1 (2).pdf
- MECH466_L4_ModelElecMech
- Transfer Function
- ME PhD Qual MControl Sample1
- 12270 - Control System.pdf
- First Five Pages of Compilation in ECE 006
- M2_FRISNEDI_29

You are on page 1of 32

Workbook

2DBB

Instructor Version

Quanser Inc.

2013

© 2013 Quanser Inc., All rights reserved.

Quanser Inc.

119 Spy Court

Markham, Ontario

L3R 5H6

Canada

info@quanser.com

Phone: 1-905-940-3575

Fax: 1-905-940-3576

For more information on the solutions Quanser Inc. offers, please visit the web site at:

http://www.quanser.com

This document and the software described in it are provided subject to a license agreement. Neither the software nor this document may be

used or copied except as specified under the terms of that license agreement. All rights are reserved and no part may be reproduced, stored in

a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior

written permission of Quanser Inc.

ACKNOWLEDGEMENTS

Quanser, Inc. would like to thank Dr. Hakan Gurocak, Washington State University Vancouver, USA, for his help to include embedded out-

comes assessment.

CONTENTS

1 Introduction 4

2 Modeling 5

2.1 Background 5

2.2 Pre-Lab Exercises 9

3 Sensor Calibration 10

3.1 Background 10

3.2 Pre-Lab Exercises 11

3.3 Lab Experiments 12

3.4 Results 15

4 Control Design 16

4.1 Specifications 16

4.2 Background 16

4.3 Pre-Lab Questions 18

4.4 Lab Experiments 20

4.5 Results 25

5 System Requirements 26

5.1 Overview of Files 27

5.2 Setup for Camera Calibration 28

5.3 Setup for Control Simulation 28

5.4 Setup for Control Implementation 29

A Instructor's Guide 30

1 INTRODUCTION

The challenge 2 DOF Ball Balancer experiment, i.e., 2DBB, is to design a PID-based controller that stabilizes the

ball to a desired position on the balance plate. This involves controlling the position of the rotary servos attached to

the bottom of the plate based on the X-Y position of the ball measured by the overhead camera.

Topics Covered

• Obtain a transfer function representation of the system.

• Design a proportional-derivative (PD) control that positions the ball to a desired X-Y position on the plate. The

control is designed according to given specifications.

• Simulate the control on a single-axis 2 DOF Ball Balancer system.

• Implement the control on the actual Quanser 2 DOF Ball Balancer device using QUARCr .

Prerequisites

In order to successfully carry out this laboratory, the user should be familiar with the following:

• Transfer function fundamentals, e.g. obtaining a transfer function from a differential equation.

• Basics of Simulinkr .

• QUARC Integration Laboratory in [5] in order to be familiar using QUARCr with the SRV02.

• Modeling and Position Control Laboratory given in the Rotary Servo Base Unit Workbook ([5]).

2 MODELING

2.1 Background

Since the 2 DOF Ball Balancer uses two Rotary Servo Base Unit (SRV02) devices and the table is symmetrical,

it is assumed that the dynamics of each axis is the same. The 2 DOF Ball Balancer is therefore modeled as two

de-coupled "ball and beam" systems where we assume the angle of the x-axis servo only affects the ball movement

in the x direction. Similarly for the y ball motion. The equation of motion representing the ball's motion along the x

axis relative to the plate angle is developed in Section 2.1.1. The servo angle is introduced into the model in Section

2.1.2 and is then represented as a transfer function in Section 2.1.3.

The free body diagram of the Ball and Beam is illustrated in Figure 2.1. Using this diagram, the equation of motion,

or EOM for short, relating the motion of the ball, x, to the angle of the beam, α, can be found. Based on Newton's

First Law of Motion, the sum of forces acting on the ball along the beam equals

∑

mb ẍ(t) = F = Fx,t − Fx,r (2.1)

where mb is the mass of the ball, x is the ball displacement, Fx,r is the force from the ball's inertia, and Fx,t is the

translational force generated by gravity. Friction and viscous damping are neglected.

Modeling Conventions:

• Applying a positive voltage causes the servo load gear to move in the positive, counter-clockwise (CCW)

direction. This moves the beam upwards and causes the ball to roll in the positive direction (i.e., away from

the servo towards the left). Thus Vm > 0 → θ̇l > 0 → ẋ > 0.

• Ball position is zero, x = 0, when located in the center of the beam.

• Servo angle is zero, θl = 0, when the beam is parallel to the ground, α = 0.

For the ball to be stationary at a certain moment, i.e., be in equilibrium, the force from the ball's momentum must be

equal to the force produced by gravity. As illustrated in Figure 2.1, the force Fx,t in the x direction (along the beam)

that is caused by gravity can be found as:

Fx,t = mb g sin α(t)

τb

Fx,r =

rb

where rb is the radius of the ball and τb is the torque which equals

τb = Jb γ̈b (t)

where γb is the ball angle. Using the sector formula, x(t) = γb (t) rb , we can convert between linear and angular

displacement. Then, the force acting on the ball in the x direction from its momentum becomes:

Jb ẍ(t)

Fx,r = .

rb2

Now, by substituting the rotational and translational forces into Equation 2.1, we can get the nonlinear equation of

motion for the ball and beam as:

Jb ẍ(t)

mb ẍ(t) = mb g sin α(t) − .

rb2

mb g sin α(t) rb2

ẍ(t) = . (2.2)

mb rb2 + Jb

In this section, the equation of motion representing the position of the ball relative to the angle of the servo load

gear is derived. The obtained equation will be nonlinear (includes a trigonometric term). Therefore, it will have to be

linearized to use in control design.

Let's look at how we can find the relationship between the servo load gear angle, θl , and the beam angle, α. Using

the schematic given in Figure 2.1, consider the beam and servo angles required to change the height of the beam

by h. Taking the sine of the beam angle gives the expression

2h

sin α(t) =

Lplate

and taking the sine of the servo load shaft angle results in the equation

h

sin θl (t) = .

rarm

From these we can obtain the following relationship between the beam and servo angle

2 rarm sin θl (t)

sin α(t) = . (2.3)

Lplate

To find the equation of motion that represent the ball's motion with respect to the servo angle θl we need to linearize

the equation of motion about the servo angle θl (t) = 0. Insert the servo and plate angle relationship, Equation 2.3,

into the nonlinear EOM found in 2.2

2 mb g rarm rb2

ẍ(t) = sin θl (t). (2.4)

Lplate (mb rb2 + Jb )

About angle zero, the sine function can be approximated by sin θl (t) ≈ θl (t). Applying this to the nonlinear EOM

gives the linear equation of motion of the ball

2 mb g rarm rb2

ẍ(t) = θl (t). (2.5)

Lplate (mb rb2 + Jb )

2.1.3 Obtaining the Transfer Function

The complete open-loop system of the 2 DOF Ball Balancer is represented by the block diagram shown in Figure

2.2. The Rotary Servo Base Unit (SRV02) transfer function Ps (s) represents the dynamics between the servo input

motor voltage and the resulting load angle. The dynamics between the angle of the servo load gear and the position

of the ball is described by transfer function Pbb (s). This is a decoupled model, e.g., it is assumed the x-axis servo

does not affect the y-axis response.

The block diagram for a single-axis of the 2 DOF Ball Balancer, denoted 1DBB, is shown in Figure 2.3.

This section will describe how to obtain the 1DBB transfer function

where

X(s)

Pbb (s) =

Θl (s)

is the servo angle to ball position transfer function and

Θl (s)

Ps (s) =

Vm (s)

is the voltage to servo angle transfer function.

The SRV02 transfer function models the servo load gear position, θl (t), with respect to the servo input voltage, Vm (t).

Recall that in Modeling Laboratory ([5]), this transfer function was found to be:

K

Ps (s) = . (2.6)

s (τ s + 1)

The nominal model parameters, K and τ , of the SRV02 with no load and in high-gear configuration are:

and

τ = 0.0248 s (2.8)

Note: These parameters are different than the those found in the Modeling Laboratory because it does not include

the inertial disc load.

The servo angle to ball position transfer function, Pbb (s), can be found by taking the Laplace transform of the linear

equation of motion in 2.5 as:

X(s) Kbb

Pbb (s) = = 2 (2.9)

Θl (s) s

As illustrated in Figure 2.3, both systems are in series. By inserting the plate position transfer function, 2.9, and the

voltage-servo transfer function, 2.6, into Equation 2.10, we can derive the complete process transfer function P (s)

as:

X(s) Kbb K

P (s) = = 3 (2.10)

Vm (s) s (τ s + 1)

2.2 Pre-Lab Exercises

1. A-1, A-2, A-3 Find the moment of inertia of a hollow ball with mass, mb , and radius, rb (do not evaluate it

numerically). Apply it to the equation of motion in Equation 2.5 and simplify the expression. If the ball doubled

in size and mass, how would it affect the equation?

Answer 2.1

Outcome Solution

2 2

A-1 The moment of inertia of the hollow ball is Jb = 3 mb r b . Apply this to

Equation 2.5.

A-2 The equation of motion in Equation 2.5 becomes

6 g rarm

ẍ(t) = α(t) (Ans.2.1)

5 Lplate

A-3 The equation of motion would be unchanged. The movement of the ball

in Ans.2.1 does not depend on the its size and mass.

2. A-2 Lump the coefficient parameters of α(t) in Equation 2.5 into parameter Kbb , the model gain for single-

axis 2DBB system. Evaluate the gain given plate length of 27.5 cm and arm radius of 2.54 cm (all parameters

given in the 2 DOF Ball Balancer User Manual [6]).

Answer 2.2

Outcome Solution

A-2 Lumping the parameters of Ans.2.1 into the model gain

6 g rarm

Kbb = (Ans.2.2)

5 Lplate

3 SENSOR CALIBRATION

3.1 Background

The (x, y) position of the ball is measured using the the overhead camera. In 2 DOF Ball Balancer User Manual

([6]), the camera is adjusted such that the plate fits inside its viewing area. The width and height resolutions of the

camera are both set to the same value (i.e., square image) and denoted by the variable res.

As illustrated in Figure 3.1, the raw ball position measurement from the camera along the x-axis and the y-axis on

the [Xc , Yc ] coordinate system is in in pixels and denoted as variables px and py , respectively. For example, if the

camera is set to resolution of 320 by 320 and the ball travels from the bottom-left to the top-left corner of the plate,

then px goes from 0 points to 320. Note that the camera-based axis, Oc , is not intuitive. The y-axis goes horizontal

and the x-axis goes vertical.

Figure 3.1: Position of ball on plate shown in terms of raw pixel camera measurements

3.2 Pre-Lab Exercises

1. A-1 The ball is to be controlled relative to the coordinate axis [Xb , Yb ] in metric units. Find functions x =

f (px , py ) and y = f (px , py ) that describe the position of the ball relative to the ball position coordinate system

[Xb , Yb ] from the raw camera point measurement px and py (which are based on the camera coordinate system

[Xc , Yc ]).

Answer 3.1

Outcome Solution

A-1 From Figure 3.1, the x and y ball positions can be expressed as

( )

py 1

x = Ltbl −

res 2

and ( )

px 1

y = Ltbl − .

res 2

Notice that the x and y axes of the camera-based coordinate system,

Oc , and the ball-based coordinate system, Ob , are reverse.

2. A-2 In 2 DOF Ball Balancer User Manual ([6]), the image viewed by the camera has to be customized in

order to view the entire plate. Assume the camera has been setup with a resolution of 440 pixels (i.e., width

and height of image is 440). Calculate the position of the ball if the camera reads px = 160 and py = 220.

Answer 3.2

Outcome Solution

A-2 The table length given in 2 DOF Ball Balancer User Manual is Ltbl =

0.275 meter. Using this and the equations developed in the previous

exercise, the ball position is at

( )

220 1

x = 27.5 − =0

440 2

and ( )

160 1

y = 27.5 − = −3.75 cm.

440 2

3.3 Lab Experiments

In Section 3.2 we found equations that describe the ball position from the raw camera pixel measurements. In this

lab, the software controller is calibrated and tested to ensure the ball is being measured according to the conventions

given in Figure 3.1.

Experimental Setup

The q_2dbb_camera_calib Simulink diagram shown in Figure 3.2 is used to configure the PGR Grab Image QUARC

block and the Camera Calibration subsystem and ensure the correct X-Y ball position is being measured. For more

information about QUARC, see Reference [2].

IMPORTANT: Before you can conduct this experiment, you need to make sure that the are configured according to

your system setup. If they have not been configured already, then you need to go to Section 5.2 to configure

the lab files first.

1. Place the ping pong ball in the middle of the table (approximately).

2. Go through the camera calibration procedure outlined in the 2 DOF Ball Balancer User Manual ([6]) using the

FlyCap software. The image viewed by the camera has to be customized in order to view the entire plate.

Make sure you record the image Left, Width, Top, and Right parameters that were set in FlyCap.

3. Close the FlyCap software. Make sure this software is closed to avoid obtaining an error when running

the QUARC controller.

4. Set the PGR Grab Image block to the Left, Width, Top, and Right image parameters, as depicted in Figure

3.3a.

5. The Find Object block is set for an orange ball, as shown in Figure 3.3b. If you have a different ball colour,

then change the RGB values accordingly. You can use the RGB results obtained from the FlyCap software in

the calibration procedure (in the 2 DOF Ball Balancer User Manual).

6. The default Threshold and Minimum Object Size parameteres usually do not need modification. However, the

threshold may have to be changed depending on your lighting conditions (e.g., try decreasing the Threshold

parameter if the ball position measurement is noisy).

(a) Typical settings for the PGR Grab Im- (b) Typical Find Object block parameters

age block for orange ball

7. Modify the Camera Calibration block to match the size of your camera image.

8. In the q_2dbb_camera_calib Simulink diagram, go to QUARC | Build to build the QUARC controller.

9. Go to QUARC | Start to run the controller. When you move around the ball, the scope and numeric displays

should read different positions. The x (cm) and y (cm) scopes in Figure 3.3 should a typical response when

moving the ball along the x-axis in the positive direction.

Figure 3.3: Ball position response when moving ball from left to right along x-axis

10. B-5, B-7 Move the ball along the axes and determine, from the responses, if the measured ball position

follows the conventions presented in Section 3.1. Briefly explain the tests you used to validate the ball position

measurements.

Answer 3.3

Outcome Solution

B-5 If the experimental procedure was followed correctly, they should be

able to run some software tests and investigate whether or not the ball

position is being measured correctly. The changes made to the Camera

Calibration subsystem is depicted in Figure 3.4.

B-7 The ball measures (0, 0) when positioned in the center of the plate. From

that point, the ball follows the directions outlined in Figure 3.1, e.g., it

reads positive x when moved along the ball x-axis. The value of the

measured position is also correct. For example, it reads 27.5/2 = 13.75

cm when the ball is at the edge of the plate in the positive x and y direc-

tions.

Figure 3.4: Camera Calibration subsystem configured for 440 pixel image size

3.4 Results

B-6 Fill out Table 3.1 with your answers from your modeling lab results - both simulation and implementation.

Calibration

Image Pos Left 140 pixels

Image Pos Top 20 pixels

Image Pos Width 440 pixels

Image Pos Height 440 pixels

4 CONTROL DESIGN

4.1 Speciﬁcations

The time-domain requirements for controlling the position of the ball - for both the x and y axes - on the 2 DOF Ball

Balancer are:

Specification 2: Percentage overshoot: P O ≤ 10 %

Specification 3: Steady-state error: |ess | ≤ 5 mm

Given a step reference, the peak position of the ball should not overshoot over 10%. After 3.0 seconds, the ball

should settled within 4% of its steady-state value (i.e., not the reference) and the steady-state should be within 5

mm of the desired position.

4.2 Background

The control that will be used for each axis of the 2 DOF Ball Balancer system is illustrated by the block diagram

in Figure 4.1. Based on the measured ball position X(s), the outer ball control loop computes the servo load shaft

angle Θd (s) to attain the desired ball position Xd (s). The inner loop controls the servo position using a proportional

gain kp,s .

Figure 4.1: PV ball position control system for one-axis on the 2 DOF Ball Balancer

To design the ball position control, assume that the inner servo loop is ideal and therefore

θl (t) = θd (t) (4.1)

Θd (s) = kp (Xd (s) − X(s)) − kd s X(s). (4.2)

Given the assumption that Θl (t) = Θd (t), substitute the PV control 4.2 into the plant transfer function 2.9 and solve

for X(s)/Xd (s) to obtain the 2 DOF Ball Balancer closed-loop transfer function

X(s) Kbb kp

= 2 (4.3)

Xd (s) s + Kbb kd s + Kbb kp

As shown in Figure 4.1, kp and kd are the proportional and derivative gains, respectively. We can compute the

values for these meet the settling time and overshoot specifications.

The transfer function of a standard second-order system is given by

Y (s) ωn2

= 2 (4.4)

R(s) s + 2 ζ ωn s + ωn2

For a second-order under damped system, the settling time and percent overshoot equations are

√

ln (cts 1 − ζ 2 )

ts = − (4.5)

ζ ωn

and

√−π ζ

P O = 100e 1−ζ 2 (4.6)

where ωn is the natural frequency ζ is the damping ratio.

4.3 Pre-Lab Questions

1. A-1, A-2 Find the natural frequency and damping ratio required to match the settling time and overshoot

specifications given in Section 4.1.

Answer 4.1

Outcome Solution

A-1 Solving for ωn in the settling time formula in Equation 4.5 we get

( √ )

ln cts 1 − ζ 2

ωn = − .

ts ζ

( )√

PO 1

ζ = − ln ( P O )2 .

100 ln + π2

100

A-2 Applying the settling time and overshoot specifications given in Section

4.1 to the above expressions

and

ζ = 0.591. (Ans.4.2)

2. A-1, A-2 The closed-loop transfer function given in Equation 4.3 is second-order. Find the proportional and

derivative gains needed to match the standard second-order transfer function given in Equation 4.4.

Answer 4.2

Outcome Solution

A-1 The characteristic equation of the closed-loop transfer function in Equa-

tion 4.3 is

s2 + Kbb kd s + Kbb kp

Equating this with the standard second order system equation gives the

expressions

Kbb kp = ωn2

and

Kbb kd = 2 ζ ωn .

A-2 The control gains kp and kd required to meet the ωn and ζ specifications

are

ω2

kp = n (Ans.4.3)

Kbb

and

2 ζ ωn

kd = . (Ans.4.4)

Kbb

3. A-2 Using the model gain, Kbb , found in Section 2.2, find the control gains needed to satisfy the requirements

given in Section 4.1.

Answer 4.3

Outcome Solution

A-2 Using the 2DBB model parameter calculated in Ans.2.3 and the desired

natural frequency in Ans.4.1 generates the proportional control gain

eters, the natural frequency in Ans.4.1, and the damping ratio found in

Ans.4.2 into Ans.4.4

kd = 2.11 rad/(m/s). (Ans.4.6)

4.4 Lab Experiments

The control gains found in Section 4.3 are tested in simulation first. Once it is validated that the gains satisfy the

requirements, it is implemented on the actual Quanser 2DBB system.

Using the linear model of the system and the designed control gain, the closed-loop response can be simulated.

This way, we can test the controller and see if it satisfies the given specifications before running it on the hardware

platform.

Experiment Setup

The s_2dbb Simulink diagram shown in Figure 4.2 is used to simulate the closed-loop response of the 2DBB using

the control developed in Section 4.3.

The Signal Generator block generates a 0.08 Hz square wave (with amplitude of 1). The Amplitude (deg) gain block

is used to change the desired ball position command. The PD gains, kp and kd , are set in the Ball Balancer Control

subsystem and is read from the Matlab workspace. The dynamics of the servo voltage to angle and the servo angle

to ball position are modeled for a single-axis.

IMPORTANT: Before you can conduct this experiment, you need to make sure that the lab files are configured

according to your system setup. If they have not been configured already, go to Section 5.3 to configure the

lab files first.

2. Run s_2dbb to simulated the closed-loop response with these gains. Figure 4.3 shows a typical response.

3. B-5, K-3 Plot the responses from the x (cm), theta (deg), and Vm (V) scopes in a Matlab figure.

Saved response data: When the QUARC controller is stopped, these scopes automatically save the last 20

seconds of their response data to the variables data_x, data_theta_x, and data_vm_x. For data_x, the time

is in data_x(:,1), the setpoint (i.e., desired ball position) is in data_x(:,2), and the simulated ball position is in

data_x(:,3). The same conventions apply for the servo angle data, which is saved in data_theta_x. In the

data_vm_x variable, the (:,1) holds the time vector and the (:,2) holds the input voltage.

(a) Ball Position (b) Servo Angle (c) Voltage

Answer 4.4

Outcome Solution

B-5 If the experimental procedure was followed correctly, they should have

generated a figure similar to Figure 4.4.

K-3 Use the Matlab plot command, you can generate a figure similarly as

shown in Figure 4.4. Run the meas_2dbb_specs.m script after running

the s_2dbb.mdl to plot this response.

4. K-1, B-9 Measure the settling time, percent overshoot, and steady-state error of the simulated torsion re-

sponse. Does the response satisfy the specifications given in Section 4.1?

Answer 4.5

Outcome Solution

K-1 Looking at the step that occurs at 12.5 second mark, the ball position

response in Figure 4.4 decays down to 4% of its final value (i.e., within

3.12 or 2.88 cm) at the 15.15 sec mark and goes up to a maximum value

of about 3.5 cm. The specifications in Figure 4.4 are therefore

3.51 − 3

PO = 100 × = 8.5 %,

6

ess = 0 deg

B-9 The specifications in Section 4.1 are satisfied while the input voltage

is kept between ±10 V. Use the meas_2dbb_specs.m script to find the

specifications automatically after running s_2dbb.

In this section, the control designed in Section 4.3 and tested in simulation in Section 4.4.1 is implemented on the

actual 2 DOF Ball Balancer device. Measurements will then be taken to ensure that the specifications are satisfied.

Experiment Setup

The q_2dbb Simulink diagram shown in Figure 4.5 is used to run the state-feedback control on the Quanser 2 DOF

Ball Balancer system. The SRV02-ET+2DBB subsystem contains QUARC blocks that interface with the servo DC

motors, servo encoders, and overhead camera.

Figure 4.5: Simulink diagram that runs the control on 2DBB system

IMPORTANT: Before you can conduct this experiment, you need to make sure that the lab files are configured

according to your system setup. If they have not been configured already, then go to Section 5.4 to configure

the lab files first.

2. Go to QUARC | Build to build the controller.

3. Go to QUARC | Start to run the controller. Depending where the ball is initially located, the servos will move

to position the ball in the center (desired ball position initially set to (0,0)).

4. Go to the Setpoints subsystem and set the Amplitude X Slider Gain to 3 cm. The ball should travel ±3cm

along the x-axis of the plate.

5. Figure 4.6 depicts a typical response (both the x and y axes scopes are shown).

7. B-5, K-2 Plot the responses from the x (cm), theta_x (deg), and Vm_x (V) scopes in a Matlab figure. Similarly

as described in Section 4.4.1, the response data is saved in variables data_x, data_theta_x, and data_vm_x.

Answer 4.6

Outcome Solution

B-5 If the experimental procedure was followed correctly, they should have

generated a figure similar to Figure 4.7.

K-2 Use the Matlab plot command, you can generate a figure similarly as

shown in Figure 4.7. Run the meas_2dbb_specs.m script after running

the q_2dbb.mdl with the gain found in Section 4.3 to plot this response.

Alternatively, this plot can be generated using the data stored in the

rsp_2dbb_x.mat, rsp_2dbb_theta_x.mat, and rsp_2dbb_vm_x.mat files.

Figure 4.7: 2 DOF Ball Balancer Closed-Loop Response

8. K-1, B-9 Measure the settling time, percent overshoot, and steady-state error of the measured response.

Does the response satisfy the specifications given in Section 4.1?

Answer 4.7

Outcome Solution

K-1 Looking at the step that occurs at the 50 second mark in Figure 4.7, the

ball position settles to a final value of about 2.41 cm. It is within 4%

of this final value, 0.96 × 2.41 = 2.31 cm, at the 50.9 sec mark. The

response reaches a maximum value of 2.62 cm. The specifications in

Figure 4.7 are therefore

ts = 50.91 − 50 = 0.91 s,

2.62 − 2.41

P O = 100 × = 3.9 %,

3 + 2.41

ess = 3.0 − 2.41 = 0.59 cm,

|Vm | ≤ 10 V

B-9 The settling time and overshoot specification listed in Section 4.1 are

satisfied, but the steady-state error does not. This, of course, can be an

iterative design (i.e., go back to PD control and design for more conser-

vative specification or introduce an integrator to reduce the steady-state

error). Run meas_2dbb_specs.m script to find the specifications auto-

matically (after running q_2dbb or from saved data).

4.5 Results

B-6 Fill out Table 4.1 with your answers from your control lab results - both simulation and implementation.

Simulation

Proportional Gain kp 3.44 rad/m

Derivative Gain kd 2.11 rad/m/s

Settling time ts 2.65 s

Percentage overshoot PO 8.5 %

Steady-state error ess 0 cm

Implementation

Proportional Gain kp 3.44 rad/m

Derivative Gain kd 2.11 rad/m/s

Settling time ts 0.91 s

Percentage overshoot PO 3.9 %

Steady-state error ess 0.59 cm

5 SYSTEM REQUIREMENTS

Required Software

• Matlabr with Simulinkr , Real-Time Workshop, and the Control System Toolbox

• QUARCr

See the QUARCr software compatibility chart in [4] to see what versions of MS VS and Matlab are compatible with

your version of QUARC and for what OS.

Required Hardware

• Data-acquisition (DAQ) card that is compatible with QUARC. This includes Quanser Hardware-in-the-loop

(HIL) boards such as:

– Q2-USB

– Q8-USB

– QPID

– QPIDe

and some National Instruments DAQ devices (e.g., NI USB-6251, NI PCIe-6259). For a full listing of compliant

DAQ cards, see Reference [1].

• Two Quanser Rotary Servo Base Unit (SRV02-ET).

• Quanser VoltPAQ-X2 power amplifier, or equivalent.

• DAQ device has been successfully tested (e.g., using the test software in the Quick Start Guide or the QUARC

Analog Loopback Demo).

• 2 DOF Ball Balancer and amplifier are connected to your DAQ board as described Reference [6].

5.1 Overview of Files

2 DOF Ball Balancer User Manual.pdf This manual describes the hardware of the Quanser 2

DOF Ball Balancer system and explains how to setup and

wire the system for the experiments.

2 DOF Ball Balancer Workbook (Stu- Courseware that contains pre-lab questions and lab ex-

dent).pdf periments demonstrating how to design and implement a

ball balancing and positioning controller on the Quanser 2

DOF Ball Balancer plant using QUARCr .

setup_2dbb.m Main Matlab script that sets the various system and control

parameters in Matlab for the 2 DOF Ball Balancer experi-

ments. Run this file to setup the laboratory.

config_srv02.m Returns the configuration-based SRV02 model specifica-

tions Rm, kt, km, Kg, eta_g, Beq, Jeq, and eta_m, the sen-

sor calibration constants K_POT, K_ENC, and K_TACH,

and the amplifier limits VMAX_AMP and IMAX_AMP.

config_2dbb.m Returns the parameters associated with the 2DBB sys-

tem.

calc_conversion_constants.m Returns various conversions factors.

s_2dbb.mdl Simulink file that simulates one-axis of the 2DBB system

using a PD control.

q_2dbb_camera_calib.mdl When ran with QUARCr , this Simulink model can be used

to test the camera and validate the ball position measure-

ments .

q_2dbb.mdl Simulink file that implements the full ball positioning con-

troller on the actual 2 DOF Ball Balancer system using

QUARCr .

Table 5.1: Files supplied with the Quanser 2 DOF Ball Balancer.

File Name Description

2 DOF Ball Balancer Workbook (Instruc- Same as the student version except with solutions.

tor).pdf

2dbb.mws Maple worksheet used to develop the model and control

for the 2 DOF Ball Balancerexperiment. Waterloo Maple 9,

or a later release, is required to open, modify, and execute

this file.

2dbb.html HTML presentation of the Maple Worksheet. It allows

users to view the content of the Maple file without hav-

ing Maple installed. No modifications to the equations can

be performed when in this format.

d_model_param.m Returns the first-order model parameters, K and τ , of the

Quanser SRV02 plant.

d_2dbb_model_param.m Matlab script that computes and returns the model gain

Kbb for the 2 DOF Ball Balancer.

d_2dbb_pd.m Matlab script finds the PD control gains for the one-axis

ball position control given the settling time and overshoot

specifications.

2DBBScoring Sheets.xls Excelr worksheet includes the ABET assessment scor-

ing sheets for each laboratory. Use this to evaluate

each student using the ABET keys outlined throughout the

workbook.

meas_2dbb_specs.m Plots the step response found in the variables data_x,

data_theta_x, and data_vm_x in the Matlab workspace

and measures the corresponding peak time, settling time,

percent overshoot, and steady-state error. Users can also

use the saved responses contained in MAT files.

meas_step_rsp_specs.m Function that measures the peak time, settling time,

steady-state error, and percent overshoot of a given step

response.

Table 5.2: Instructor design files supplied with the Quanser 2 DOF Ball Balancer.

Before beginning in-lab procedure outlined in Section 3.3, the q_2dbb_camera_calib Simulink diagram must be

properly configured.

1. Make sure the 2 DOF Ball Balancer hardware (including the camera) has been set up correctly, as documented

in the 2 DOF Ball Balancer User Manual.

2. Load Matlabr .

3. Browse through the Current Directory window in Matlab and find the folder that contains the file q_2dbb_camera_calib.mdl.

Before going through the control simulation in Section 4.4.1, the s_2dbb Simulink diagram and the setup_2dbb.m

script must be configured.

Follow these steps to configure the lab properly:

1. Load Matlabr .

2. Browse through the Current Directory window in Matlab and find the folder that contains the 2 DOF Ball Bal-

ancer files, e.g., s_2dbb.mdl.

3. Open setup_2dbb.m.

4. For Instructors: Set CONTROL_TYPE = 'AUTO' to load the model gain and find the control gains automati-

cally using the instructor scripts listed in Table 5.2.

5. Configure setup script: When used with the 2DBB, the SRV02 has no load (i.e., no disc or bar) and has to

be in the high-gear configuration. Make sure the script is setup to match this setup:

• EXT_GEAR_CONFIG to 'HIGH'

• LOAD_TYPE to 'NONE'

• Ensure ENCODER_TYPE, TACH_OPTION, K_CABLE, AMP_TYPE, and VMAX_DAC parameters are

set according to the SRV02 system that is to be used in the laboratory.

6. Run setup_2dbb.m.

Before beginning the in-lab exercises given in Section 4.4.2, the q_2dbb Simulink diagram and the setup_2dbb.m

script must be setup.

Follow these steps to get the system ready for this lab:

1. Make sure the 2 DOF Ball Balancer hardware (including the camera) has been set up correctly, as documented

in the 2 DOF Ball Balancer User Manual.

2. Open the q_2dbb Simulink diagram. Make sure the Manual Switch is set to the ON (upward) position.

3. Make sure the PGR Grab Image block Top, Left, Width, and Height parameters have been set correctly - using

the values in Section 3.3.

4. Ensure the Camera Calibration subsystem has been properly set, as performed in Section 3.3.

5. Configure DAQ: Configure the HIL Initialize block for the DAQ device that is installed in your system. By de-

fault, the block is setup for the Quanser Q2-USB board. See Reference [1] for more information on configuring

the HIL Initialize block.

6. Configure setup script: Set the parameters in the setup_2dbb.m script according to your system setup. See

Section 5.3 for more details.

7. Go through the simulation laboratory described in Section 4.4.1 to test the model and control gains and ensure

they meet the requirements. Make sure you run setup_2dbb.m and enter the 2 DOF Ball Balancer model and

controls gains K_bb, kp, and kd.

APPENDIX A

INSTRUCTOR'S GUIDE

Every laboratory in this manual is organized into four sections.

Background section provides all the necessary theoretical background for the experiments. Students should read

this section first to prepare for the Pre-Lab questions and for the actual lab experiments.

Pre-Lab Questions section is not meant to be a comprehensive list of questions to examine understanding of the

entire background material. Rather, it provides targeted questions for preliminary calculations that need to be done

prior to the lab experiments.

Lab Experiments section provides step-by-step instructions to conduct the lab experiments and to record the col-

lected data.

System Requirements section describes all the details of how to configure the hardware and software to conduct

the experiments. It is assumed that the hardware and software configuration have been completed by the instructor

or the teaching assistant prior to the lab sessions. However, if the instructor chooses to, the students can also

configure the systems by following the instructions given in this section.

Assessment of ABET outcomes is incorporated into this manual as shown by indicators such as A-1, A-2 . These

indicators correspond to specific performance criteria for an outcome. The SRV02 Instructor Lab Manual (Reference

[5] for Appendix A) provides extensive explanations on how to incorporate outcomes assessment into your course

and how to use the indicators built into the curriculum.

REFERENCES

[1] Quanser Inc. QUARC User Manual.

[3] Quanser Inc. QUARC Installation Guide, 2009.

[5] Quanser Inc. SRV02 lab manual. 2011.

- Automation 1Uploaded byMauro Mendes de Mello
- 2 DOF Ball Balancer - Workbook (Instructor)Uploaded byRaaj Lava
- Modern Control Engineering 5e - Katsuhiko Ogata (1)Uploaded byJuan Jara
- Liquid LevelUploaded byPobakara Jayasinghe
- 1-s2.0-S0167691101001426-mainUploaded byKen Hong
- MELJUN CORTES EENG03 Control SystemUploaded byMELJUN CORTES, MBA,MPA
- Linear Systems AnalysisUploaded byAnith Krishnan
- Train SystemUploaded byzemanesantos
- Homework 1 Chapter 1Uploaded bySantiago Orellana C
- Ee09 l07 Digital Control System Model QpUploaded byGīřïşh Mc
- design projectUploaded byapi-450506674
- Compensation in Control System _ Lag Lead Compensation _ Electrical4uUploaded byKrutik Dhabaliya
- Automation and control lectureUploaded bySamujawal Kumar Suman
- Makale1 (2).pdfUploaded byTanju Yasar
- MECH466_L4_ModelElecMechUploaded byMohamed Mohamed
- Transfer FunctionUploaded byAnonymous 0zrCNQ
- ME PhD Qual MControl Sample1Uploaded byshv_atluru
- 12270 - Control System.pdfUploaded byKapilGarg
- First Five Pages of Compilation in ECE 006Uploaded byBenedick Jayson Marti
- M2_FRISNEDI_29Uploaded bynadayn
- HW1Uploaded byyolverine
- Lect 9 Overall transfer function of a closed-loop control system.docxUploaded byZaidoon Mohsin
- Se-etrx Sem4 Pcs Dec15Uploaded bysangeetadinesh
- 19162808Uploaded byhanshyam
- FeedlabCh4Uploaded byJohn David Meer Ramos
- EISUploaded byamrit
- Https Www.suit.Edu.pk Uploads Past Papers Control Systems - EE3211Uploaded byAsim Ali
- control de procesosUploaded byLuis Fernando Pucuhuanca Pacheco
- dynamicrespose_1Uploaded byLovemore Makombe
- hw2Uploaded byPao Yap

- Cnc Angle Punching Marking and Cutting Line Model Blz2020 Bl2020 Bl1412Uploaded byayad
- From Policing to ParticipationUploaded byCandelaria Luque
- BENEFICIOS TUBERIA PEADUploaded byJose Angel Malpica P
- Life is Short, Art Long - The Art of Healing in Byzantium Exhibition Report.pdfUploaded byFirdevsEv
- Full time undergraduate_Application Form 2019_WEB2 (3).pdfUploaded bySikolethu Msimango
- Orthodonticsdd2011-2012Uploaded byhaithameljack
- How to Connect Two Computers(via a Switch) - WikiHowUploaded bykriskl03
- YAMAHA FAZER FZ6 S2 instrukcja.pdfUploaded byMateusz Witeczek
- The Future of the Internet And How to Stop It - Jonathan ZittrainUploaded bytxispun
- End of Life 2950Uploaded bySourabh Saha
- BGP_Connection_Basics[1]Uploaded bynjp548
- QFI Open Quiz PrelimsUploaded byAbir Dubey
- Chapter Ii_fluid StaticsUploaded byzetseatberhanu
- Contract AdministrationUploaded byLarisa Gavrila
- Geomechanics - Lab Session No 8 - Direct Shear Test SheetUploaded byharinder
- arginineUploaded byאנריקה שטרמר דיאטן קליני
- E1 - Engine Room LayoutUploaded byrahul yo yo
- Knitting Prospects in Bangladesh FinalUploaded byMomInul HoQue
- FLH105-taperlocUploaded byjtalan9
- Partnerships (2012 edition)Uploaded byDustin Tyler Joyce
- Website PerformanceUploaded byAde Supriadi
- Biology Project on Ivf And moreUploaded byudit
- Veterans Affairs outpatient scheduling policyUploaded byMail Tribune
- ReviewUploaded bySheilla Hermanto
- Hero MASCOT Contest MechanicsUploaded byMarti Gregorio
- MCNPX_2.5.0_ManualUploaded byNagy Tamás
- UHWO - SVA Constitution & BylawsUploaded byuhwo_sva
- 5 and 3400 Chipset Specification UpdateUploaded byAlexGamboa
- Retrofitting of Square Reinforced Concrete Columns Subjected to Concentric Axial Loading With Steel JacketsUploaded byAnonymous xC6bM4x6U6
- Understanding PayslipUploaded byVincent Clement