Ball on Plate Balancing System Greg Andrews Chris Colasuonno Aaron Herrmann
Ball on Plate Balancing System
Greg AndrewsChris ColasuonnoAaron Herrmann
Overview
Objective and MotivationSpecificationsModeling and Design
Inertia, Friction, GravityControlTouchscreen Subsystem
Results (including demo video)AssessmentConclusion
Objective and MotivationTo develop a ball-on-plate balancing system, capable of controlling the position of the ball on the plate for both static positions as well as along smooth paths.
In addition, especially for static positions, the system should be capable of rejecting disturbances to the ball.
Original idea from Labyrinth game
Specifications
System will use motors and optical encoders for control of tilt angle of both horizontal axes of the plateTouchscreen for ball position feedback1/16th inch rubber membrane will provide rolling friction
Specifications (cont.)
Plate Range of Motion 35 degrees about zeroLess than 2% error in ball positioningBall Weight: 130 gramsSystem Weight: 1.2 kg
Modeling: Inertia, Friction, Gravity
System must be linearized about an operating condition to design control systemOver what range is the linearization valid?State-space realization allows for easy control implementation for the MIMO system.
Modeling: Inertia
SolidWorks model createdUsed to aid in machining of necessary metal partsUsed to find mass and inertia tensor of system
Modeling: FrictionRecorded steady state velocity for 200 torque inputsAveraged last 4 of 10 seconds to get the velocity valueA 10 volt spike was used to break stictionLeast squares regression linePan Axis shown
Modeling: Gravity
Simple decoupled gravity model used at first, but this required an added gain to work perfectlyFully coupled gravity compensation is implemented in the actual system.
Plot shows constant applied torque to maintain gravity compensation
Validation and Friction/Gravity Experiment
Actual system response to force of gravity versus simulated response
Friction/Gravity Cancellation Demo
Control Design
Control design consists of two feedback loops:
Inner loop controls motor torque for desired plate angleOuter loop controls plate angle for desired ball positionBoth loops employ state-feedback control with observers
Control DesignLQR Control for optimal control based on our desired time-domain responseKalman Filter for optimal observer poles
Tuning in Experimentation and Simulation
Full Non-Linear Plate Dynamics, Linear Ball DynamicsTouchscreen sampling rate, and motor saturation consideredVR Simulation
Uncertainty and Tolerance Analysis
Axel straightnessBearing seatingTouchscreen AccuracyMotor NoiseErratic Encoder Behavior
Touchscreen
Dynapro 10.4” 95640 Touchscreen
Serial Interface between MATLAB/ xPC target and touch screen controller
80 positions/secActual data
samples run through lowpass filter for trajectory generation
ResultsSine wave tracking on “pan” axis: simulated, desired, actual
Results: Demo VideosDemo video: Ball Balancing with disturbance rejection and primitive path following
Assessment
Ball BalancingWorks well with minor steady state error
Disturbance RejectionFast response time
Path TrackingNeeds improvement
Overall success
Conclusion
Recommendations for improvementFriction Cancellation ImprovementsRevised touchpad interfaceBall Control ObserverNon-linear control