Date post: | 11-Jan-2016 |
Category: |
Documents |
Upload: | donald-dawson |
View: | 213 times |
Download: | 0 times |
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