automatic pouring robot - rpicats-fs.rpi.edu/~wenj/ecse446s05/team1_final...to develop an automatic...

37
Automatic Pouring Robot Akilah Harris-Williams Adam Olmstead Philip Pratt-Szeliga Will Roantree

Upload: others

Post on 12-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Automatic Pouring Robot

Akilah Harris-WilliamsAdam Olmstead

Philip Pratt-SzeligaWill Roantree

Page 2: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

OverviewObjective and MotivationMechanical SystemModeling, Simulation and Verification

TiltPan

Pouring Trajectory GenerationControl Design

TiltPan

Webcam Image ProcessingUncertainty Analysis

Page 3: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Objective and Motivation

To develop an Automatic Pouring RobotIndustrial Applications

Casting RobotHazardous Materials Robot

Page 4: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Purpose

Smoothly pour water from a bottle into a cup without spillingConsists of a bottle, a pan/tilt mechanism, a computer controller, a cup and a webcamThe bottle will be mounted on the mechanismComputer controller will rotate the bottle towards the cupWebcam will view the height of water in the cup.

Page 5: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Mechanical System

Page 6: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Tilt ModelingMass Properties change with tilt angle and water volume. System dynamics are variable.Visual Basic program extracts Center of Mass, Inertial Tensor and Mass from Solidworks API at varying angles and volumes.

Page 7: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Tilt Friction/Gravity Model

Upper Level SystemTilt DynamicsEquation of Motion

Page 8: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Tilt Friction/Gravity ResultsExperimental system response versus Simulated system response to force of gravity.

Page 9: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Tilt Friction/Gravity Cancellation

Page 10: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Pan Modeling

Vaaa 321 )sgn( =++ θθθ

Used full parameter identification methodChirp inputa1=1.9080a2=6.0656a3=8.44290.08 radSteady-State Error

Page 11: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Basic Trajectory

Page 12: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Basic Trajectories

Page 13: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Polynomial Trajectories

Page 14: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Basic Return Trajectories

Page 15: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Return Trajectories

Page 16: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose
Page 17: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose
Page 18: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose
Page 19: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Tilt Control

Needs to follow a smooth trajectorySpecifications:

Mo ≤ 0%, tr ≤ 0.75 s, ess ≤ 1%Used PID controller

System behaved similarly to modelLinear model assumes constant volumeDue to modeling error, needed an easily tweaked controller

Page 20: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Tilt Controller – SimulatedSimulatedMo = 2.87%tr=0.327 sess=0.81%ActualMo = -0.13%tr=0.104 sess=0.138%

Page 21: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Tilt Controller - Actual

Simulation was run assuming a constant volumeValues will change due to:

Constantly changing amount of liquidAny modeling error

Values tweaked from simulation to dampen overshoot

Page 22: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Tilt Controller on Actual Trajectory

Page 23: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Pan ControlUsed for Disturbance Rejection

Needs to have a quick rise time and low steady-state error

SpecificationsMo ≤ 5%, tr ≤ 0.4 s, ess ≤ 2%

Lead-Lag Controller

)9.0)(486.19()266.1)(493.6(30)(

++++

=ss

sssD

Page 24: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Pan Controller - Design

Page 25: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Pan Controller - SimulationSimulated:Mo = 0.367 %tr=0.336 sess=0.037 %Actual:Mo = 5.23 %tr= 0.133 sess= 0.936 %

Page 26: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Tweaked Pan Controller

Actual:Mo=1.55 %tr=0.134sess=0.016 %ts=0.356s (2%)ts=1.548s (1%)

Page 27: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose
Page 28: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Sensor Subsystem - Webcam

Objective: Pour a specified amount of liquid into a cupNeed to know when to stop pouring to get the desired amountOur solution: Webcam

Page 29: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Image Processing AlgorithmWant to find the volume of liquid in the cup

Find highest pixel row occupied by the colored liquid (determined by green and blue thresholds)Correlate these pixels to actual volumes via experimentation

Page 30: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Webcam Timing

Average frame rate with processing is 13 fps.When the volume in the cup approaches a certain percentage of the desired volume, MATLAB triggers xPC target to stop pouring.Percentage at which the trigger is sent is a function of:

Return trajectoryCommunication delay between MATLAB and xPCTargetFlow rate before stopping

Page 31: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Webcam Data of Sample Pour

Stop Triggered

Page 32: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Uncertainty Analysis

Modeling errorTilt: Friction IdentificationPan: Steady-State Error

Webcam errorNoisy dataSlow feedback

Other sources of errorOccasional encoder spikes

Page 33: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Modeling Error – Tilt Friction ID

Velocities never converge to a steady-state value, due to water sloshing in the bottleDifferent values in each direction

Average was taken

Page 34: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Modeling Error - PanIdentified parameters work fairly well with data used to generate them.

ess of only 0.08 rad = 4.6°Does not work as well for all inputs

Page 35: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

AssessmentMechanical System

Sturdy apparatus key to entire project

Model of Dynamic Tilt ParametersWorks well after initial calibration of mass

Webcam Image ProcessingGood response but prone to inaccuracies

Disturbance RejectionFunctions well, but with large settling time for large disturbances

Pouring ControlOccasionally spills due to stationary cup

Overall Success!

Page 36: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose

Conclusion

Areas of ImprovementThird degree of motion Faster and more precise cup volume feedbackImplement fuzzy logic controller based on constant webcam dataImprove models and parameter identification

Page 37: Automatic Pouring Robot - RPIcats-fs.rpi.edu/~wenj/ECSE446S05/team1_final...To develop an Automatic Pouring Robot Industrial Applications Casting Robot Hazardous Materials Robot Purpose