Ball and Plate Control Rig
Introduction
The ball and plate control rig is a two by two system, consisting of a flat plate on which a ball is balanced. The angle of the plate is manipulated by digital servo motors while ball position feedback is obtained by processing images taken by a camera mounted above the plate.
2017 - Adrian Russell
Build
The rig was designed using the free Design Spark CAD software. The plate of the rig is 400 mm on each side, and is made out of a rigid plastic.
A Raspberry Pi 3 is used to perform all of the input and output operations to and from the process, as well as computational tasks. A Raspberry Pi camera is connected to the dedicated CSI serial port of the Raspberry Pi, allowing for low latency image capturing at up to 200 fps.
All control measurement and control operations are carried out using Python 3 on the Raspberry Pi.
An Adafruit PWM Servo Driver board is used to provide the PWM signals to the servo motors.
High torque digital servo motors are used to manipulated the plate angle.
Modelling
Since the system is open loop unstable, modelling needs to be carried out with the MVs returning to their steady state position (i.e. zero). Therefore, step tests were conducted in which the duty cycle of the servo motors was stepped up and then down in quick succession, allowing the process to stabilise at a different steady state position, with zero velocity and plate angle.
Linear transfer function models were then fitted to the time domain responses in MATLAB.
Control
Three controllers have been implemented for the ball and plate system, namely: Proportional-Derivative (PD), Linear Qaudratic Gaussian (LQG) and Linear Quadratic Integral (LQI) control.
The since the system is isolated, the majority of disturbances are Gaussian distributed, and therefore fair controller performance is obtained using the LQG and LQI methods. The PD controller provides the fastest system response, however it is most susceptible to process noise.
A Kalman filter is implemented as a state estimator in order to provide full state feedback for the LQG and LQI controllers.
The fitted linear process models are used in the Kalman filter to estimate the states based on known system dynamics.