The following 3 web pages describe the system model of the linear actuator in mathematical terms. I must emphasize now that this web site is a DIY version of my Master's thesis. This presentation is more tailored for hobbyists with a basic background in electronics, computer programming, and embedded systems. However, I needed to have an advanced understanding of control theory and automation before I was able to complete this project. I am going to simplify some of the more theoretical concepts and equations but it will help if you are well versed in the following math and engineering subjects:
If you have not had exposure to these subjects, you might briefly skim this section and skip to the formulas at the end, which are implemented in the Arduino sketch. I will be putting plenty of links to various web sites that will provide further learning on these concepts.
Before we begin, I would like to define some basic control systems terms:
For a more thorough discussion of control systems and automation, please see references [5] and [6]. These are the college text books used in the control systems courses at NJIT. There will be far more citations in the subsequent pages.
Figure 1 shows a top-level view of the entire system. Note that this signal-flow diagram was created using the Simulink package found in Matlab. Let's look at each module individually.
A. Plant Dynamics - This section is a mathematical modeling of the motion plant. This is a variant of the standard kinematic modeling of the movement of an object along a single axis.
B. Linearization Module - The controller demands that the motion plant be a linear time-invariant system. However, the solenoids have a nonlinear relationship between the drive current and the magnetic force. This module inverts the solenoids' nonlinear dynamics.
C. Compensator Design - This section discusses the compensator that controls the motion plant.
i. FSFB Control - This web page discusses the basics of the full-state feedback controller. This includes a discussion of stability.
ii. Continuous-Time Analysis - This web page appropriates the mathematical model stated in Plant Dynamics so that a copy of this model may be stored in the linear controller.
iii. Discrete-Time Analysis - Because the controller samples and processes data in discrete-time, we will need to discretize the mathematical model of the motion plant. Note that a lot of calculus is involved in the discretization process.
iv. Kalman Filter intro - This web page discusses the basics of the Kalman filter, the optimum observer equation, and the observation error used to correct the estimated state.
v. Calculating the Kalman gains - This web page discusses the iterative algorithm used to calculate the gain coefficients used in the Kalman filter. This includes a discussion of white noise.
vi. Gain Selection - This web page details some addition constraints used in calculating the gains for the Kalman filter and FSFB control law.
vii. Simulation - This web page discusses some nonideal factors that could impact performance.
[5] B. Friedland, Control System Design: An Introduction to State-Space Methods, Mineola, New York, Dover Publications, Inc., 1986,
[6] B. Friedland, Advanced Control System Design, Englewood Cliffs, NJ: Prentice Hall, Inc., 1996.