DOUBLE ARM JUGGLING SYSTEM Progress Presentation ECSE-4962 Control Systems Design Group Members:...

Preview:

Citation preview

DOUBLE ARM JUGGLING SYSTEMProgress Presentation

ECSE-4962 Control Systems Design

Group Members:

John KuaTrinell BallLinda Rivera

IntroductionIntroduction

Where are we?Where are we?• Bulk of Design and Build CompleteBulk of Design and Build Complete• Testing and Tuning PhaseTesting and Tuning Phase

Preliminary ResultsPreliminary Results• Physical DesignPhysical Design• Model DevelopmentModel Development• Control Systems DevelopmentControl Systems Development• Camera DevelopmentCamera Development

Physical DesignAdditions:

• Camera Mounting • Overall System Mounting• Other physical modifications

• Shaft Mounting• Cable extensions

Challenges:• Net Design

• Material• Building

Possible solutions:• Foil wrapping current nets• Replacing nets

•h

Camera Mounting

Shaft Mounting

System Mounting

Model DevelopmentModel Development

Lagrange-Euler ModelLagrange-Euler Model

Single JointSingle Joint

)()(),()( GFCM

)( scsvsLma

m signFFnJn

JJ

Simulink Model - NonlinearSimulink Model - Nonlinear

1

theta

-K-

Viscous Friction

Sign

Scope3Scope1

Motor Speed Saturation

f(u)

Mass -1

1s

Integrator1

1s

Integrator

-K-

Coulomb Friction

1

tau

Accel PositionVelocity

Step

tau theta

Single Joint Physics

Scope

-K-

Motor Torque Constant

MATLABFunction

DAC to CurrentDAC Output Saturation

theta

DAC to Current ModelDAC to Current Model

Digital to Analog ConversionDigital to Analog Conversion• Tested voltage over a rangeTested voltage over a range• Fit curve to data – found slope, offsetFit curve to data – found slope, offset

Voltage to Current ConversionVoltage to Current Conversion• Adjusted gain to approximately 0.1A/VAdjusted gain to approximately 0.1A/V• Tested current over a rangeTested current over a range• Applied load to system for accurate Applied load to system for accurate

measurementmeasurement

0072.0 x005--3.4197e tiltI

0043.0 x005-3.4696e- panI

Friction IdentificationFriction Identification Identify Viscous and Coulomb FrictionIdentify Viscous and Coulomb Friction Apply constant torque and measure steady state Apply constant torque and measure steady state

velocityvelocity Automate with LabVIEWAutomate with LabVIEW Process data with MATLABProcess data with MATLAB

0 1 2 3 4 5 6 7 8 9 10-25

-20

-15

-10

-5

0

5

10

15

20

25Velocity vs. Time - Tilt

Time (s)

Vel

ocity

(ra

d/s)

-25 -20 -15 -10 -5 0 5 10 15 20 25-4000

-2000

0

2000

4000Digital Output vs. Steady State Velocity - Tilt

Dig

ital O

utpu

tVelocity (rad/s)

-25 -20 -15 -10 -5 0 5 10 15 20 25-0.2

-0.1

0

0.1

0.2Shaft Torque vs. Steady State Velocity - Tilt

Sha

ft T

orqu

e (N

*m)

Velocity (rad/s)

Other ParametersOther Parameters

Inertia/MassInertia/Mass• Calculated with SolidWorksCalculated with SolidWorks

Shaft Spring ConstantShaft Spring Constant• Possible cause of oscillationsPossible cause of oscillations• Experimentally measuredExperimentally measured• Found to be very stiff - k=4600N/m Found to be very stiff - k=4600N/m

Model LinearizationModel Linearization Discard Coulomb FrictionDiscard Coulomb Friction State Space EquationsState Space Equations

Transfer FunctionTransfer Function

21 , xx 21 , xx

effeff

v

J

ux

J

Fx 22

1xy

sssR

sY

2709.0

3687

)(

)(2

21 xx

Model VerificationModel Verification Compare Friction ID results to simulated Compare Friction ID results to simulated

“Friction ID”“Friction ID”

Compare simulated controlled output to Compare simulated controlled output to implemented outputimplemented output

Potentially apply “chirp” ID methodsPotentially apply “chirp” ID methods

0 1 2 3 4 5 6 7 8 9 10-25

-20

-15

-10

-5

0

5

10

15

20

25

0 1 2 3 4 5 6 7 8 9 10-25

-20

-15

-10

-5

0

5

10

15

20

25Velocity vs. Time - Tilt

Time (s)

Vel

ocity

(ra

d/s)

Velocity EstimationVelocity Estimation

Finite difference method – 10msFinite difference method – 10ms• Minimum velocity of 0.1534 rad/secMinimum velocity of 0.1534 rad/sec• Maximum motor speed of 21 rad/secMaximum motor speed of 21 rad/sec• Designed peak velocity of 15 rad/secDesigned peak velocity of 15 rad/sec

Overflow problemOverflow problem• Seeing large velocity pulse in dataSeeing large velocity pulse in data• Limited position to +/- 180 degreesLimited position to +/- 180 degrees• Corrected velocity when over limits (153 Corrected velocity when over limits (153

rad/sec)rad/sec)

Trajectory CalculationTrajectory Calculation

Drag force on the ballDrag force on the ball

• Trajectory deviates Trajectory deviates from standard from standard projectile motion projectile motion equationequation

• Differential EquationDifferential Equation Iterative vs. Simulink Iterative vs. Simulink

ODE SolverODE Solver0 0.5 1 1.5

-1

-0.5

0

0.5

1

1.5

2Projectile Motion of a Ping Pong Ball

x (meters)

y (m

eter

s)

dACvD 2

2

1

Control Systems DevelopmentControl Systems Development

Two methods for designing controllers used • MATLAB rltool (Pole Placement method) 1. Obtain transfer function

2. Import transfer function to rltool3. Convert continuous model to discrete model (sampling time

10ms)4. Define design constraints, such as rise time and settling time5. Place gain constant at the crossings of design constraints6. Export controller to simulink model of system7. Run simulation to test

• PID block MATLAB (simulink)

Kp = Proportional Ki = IntegralKd = Derivative

Pole Placement MethodsPole Placement Methods

-2.5 -2 -1.5 -1 -0.5 0 0.5 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

31.4

62.8

94.2

126157

188

220

251

283

314

31.4

62.8

94.2

126

157

188

220

251

283

314

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Tilt Root Locus

Real Axis

Imag A

xis

Tilt-System Root Locus

• Closed Loop poles Stable• Locate system poles at the intersection of ωn and ς

Design Criteria

ωn = 62.8 rad/sς = .7

Non-Linear System Step ResponseNon-Linear System Step Response

To different controllersTo different controllersrltool controller PID controllerrltool controller PID controller

Overshoot: 28.7% Overshoot: 0%Overshoot: 28.7% Overshoot: 0%

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4

X: 0.1Y: 0.1654

X: 0.23Y: 1.287

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.5

1

1.5

X: 0.1Y: 0.7048

X: 0.69Y: 0.9993

Kp = 800 Ki = 20Kd = 40

Camera DevelopmentVision Module Familiarization:

• Use of NI Vision Assistant• Acquire Preliminary data • Carry out a number of tests

Image Processing Examples:•Projectile motion launch

• Upward vertical launchUpward vertical launch

Processing Challenges:Processing Challenges: Blurred images of the ballBlurred images of the ball Colored backgrounds similar to Colored backgrounds similar to ball’s colorball’s color

Image 9/30 Image

12/30

Ball blurBall blur

1.1.

2.2.

3.3.

• Background similar to ball color

Possible solutions:• Blur Take average of circles• Background Create uniform dark

background

Data Verification:• Verify if height prediction data is

valid• Run new experiment• Compare results

• If results from script seem reasonable• Use Overhead camera only

• If results form script are unreliable• Add Additional camera on the side

Next Steps:• Running Trajectory Prediction• Integration of Vision Development

with Control System• Continue to validate data

Summary of ProgressSummary of Progress

ScheduleSchedule• On track, only a few items outstandingOn track, only a few items outstanding

CostsCosts• 10% overbudget, 20% under estimates10% overbudget, 20% under estimates• Did not purchase motor, built support Did not purchase motor, built support

structuresstructures Plan of ActionPlan of Action

• No deviationsNo deviations New DifficultiesNew Difficulties

Recommended