DOUBLE ARM JUGGLING SYSTEM Progress Presentation ECSE-4962 Control Systems Design Group Members: John Kua Trinell Ball Linda Rivera
Introduction Where are we? Bulk of Design and Build Complete Testing and Tuning Phase Preliminary Results Physical Design Model Development Control Systems Development Camera Development
Physical Design Additions: 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 Camera Mounting Shaft Mounting System Mounting
Model Development Lagrange-Euler Model τ = M ( θ ) θ + C( θ, θ ) θ + F( θ ) + G( θ ) Single Joint τ m = J a + n J m + nj L θ s + F v θ s + F c sign θ ) ( s
Simulink Model - Nonlinear MATLAB Function -K- tau theta theta Step DAC Output Saturation DAC to Current Motor Torque Constant Single Joint Physics Scope 1 tau f(u) Mass^-1 Accel 1 s Integrator Velocity Motor Speed Saturation 1 s Integrator1 Position 1 theta Viscous Friction Scope1 Scope3 -K- -K- Sign Coulomb Friction
DAC to Current Model Digital to Analog Conversion Tested voltage over a range Fit curve to data found slope, offset Voltage to Current Conversion Adjusted gain to approximately 0.1A/V Tested current over a range Applied load to system for accurate measurement I tilt = -3.4197e- 005 x + 0.0072 I pan = - 3.4696e - 005 x + 0.0043
Friction Identification Identify Viscous and Coulomb Friction Apply constant torque and measure steady state velocity Automate with LabVIEW Process data with MATLAB 25 Velocity vs. Time - Tilt 4000 Digital Output vs. Steady State Velocity - Tilt 20 15 10 Digital Output 2000 0-2000 Velocity (rad/s) 5 0-5 -4000-25 -20-15 -10-5 0 5 10 15 20 25 Velocity (rad/s) Shaft Torque vs. Steady State Velocity - Tilt 0.2-10 -15-20 -25 0 1 2 3 4 5 6 7 8 9 10 Time (s) Shaft Torque (N*m) 0.1 0-0.1-0.2-25 -20-15 -10-5 0 5 10 15 20 25 Velocity (rad/s)
Other Parameters Inertia/Mass Calculated with SolidWorks Shaft Spring Constant Possible cause of oscillations Experimentally measured Found to be very stiff - k=4600n/m
Model Linearization Discard Coulomb Friction State Space Equations x1 = θ, x2 = θ F x x + 2 v = 2 J eff y = x 1 Transfer Function Y ( s) R( s) = x 1 = x 2 s 2 + x θ = θ 1, x = 2 u J eff 3687 0.2709s
Model Verification Compare Friction ID results to simulated Friction ID 25 25 Velocity vs. Time - Tilt 20 20 15 15 10 10 5 0-5 Velocity (rad/s) 5 0-5 -10-10 -15-15 -20-20 -25 0 1 2 3 4 5 6 7 8 9 10-25 0 1 2 3 4 5 6 7 8 9 10 Time (s) Compare simulated controlled output to implemented output Potentially apply chirp ID methods
Velocity Estimation Finite difference method 10ms Minimum velocity of 0.1534 rad/sec Maximum motor speed of 21 rad/sec Designed peak velocity of 15 rad/sec Overflow problem Seeing large velocity pulse in data Limited position to +/- 180 degrees Corrected velocity when over limits (153 rad/sec)
Trajectory Calculation Drag force on the ball 2 Projectile Motion of a Ping Pong Ball D = 1 ρ v 2 Trajectory deviates from standard projectile motion equation Differential Equation Iterative vs. Simulink ODE Solver 2 AC d y (meters) 1.5 1 0.5 0-0.5-1 0 0.5 1 1.5 x (meters)
Control Systems Development Two methods for designing controllers used MATLAB rltool (Pole Placement method) 1. Obtain transfer function 2. Import transfer function to rltool 3. Convert continuous model to discrete model (sampling time 10ms 4. Define design constraints, such as rise time and settling time 5. Place gain constant at the crossings of design constraints 6. Export controller to simulink model of system 7. Run simulation to test PID block MATLAB (simulink) Kp = Proportional Ki = Integral Kd = Derivative
Pole Placement Methods 1 Tilt-System Root Locus Tilt Root Locus 157 188 126 0.8 220 0.1 94.2 0.2 0.6 251 0.3 0.4 62.8 0.5 Design Criteria 0.4 0.2 283 0.6 0.7 0.8 0.9 31.4 Closed Loop poles Stable Locate system poles at the intersection of ω n and ς Imag Axis 0-0.2-0.4 314 314 283 31.4-0.6 251 62.8-0.8 220 94.2 188 126-1 157-2.5-2 -1.5-1 -0.5 0 0.5 1 Real Axis ω n = 62.8 rad/s ς =.7
0 0 Non-Linear System Step Response To different controllers rltool controller PID controller Overshoot: 28.7% Overshoot: 0% Kp = 800 Ki = 20 Kd = 40 1.4 X: 0.23 Y: 1.287 1.5 1.2 1 1 X: 0.69 Y: 0.9993 0.8 X: 0.1 Y: 0.7048 0.6 0.5 0.4 0.2 X: 0.1 Y: 0.1654
Camera Development Vision Module Familiarization: Use of NI Vision Assistant Acquire Preliminary data Carry out a number of tests Image Processing Examples: Projectile motion launch
Upward vertical launch Image 9/30 Image 12/30 Processing Challenges: Blurred images of the ball Colored backgrounds similar to ball s color
Ball blur 1. 2. 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 Progress Schedule On track, only a few items outstanding Costs 10% overbudget,, 20% under estimates Did not purchase motor, built support structures Plan of Action No deviations New Difficulties