Modelling and Control of an Electro-Hydraulic Forklift

Size: px
Start display at page:

Download "Modelling and Control of an Electro-Hydraulic Forklift"

Transcription

1 Master of Science Thesis in Electrical Engineering Department of Electrical Engineering, Linköping University, 2016 Modelling and Control of an Electro-Hydraulic Forklift Anders Brändström and Henrik Bäckman

2 Master of Science Thesis in Electrical Engineering Modelling and Control of an Electro-Hydraulic Forklift Anders Brändström and Henrik Bäckman LiTH-ISY-EX 16/4970 SE Supervisor: Du Ho isy, Linköpings universitet Linus Helgesson Examiner: Johan Löfberg isy, Linköpings universitet Division of Automatic Control Department of Electrical Engineering Linköping University SE Linköping, Sweden Copyright 2016 Anders Brändström and Henrik Bäckman

3 Abstract To meet the increasing demand on control precision in industrial forklifts, physical modelling of the lifting system has been combined with parameter estimations from data. A number of different controllers have been evaluated in terms of their ability to achieve a load independent lifting speed. The model and controller performance as well as stability properties were evaluated in simulations, and the most promising controller was implemented on the real system. Especially the electric motor turned out to be difficult to model, and therefore experimental data was used to approximate some parts of it. This, along with some friction parameters that had to be estimated caused a slight loss in model generality. An observer (Extended Kalman filter) was used to estimate the unknown states, including the velocity of the forks. The simulated performance of the MPC controller was slightly better than the PID controller, except for a bigger overshoot when starting from a turned off motor. The PID controller also handles model errors better, because of its integral action. Due to the simplicity in relation to performance, only the PID controller was implemented on the forklift. The model turned out to perform well, but not well enough to estimate the lifting height accurately. The PID controller worked as intended and it could therefore be concluded that a more advanced control algorithm, such as an MPC controller, is not necessary for this system. iii

4

5 Acknowledgments We would like to thank our examiner Johan Löfberg for doing a great job and being interested in the work we do. Also a big thanks to our supervisor Linus Helgesson and all other people at the company we have come in touch with. We have have allways felt a good support and a welcoming atmosphere towards us. A very special thanks goes out to our friends and loved ones, who have put up with us all this time, and brought us so much joy. Linköping, June 2016 Anders Brändström och Henrik Bäckman v

6

7 Contents Notation xi 1 Introduction Background Problem formulation Research questions Delimitations Outline Related Work Electric motors Hydraulic systems Temperature estimation Theory The extended Kalman filter Linearization Time update Measurement update Initialization Exact Linearization Stability Theory Small gain theorem Static nonlinearities Circle criterion Tustin s Formula Method Modeling Software Data gathering Control Verification vii

8 viii Contents 4.6 Implementation Final testing Modeling Bond graph Model equations Check valve Mast change dynamics Summarized mathematical model Simulink model Battery Motor control unit DC motor Pump Check valve Cylinder Chains Forks Extended Kalman Filter Frequency analysis Model validation Data gathering Performance measure Parameter estimation Control Strategies Generating the reference signal Model Predictive Control Quadratic programming The MPC framework Choosing the cost function Constrains in MPC Main drawbacks MPC Stability PID IMC Code generation Results Linearized model Controller PID MPC Stability Open loop stability Closed loop stability

9 Contents ix 7.4 Model Validation Extended Kalman Filter Discretization Linearization Tuning parameters Performance Fault detection Implementation Conclusions Model based work The 600 rpm criteria Independent lifting velocity Stability Model generality Other benefits of having an observer Precision Control strategies Future work 67 A Calculations 71 A.1 Motor function calculation A.2 Field current calculation A.3 Equations from bond graph B Simulations 75 B.1 Parameter estimation and model validation Bibliography 85

10

11 Notation Abbreviations Notation P ID MP C EKF P W M rpm SEDC CAN Meaning Proportional, Integrative, Derivative (control) Model Predictive Control Extended Kalman Filter Pulse Width Modulation Revolutions per minute Separately Excited Direct Current (motor) Controller Area Network xi

12

13 Nomenclature Physical Constants m 0 Mass of the forks without any load 294 kg A Area of the lifting cylinder m 3 g Gravitational Constant 9.81 m/s 2 U batt Voltage of the battery 24 V 1/r Displacement of the pump m 3 R batt Resistance of the battery Ω Ra 0 Resistance of the armature at room temperature Ω Design parameters T c Desired rise time of the IMC controlled closed loop 0.5 s N Number of steps used by the MPC controller 20 Q 1 cost function parameter used by the MPC controller 1 Q 2 cost function parameter used by the MPC controller 1 Estimated parameters τ Time constant of a lowpass filter within the model 1.2 s D 1 Friction coefficient within the pump N m/ω c 1 Constant part of friction on the forks N c 2 Friction coefficient on the forks dependent on mass 0.74 N/kg xiii

14

15 1 Introduction This is a thesis work concerning modeling, estimation and control of certain states of an electro-hydraulic system. In this chapter, we will explain why modeling is interesting from an industrial point of view. 1.1 Background In recent years, the cost of computational power has been continuously reduced. This has resulted in a high potential for more advanced and computational expensive algorithms in control systems. As a result, many model based algorithms such as model predictive control(mpc), have become more feasible in various applications. This can be one of the reasons why model based methods increase in popularity for every day that passes. The thesis work has been made on a Swedish company that has a big share in the forklift market. Like in many technical areas, the forklift industry also has an interest to work more model based than they do now. It helps developers to simulate systems and to find errors earlier in the work process. This will in the end lead to higher quality in the products, benefiting the end user, its customer and therefore the whole society. 1.2 Problem formulation The system that is studied in this thesis is the part of a forklift responsible for the lifting action. The forklift is a so called Stacker which is a truck that you ride 1

16 2 1 Introduction Figure 1.1: A stacker forklift. standing up on a platform, or walk behind. It is depicted in Figure 1.1. The maximum lifting height can be as much as 6 m, depending on the type of mast that is mounted. The hydraulic lifting system consists of a control unit, an electric motor, a pump and a hydraulic cylinder which converts the energy from the pump into a lifting force, which in its turn moves the forks carrying the load. A simple sketch of the system is shown in Figure 1.2 below. Figure 1.2: A color coded sketch of the hydraulic lifting system, with purple inputs, green sensory signals and grey unmeasured outputs. Poor lubrication and cooling are two reasons why the hydraulic pump used in this system sometimes wear out earlier than it should. The supplier of these pumps states that in order to ensure proper lubrication and cooling, the pump must be run at 600 rpm or higher.

17 1.3 Research questions 3 However, for practical and economical reasons, adding a sensor to the system to measure the pump rpm is not beneficial. Therefore one may be interested in estimating the angular velocity of the pump in another way. One way to do this is to use a model based approach, where a model of the system is combined with measurements in an observer to estimate the desired states. This could for instance be the angular velocity of the pump, but also the lifting height and velocity. Because of safety regulations, gates to the side of the driver has to be folded down when lifting above 1.8 m. This is to ensure that the driver has plenty of space to escape if something goes wrong, for instance if something comes falling down or the truck for some reason falls over. This is today noticed by a magnetic sensor, which tells if the forks have passed 1.8 m or not. This will force the forks to brake fast, if side gates are up, but that is not always easy and smooth. If position and velocity is estimated, the speed of the forks can be ramped down and stopped at 1.8 m with higher precision and comfort. This thesis investigates how the 600 rpm criteria mentioned above can be fulfilled without adding a sensor that measures the rotational velocity of the pump. The thesis will also investigate the how issue of achieving a constant lift velocity independent of load on the forks can be solved. This is useful for the operator because the same control signal would then, ideally, always result in the same lifting speed. 1.3 Research questions There are a number of questions that hopefully will be fully explored and answered in this thesis work. The main problems of the task are summarized in the table below. 1. How can the 600 rpm criteria be fulfilled without adding an extra sensor? 2. Is it possible to achieve similar lifting velocity independent of the load on the forks? 3. Which control strategy is best suited for this problem? 4. Can stability be assured for the generated control algorithm? 5. Can a general model for the system be generated in a way that the model parameters require no individual tuning? I.e. the model parameters should be readable from the data sheets of the components. 6. Can regulation restrictions be met, by estimating the velocity and height of the forks with higher precision?

18 4 1 Introduction 1.4 Delimitations Due to the nature of the authors education and interests, focus has intentionally been shifted away from the hydraulic parts of the system. This part of the model is therefore relatively simple and has some room left for improvement, in the form of for instance energy losses, compressibility of the hydraulic fluid and changes in viscosity due to temperature changes. These factors are however small enough to be omitted in this first proof of concept that this report presents. The work has instead been directed towards the motor and the pump, to obtain an in-depth analysis of the dynamics of these parts. It was, however, soon discovered that the motor posed some difficulties that could not be modeled analytically, and instead had to be approximated. The motor function was initially assumed to be directly dependent on the field current, but this is not the case for large currents. Due to magnetic saturation of the iron core, the motor function is only a linear function for low currents. Instead of spending an entire semester trying to find a set of equations that describe the magnetization, some data points were gathered and a look-up table was used instead. The plan was initially to model a double mast that uses multiple cylinders to achieve higher lifting heights, but since there was no truck with this configuration available, the work had to be performed on a single mast truck instead. 1.5 Outline The purpose of this section is to give the reader an idea of the general structure of the thesis. The first chapter gives an introduction to the problem that is to be investigated, and puts it into context by explaining the background and why it is an important and relevant topic. Chapter 2 presents the related work that already has been done by others. The third chapter further complements the related work with theory that is necessary and will be used in the work. Chapter 4 describes the method throughout the project, while chapter 5 investigates the modeling task more deeply, together with model validation The sixth chapter introduces the controllers that are implemented in simulations, and also describes the implementation to the physical system. The results are presented and discussed in chapter 7. Last but not least, further improvements are handled in chapter 8.

19 2 Related Work This is not the first time someone tries to set up a model and control strategy for this kind of system. Similar system has been modeled, but often with other sensors or a detail that changes the outcome significantly. 2.1 Electric motors Electric motors have been modeled to a great extent in the past, and the basic equations that describe their dynamics can be derived from Kirchoff s voltage law, Lorentz s forces and the laws of motion. In this project, a special type of motor is used, namely a separately excited direct current (SEDC) motor. The main difference compared to a regular DC motor, is that this motor uses an electromagnet with a controllable magnetic field instead of a permanent magnet. A simple sketch of how it looks can be found in Figure 2.1. The main benefit of using an SEDC motor is that the operating range can be extended, so that the motor can achieve higher speeds at low loads, and still be able to lift very heavy loads. According to [1], for an SEDC motor, the dynamics are characterized by L a ia = U a R a i a U e U e = ki f ω J ω = T d Dω T l (2.1) T d = ki f i a where L a is the inductance of the armature, i a is the current through the armature, U a is the armature supply voltage, R a is the armature resistance, U e is the 5

20 6 2 Related Work Figure 2.1: An illustration of an SEDC motor, with the armature circuit which generates the output power and the field circuit that represents the electromagnet in the motor. motor voltage, i f is the field current, k is the motor function, ω is the rotational velocity of the motor, J is the inertia in the system, T d is the torque produced by the motor, D is the friction coefficient and T l is the load torque. Compared to a regular, permanent magnet DC motor, the motor constant is replaced by a motor function depending linearly on the field current, which from now on will be called g 1 (i f ). One quickly realizes that this model contains a non-linearity in (2.1), since the field current is a function of the armature current in the system that is being studied in this thesis. This is a problem that has to be dealt with. A plausible solution might be a method called exact linearization, as described in [2, p.433], or an extended Kalman filter (EKF) [3, p.153]. Furthermore, it will later in the report be shown that this model of the motor is flawed, because the assumption that the motor function would be g 1 (i f ) = ki f is a poor approximation of the reality. An alternative way of estimating the angular velocity of the motor would be to measure frequencies of the ripple that occurs when the brushes connect and disconnect from the commutators, as explained in [4]. However, since the system is part of a noisy environment, with other motors and factors that are likely to cause a lot of disturbances, this method may not yield the best results for this project. Furthermore, due to limitations in the motor control unit it is not possible to sample and read the current fast enough to achieve an appropriate bandwidth to capture the high frequency ripple, and therefore this method will be excluded from further investigation at this point.

21 2.2 Hydraulic systems Hydraulic systems Hydraulic systems have been modeled before, not exactly this kind of systems, but similar ones. André in [5] does this, but in his case, several sensors in the system were given. This makes some of the methods used in his thesis unviable, because we do not have access to these type of sensors, but the general structure of the model will be salvaged and used as a basis for this project. By assuming no leakage, (2.2) is used to get a linear relationship between the angular velocity of the motor and the velocity. f = ω/r (2.2) f = Aẋ Another similar system is used when modeling an elevator in [6], using a mathematical approach describing their system. The elevator is similar to our system in many ways, and the method for modeling hydraulics should therefore be applicable to our system as well. So by using their method to get the equations, to our system, modeling of the hydraulics should be quite straight forward. 2.3 Temperature estimation An approach to estimate temperature and velocity by measuring armature current is presented in [7]. In this article, a linear model for the internal resistance s temperature dependence is presented as along with a nonlinear thermal equation R a = R a0 (1 + αθ) (2.3) H θ = i 2 a R a + k ir ω 2 k 0 (1 + k T ω)θ (2.4) where R a0 is the ambient resistance, α is the temperature coefficient of resistance, θ is the deviation from ambient temperature, H is the thermal capacity of the armature, k ir is the iron loss constant, k 0 is the thermal power transfer coefficient and k T is the temperature coefficient of angular velocity. The model parameters are estimated through quite extensive experiments, some of which may not be possible to perform in this project, but if the motor supplier has values for these parameters and are willing to share this information, this could potentially be very valuable for this project. Once the model parameters are known, an extended Kalman filter is used to estimate both the temperature and the angular velocity ω. To determine the ambient resistance may cause some trouble, because the forklifts are used in a wide variety of conditions, including everything from cold

22 8 2 Related Work storages to very hot countries near the equator. This means that the ambient temperature may be anywhere in the range from 30 C to about 50 C. It is however enough to know the ambient resistance for one temperature to be able to calculate it for any other temperature, since α is a material dependent constant, which for copper turns out to be approximately 0.004/ C. Also note that this means that the resistance changes with 4% for every 10 C, which considering the temperature differences mentioned earlier are far from negligible. This of course strengthens the thesis that a temperature model is necessary.

23 3Theory 3.1 The extended Kalman filter The method used for estimating the desired states in this thesis is the EKF[3, p.153]. In order to apply the EKF algorithm, the model should be formulated as a discrete time state space model as x k+1 = f (x k, u k ) + e k y k = h(x k, u k ) + v k (3.1) where x is the states, y is the measured quantities and e as well as v are assumed to be zero mean Gaussian white noise with covariance Q and R respectively. The functions f and h can both be nonlinear. The EKF algorithm can be divided into three major stages: linearization, time update and measurement update. These stages will be discussed in greater detail below Linearization What differentiates the EKF from normal KF is that linearizations of the functions f and h are used. The linearizations are done according to F k = f x H k = h x 9 ˆx k k,u k (3.2) ˆx k k 1

24 10 3 Theory which is known as the Jacobian matrices, and is basically a first order Taylor expansion around the current state estimates. These linearizations only work well close to the points of linearization, and therefore they have to be recalculated at every time sample of the algorithm, which is one of the reasons why the EKF requires quite a lot of computational power. When the linearization is done, the procedure follows the same path as for a regular Kalman filter, with the time update and measurement update in ordinary fashion Time update In the time update phase, which may also be called the prediction phase, the next set of states are estimated as ˆx k k 1 = f ( ˆx k 1 k 1, u k 1 ) P k k 1 = F k P k 1 k 1 F T k + Q (3.3) where Q is the process noise covariance, which is used as a tuning parameter for the filter, along with the measurement noise covariance R. By tuning the relation between these two, one can control which has the most impact on the estimate: the model prediction or the measurements Measurement update In short, the measurement update phase compares new sensory inputs y k, with the predicted states and calculates a new estimate of the states and their covariance, with help of the innovation matrix S k, which describes the uncertainty in the model. The Kalman gain K k origins from the Riccati equation, but further details are omitted from this report, and the equations S k = H k P k k 1 H T k + R K k = P k k 1 H T k S 1 k ɛ k = y k h( ˆx k k 1, u k ) (3.4) P k k = (I K k H k )P k k 1 ˆx k k = ˆx k k 1 + K k ɛ k should be interpreted as a recipe for generating corrected estimates and state covariance given the latest measurements Initialization In order to initialize the EKF, a starting position of the system is necessary, which means that ˆx 0 0 and P 0 0 have to be determined. In this thesis, the initial conditions are known, since the EKF is always initialized when the system is inactive, which means the states (and P 0 ) are zero.

25 3.2 Exact Linearization Exact Linearization If the nonlinearities of your system are known, it may be possible to compensate for this directly in a controller by choosing an appropriate input signal, but depending on how the nonlinearities enter the system, it may be more or less complicated to do so. A framework for solving this problem is described in [2, p.433]. The biggest issues with exact linearization is that it requires an exact knowledge of the nonlinearities, which is the main reason why it is not very well suited for this project. 3.3 Stability Theory This section will discuss methods for analyzing the stability of nonlinear systems, since this in many cases is a much harder task than proving or disproving stability for linear systems where one can just look at the placement of the poles of the transfer function Small gain theorem The small gain theorem states that given two stable systems, S 1 and S 2, the feedback loop in figure 3.1 is stable if the criterion S 1 S 2 < 1 (3.5) is fullfilled [2, p.30]. The -operator in this case represents the infinity norm, or in other words the maximum gain of the transfer function over all frequencies. This theorem will be useful when trying to determine the properties of the system Figure 3.1: An illustration of a feedback loop. The inputs to the system can be any arbitrary finite signals. studied in this thesis.

26 12 3 Theory Static nonlinearities There are no requirements for the two systems S 1 and S 2 discussed above to be linear. One of them could be, and in reality quite commonly is, a static nonlinearity where the output is a direct function of the input. This could for instance be a saturation of some sort. If the function f (x) satisfies then the gain of the function is said to be K [2, p.28]. f (x) K x, (3.6) Circle criterion Let us now assume that S 1 can be described by a linear transfer function G(s) and S 2 is a function that satisfies (3.6) and therefore has gain K. The small gain theorem then yields K sup G(s) < 1 (3.7) s if the feedback loop is stable. While this criterion guarantees stability, it is often too strict and it therefore exists feedback loops that do not fulfill it, yet still are stable. In [2, p.31] it is shown that small gain theorem can also be used to produce an extended version of the Nyquist criterion which handles nonlinear functions. This is done by extending the confinement of the nonlinearity with a lower bound which gives us k 1 x f (x) k 2 x (3.8) where k 1 is the lower bound and k 2 the upper bound. This can then be shown to lead to a criterion very similar to the Nyquist criterion, but to include a circle that intersects the real axis at a 90 angle in 1 k and 1 1 k, that must not be enclosed or 2 intersected by the Nyquist curve to ensure stability. An example where stability can be assured is illustrated in Figure 3.2 and one where it cannot be assured is given in Figure 3.3.

27 3.3 Stability Theory 13 Figure 3.2: The blue nyquist curve does not intersect or enclose the red circle, and therefore the system is stable according to the circle citerion. Figure 3.3: The nyquist curve intersects the circle, and therefore no conclusions about the stability can be drawn in this case Tustin s Formula In order to better approximate the transition from continuous systems to discrete ones, Tustin s formula can be used. Using the standard Euler forward approximation, where the transition from Laplace transform s to the time discrete

28 14 3 Theory Z-transform is given by s 1 T s (1 z 1 ), (3.9) where z is the discrete time shift operator. This approximation is good enough in most cases, where the dynamics of the system that is being studied are slow enough, or the sampling frequency is relatively high in relation to the system dynamics, but there are slightly more accurate formulas. Tustin s formula states that the transition can be approximated by s 2 T s (z 1) (z + 1). (3.10) This approximation can be shown to not only be better than the ordinary Euler forward method, but also has better stability properties [8, p.90].

29 4 Method In order to solve the task at hand, the main problem is divided into smaller problems that will be discussed individually in the following subsections. Figure 4.1: Schematic description of the inputs and outputs as well as internal structure for the model. Figure 4.1 gives an overview of how the model should be structured. The model utilizes a number of sensory inputs: ρ cyl which measures the pressure in the hydraulic system. I A and I F which are the armature and field currents in the motor. U Batt which is the battery voltage. 15

30 16 4 Method A magnetic sensor mounted on the mast that registers when the forks pass a certain height (approximately 1.8m). ẏ f orks,ref, which is the lifting speed reference signal from the user. The measurements and the model are then combined using an observer as in [9, p.192], in order to generate estimates of the relevant states. Mainly these are the rotational velocity of the pump, the lifting height and velocity of the forks, but it may also be interesting to try to estimate the temperature of the motor. These states are used both as outputs from the model, and as input to the control unit which along with the reference signal uses the states to calculate its own output. The outputs are: ˆω pump which is the rotational velocity of the pump. ŷ and ŷ which are the lifting height and velocity. ˆ T e which is the temperature of the motor. A control signal in the form of a PWM-signal to the motor. 4.1 Modeling A lot of effort will be put into creating a good model of the system, since the model is the basis of all further work. The system consists of a DC motor, a pump, a hydraulic cylinder and a load. At first an analytical model will be created by using bond graphs, as done in [10, p.117], to get a state space model. However, non-linear factors have to be added to the model to reflect the true system more accurately. To do this, the plan is to create a more in-depth model of each sub-part of the system, i.e. the motor, the pump, and the hydraulic system. The biggest benefit of doing so is that the work becomes more modular, and an eventual modification where for instance the hydraulic system is replaced can be handled easier. These models will then be implemented in software. 4.2 Software Once the model is derived, each part is then implemented as a separate module MATLAB/Simulink. Some simulations will be made on the modules individually, but since we cannot generate validation data for each sub part on the real system, verification of functionality on the module level will only be performed briefly. The modules are instead interconnected and simulations are run with the complete model, and compared with data from the real system.

31 4.3 Data gathering Data gathering To collect the data, a special forklift that is equipped with a lifting height sensor, will be used. This will yield a reference for y, and since this state is closely related not only ẏ, but also ω pump because the fluid displacement of the pump is assumed to be constant, and therefore there is a static connection between the states, see (5.3). This will give a good idea of how the model performs. A series of tests will be performed during the data gathering phase, where a number of system configurations will be studied. The load on the fork and the properties of the input signal are factors that surely will affect the system. How and if the temperature significantly affects the characteristics of the system will also be investigated. The parameters that will be modified during the tests are first and foremost the mass of the load on the forks. Secondly, the input signal will also be varied, and a set of different constant speeds, as well as sinusoidal and irregular signals will be used. Last but not least, data will also be gathered when the system is running hot, with a motor temperature of at least 30 C above ambient temperature. During a test, all the input signals to the model depicted in Figure 4.1, and as many measurements of the outputs as possible will be saved for analysis. The outputs that can be measured are mainly the mass m and the altitude y, but ẏ and ω can be calculated from y. 4.4 Control A number control strategies will be developed and tested such as for instance the Model Predictive Control(MPC), PID- or LQ-controllers described in [8, p.69 & p.153]. Each controller will be evaluated in terms of its performance regarding stability in the first place, and reference following as the second most important feature. The computational complexity may also be an interesting factor since the computational power in the forklift is limited. The performance of the controllers will be presented in the results of the thesis, along with a comparison between them and a suggestion for which controller that is the most suitable to implement in forklifts in the future. In order to ensure the stability of the controllers, the small gain theorem or circle criterion may have to be used since we are dealing with non-linearities in the system [2, p.33]. The nature of the non-linearities may however be "nice" enough so that the system can be seen as linear in different intervals, and linear stability analysis can be used instead.

32 18 4 Method 4.5 Verification Most of the verifications will be done by simulation and theoretical reasoning. As mentioned before, to support the simulations, some data will be gathered from a special truck with a lifting height sensor. This data will be divided into two parts: estimation data and validation data. The estimation data will be used to tune the model, and the validation data to make sure the model works as intended. 4.6 Implementation Once the system has been fully implemented in MATLAB/Simulink, it has to be adapted to the real system - the forklift. The first step in doing this will be to convert the MATLAB-code to C-code. This will be done by using auto-coder software, since it saves a lot of time compared to doing it by hand, and the result is most probably the same. The code will then be loaded into a development hardware that can be connected to the CAN-bus in the forklift. The communication device connected to the truck will then form the prototype. 4.7 Final testing When the prototype is finished, its functionality will be tested thoroughly. Mainly the estimated states will be compared with the measured signals where this is possible, for instance by using loads with accurately measured mass and measuring how close to the 1.8m mark the forks halt. A subjective opinion from an operator s point of view may also be included in the test summary, since this of course also is of interest for the company.

33 5 Modeling In this chapter, a model of the system will be described. The model will later be used when designing the control structure, and while evaluating the results in simulations, to determine the performance of the model in the validation phase as well as the performance of the controller. Some assumptions have been made, to make the model less complicated. The fluid inside the hydraulic part is considered incompressible and flows without losses. The friction coefficient is also considered to be constant in all parts of the system. This may make the model untrue, but still good enough without getting too time consuming. 5.1 Bond graph To get a good overview of the system dynamics, a bond graph [10, p. 117] is made, see Figure 5.1. The bond graph is a compressed and simplified version. The inductive and resistive elements in the middle s-node is a summation of friction coefficients and moments of inertia, in both the motor and the pump. The transformer is a result from a total of three transformers in a row. From the pump we get its displacement 1/r, multiplied with the cylinder area A, and finally through the chains, which scales the velocity of the mass by a factor 2. This results in a value of the transformer of ra/2. The gyrator has a value of ki f according to (2.1), which will create an nonlinearity, because i f, the field current, is a function of the armature current i a. A conflict in the causality does not really matter. It limits the possibility to 19

34 20 5 Modeling Figure 5.1: Simplified bond graph of the system with causality conflict in TF. ensure the ability to describe the system equations as a Dynamic Algebraic Equation System(DAE-System). In our thesis, we simply extract the equations. 5.2 Model equations By using the bond graph in Figure 5.1, equations can be extracted, and presented in Appendix A. With (A.3), (A.4), (A.5) and (A.6), (5.1) can be derived. u a = R a i a + L a ia + ki f ω (5.1) By using (A.7), (A.8), (A.9), (A.10) and (A.10), (5.2) is obtained. With equations (A.12) and (A.14), (5.3) is found. ki f i a = J ω + Dω + p/r (5.2) ω = rav (5.3) Finally, by using (A.13), (A.15) and (A.16), (5.4) completes the model. Now the system is described in a total of four equations. pa = m v + mg (5.4)

35 5.3 Check valve Check valve The model still has some major flaws. For instance, before the pressure is built up within the cylinder, the cylinder is falling. In a real forklift, the forks stop almost immediately because of the check valve building up the pressure very fast, since the hydraulic oil is very close to incompressible. The check valve can be described by the following pseudo-code: i f ( q_cyl >0) p_ cyl = p_pump e l s e p_ cyl = max( 2mg/A, p_pump) where q is the flow in the cylinder, p is the pressure in the pump or cylinder and 2mg/A is the required pressure in the cylinder with area A to keep an object with mass m at constant velocity. 5.4 Mast change dynamics To achieve lifting heights up towards 6m while still getting through doors, telescopic masts are required, where for instance one mast is used for the first half of the lift, and then a different mast with another set of cylinders lifts the last bit up to the top. This further complicates the model in two ways: parameters may change their values (for instance the cylinder area could theoretically be different), and the switching between masts causes impulses in the system. The main parameter change would be the mass m, since a different cylinder, or a different set of cylinders is used and parts of the masts also have to be lifted. This results in a perfectly inelastic collision, where m 1 v 1 = m 2 v 2 (5.5) describes the preservation of momentum during the collision. The left hand side of the equation is the momentum before the collision and the right hand side is the momentum after the collision. The sudden change in the velocity of the forks causes some trouble, since the derivative of the velocity is used in some of the dynamic equations of the system. This leads to very large forces on the forks, pump and motor, which may cause numerical trouble for the solver that will be used in the Simulink model later on. 5.5 Summarized mathematical model Before the model is implemented in Simulink, let us summarize what the mathematical model should look like, and talk about its features and problematic areas.

36 22 5 Modeling The mathematical model consists of the four equations in Section 5.2, along with the temperature dependent armature resistance from Section 2.3. This model is unfortunately flawed in some ways, and overly complicated in other ways. For instance, the moment of inertia J of the pump can, without any losses in model performance, be neglected since the dynamics of this part simply was much faster than the rest of the system. The biggest flaw, however, lies in the assumption that the motor function is directly proportional to the field current, which is a good approximation for small currents, but as the current increases in amplitude, the iron that is magnetized to create the magnetic field in the motor comes closer to its maximum magnetic potential and eventually becomes completely saturated. This phenomenon is extremely difficult to describe with mathematical equations, and will therefore be approximated with a look-up table instead, as it is often done in the industry. This leaves us with the following set of equations: i a = u(t) g 1(i a )ω R a i a τr a ω = g 1(i a )i a p/r D p = m v + mg + g 2(m) A/2 ω = rav 2 (5.6) where g 1 (i a ) is the motor function (look-up table) that relates angular velocity of the motor to the back-emf, and the current to the torque produced. The function g 2 (m) is a model of the friction in the hydraulics. τ is a low pass filter design parameter used as a replacement for the inductance L a. It does however fill the same function. The reason for replacing L a is because the motor supplier did not have a value for the constant, only a handful of measurements that suggested it actually varied depending on the frequency of the input. One theory is that this is because parasitic capacitances between the coils in the motor affect the inductance. The velocity and current can be written in state space form, resulting in (5.7). v = DrA2 4m v + Ag 1(i a )r 2m i a = g 1(i a )ra 2τR a v 0 i a g g 2(m) m v 1 τ i a + U batt τr a u(t) (5.7)

37 5.6 Simulink model 23 There are also a number of limitations on states and signals in the system. We have for instance the input signal which becomes saturated outside u(t) [0, 1], and is also discretized into 256 levels due to the PWM modulation. The work has also been restricted to only upward motion, since the outflow from the lifting cylinder is handled by a separate valve that has been omitted from the model. This means that the velocities and the flows in the system (apart from the armature current) will not be negative at any time. This limitation of signals has some consequences, which were discussed in Section Simulink model One good way to implement the model into a software is to build a Simulink model. By using the equations above, a basic model can be built and simulated. Each subpart of the system gets its own block and all its functionality is implemented inside it. This means that from the highest level, only the flows and efforts that enter and exit the block are visible. See Figure 5.2, to get a overview of the Simulink model. Figure 5.2: The model made in Simulink. Measured velocity, height, temperature and angular velocity. The input is a PWM-signal. All computations of how the signals relate to each other are hidden inside each block. This block structure makes it easy to further improve the model and to for instance replace or add another block, if the system is changed or a specific part of the system is replaced in the future. Furthermore, the model is structured in a way motivated by the bond graph, in the sense that all the effort signals are calculated in succession throughout the entire chain, and then the flows in the opposite direction all the way back. As can be seen in Figure 5.2, the efforts have been placed on the top half of the blocks, and the flows are all placed on the bottom half. This makes for a clear structure and it is easy to follow how everything is calculated in the model. Another benefit of doing this is that it makes it easy to calculate the power that is entering and the power that is exiting each part of the system, simply by multiplying the effort and flow. Some problems do however occur during the implementation. During the change

38 24 5 Modeling of mast, or change in any parameter, it s hard to put it onto the Simulink model, since certain parameters for blocks in Simulink are only read at the start of the simulation and cannot be altered during simulation Battery The battery, seen in Figure 5.3, has a voltage of 24V with a small inner resistance of 5.7mΩ. The Resistance results in a small, yet significant voltage drop, going into the control unit. Figure 5.3: Subsystem of the battery, made in Simulink Motor control unit The control unit, seen in Figure 5.4, scales the voltage from the battery by the Pulse Width Modulation(PWM)-signal, controlled by for instance a joystick. This voltage is later used in the motor. To follow the laws of energy preservation, the armature current is scaled too, but in the opposite direction. Field current is then added to the armature current which is the total current drawn from the battery. Figure 5.4: Subsystem of the control unit, made in Simulink.

39 5.6 Simulink model DC motor The motor block, as can be seen in Figure 5.5, calculates the torque that goes into the pump and the field and armature current drawn from the control unit. There is a block that contains the temperature model, which calculates the armature resistance from the estimated temperature. The equations for the temperature model are there, but the parameters are not known, and therefore the block is turned off at the moment. The resistance is set to be a constant Ω instead. This value was acquired from the pump manufacturer. The lookup table returns a motor function g 1 (i a ), or ki f calculations for the table can be found in Appendix A. in 5.5. More detailed The MATLAB function block calculates the field current from armature current. More information in appendix A. The value of the time constant in the low pass filter τ was finally set to 1.2 seconds. This to maintain the stability of the model for the model when lifting low masses with a low sample frequency. Note that this parameter is very uncertain, as its main purpose is to maintain stability and avoid algebraic loops in Simulink. Figure 5.5: Subsystem of the motor, made in Simulink Pump The pump, as can be seen in Figure 5.6, scales both the effort and flow part by pump displacement. It also takes friction into account, by subtracting some

40 26 5 Modeling torque, depending (linearly) on how big the angular velocity is. Figure 5.6: Subsystem of the pump, made in Simulink Check valve The check valve, Figure 5.7, prevents the load from falling down when no steering input is given. Figure 5.7: Subsystem of the check valve, made in Simulink Cylinder The cylinder, Figure 5.8, scales both effort and flow by its cross sectional area A.

41 5.6 Simulink model 27 Figure 5.8: Subsystem of the cylinder, made in Simulink Chains The lifting construction is made with chains, in a way such that velocity is doubled, but the force is halved. This results in a model that can be seen in Figure 5.9. Figure 5.9: Subsystem of the chains, made in Simulink Forks This is were the force from the chains is subtracted by the gravitation and friction force. To return velocity, force is divided by the mass m and integrated over time. The Figure 5.10 shows this.

42 28 5 Modeling Figure 5.10: Subsystem of the forks, made in Simulink Extended Kalman Filter The structure of the EKF can be see in Figure Most of the calculations are done inside the MATLAB-function, except for the linearization, which was moved outside to reduce the amount of needed inputs. Figure 5.11: Subsystem of the EKF, made in Simulink Frequency analysis It is interesting to find the dominating frequency of the model. The sampling theorem[11, p.37] tells that the sample frequency must be at least double the bandwidth to describe the signal. However, it turned out to be hard to find. All higher frequencies are filtered out by the low pass filter within the motor block.

43 5.6 Simulink model 29 To be able to find something, the low pass filter is removed temporarily, by setting the parameter τ to zero. By looking at the frequency domain from velocity of a step response, one should be able to observe what frequencies that is exist within the system kg kg Velocity[m/s] Velocity[m/s] Tid [s] Tid [s] kg kg Velocity[m/s] Velocity[m/s] Tid [s] Tid [s] Figure 5.12: Step response of model for really heavy loads. Without any low pass filter and a sample frequency of 100 Hz 1000 kg 2000 kg Amplitude Amplitude Frequency [Hz] Frequency [Hz] 3000 kg 4000 kg Amplitude Amplitude Frequency [Hz] Frequency [Hz] Figure 5.13: Frequency response of model for really heavy loads. Without any low pass filter and a sample frequency of 100 Hz Step responses can bee seen in Figure 5.12, and its corresponding frequency re-

44 30 5 Modeling sponse can be seen in Figure 5.13 For regular masses, it is hard to see something more than an evenly distributed noise. For heavier load, as in heavier than allowed to lift on the real system, some spikes for come frequencies started to appear. It is possible to argue that the peak at 20 Hz gives a hint of what dominating frequency the system has. It still does not prove anything, considering the low pass filter is taken out and the mass is heavier than allowed for our system. However, it shows how hard it is to find the dominating frequency of our model.

45 5.7 Model validation Model validation In this section, the performance of the model will be discussed, along with how it can be improved by means of tuning parameters or changing how the model fundamentally works. First, as mentioned earlier, some data will be gathered from a slightly modified forklift, where references for the lifting height and velocity are measured. This data will then be used and compared to the output of the model, and the sum of the squared errors will be used as a performance measure Data gathering To generate the data, the system was connected to a computer that reads the data from the CAN-bus in the truck. Two major parameters were varied during the experiment: the type of input signal and the load on the forks. The importance of the temperature of the motor was also studied. The input signals were generated manually, and are therefore not exactly similar to each other, but this will most likely not cause any trouble. It may even be a good thing, because the system should work as intended with any form of input signal. The input signals that were used can be found in Table 5.1. Table 5.1: The input signals that were used. Ramp Small step Big step Sinusoidal Starting from lowest possible amplitude and slowly reaching the maximum. A step with a small amplitude A step with maximum amplitude A noisy, irregular signal that somewhat resembles a sinusoidal signal For each load on the forks (no load, 500 kg, 1000 kg and 1500 kg) these input signals were generated and the data from the system was saved and converted to a format that MATLAB can handle. Finally, the system was allowed to heat up by performing a series of heavy lifts. When the motor was feeling hot to the touch, the set of experiments with no load was repeated in order to get some comparison data between a hot and a cold motor. The hydraulic oil is also affected by temperature changes, but we have disregarded this in our thesis Performance measure The validation data contains velocity measurements, and therefore this can be directly compared to the estimated velocity in the model. The same goes for the

46 32 5 Modeling motor current and the hydraulic pressure. For each of these quantities the sum of squared errors, E = 1 N N (x t ˆx t ) 2, (5.8) t=0 where N is the number of data points, is a good way of measuring how well the model represents the real system. Since Simulink is used in this project, another way of measuring the performance is to feed the signals into a scope and with ocular inspection determine how closely the modelled signals follow the measured ones. This is of course a less precise way of measuring things, but it comes with the benefit that it takes less time and gives a better understanding of how certain parameters affect the model performance. It also provides information about oscillatory behaviour and if there are any particular situations where the model performs better or worse Parameter estimation Most of the parameters in the model are related to physical quantities and can therefore be read from the data sheets of the system components. Some parameters, for instance those related to friction in the pump and the hydraulics have to be estimated somehow. It was quickly realized that a friction model in the hydraulic system was necessary, because the measured pressure differed quite substantially from the calculated pressure in the model. A friction model on the form g 2 (m) = c 1 + c 2 m (5.9) was assumed while the forks were moving. Here m is the mass of the load on the forks. The friction coefficients c 1 and c 2 along with the friction in the pump, D, were tuned roughly by hand until the model performance was pretty good in order to get an idea of the order of magnitude of the parameters. If the parameters enter the model as in (5.9), a suitable approach to use for estimating the parameters would be a least square method [10, p.284] as ˆθ = (X T X) 1 Xy (5.10) where in the example above, y is the measured force g 2 (m), θ = [ ] T c1 c 2

47 5.7 Model validation 33 Figure 5.14: Simulated and measured data of the same PWM-signal. In this case, a ramp signal and a load of 500 kg. X = [ ] 1. m Simulink has a parameter estimation feature, which uses a least square method, where an arbitrary number of parameters in a model can be estimated from sets of input-output pairs of data. Here, the accuracy is of course dependent on the amount of parameters that needs to estimated, the amount of data that is used and the complexity of the model. With a sample frequency of 500 Hz, the parameters mentioned above was set to values that can be read in Table 5.2. Note how the total friction cannot be negative as the mass of the forks m 0 is 294 kg. Table 5.2: Values gathered from parameter estimation for the friction parameters Value c c D The parameters are estimated to fit the sensor value of the velocity for a total of 14 runs. Four different masses and four different type of runs, with two runs that was erased due problem with the height sensor. One of the runs can be seen in Figure 5.14, and the others can be found in AppendixB.

48

49 6 Control Strategies When the system is completely described as a model, it is time to controlling the velocity of the load. To do this, a few control strategies will be tested and compared within simulations, where the effects of different reference signals, noise levels and parameter uncertainties are investigated, to decide what fits this application best. 6.1 Generating the reference signal The input from the user is in the form of a PWM-signal from the throttle control. This has to be rescaled to an appropriate velocity. The minimum velocity should be one that fulfills the 600 rpm criterion, which can be calculated as v min = 40π ra. (6.1) For this particular truck it turns out the be approximately 0.03m/s. The maximum lifting velocity is specified in the requirements for each truck. Our trucks required lifting speed is 0.27m/ s at no load and 0.16m/ s at maximum load. In order to fulfill the no load maximum velocity requirement, full PWM-signal must correspond to this velocity. This means that, in theory, velocity completely independent of load only can be achieved up for velocities up to 0.16m/s. For velocities higher than that, smaller loads may be lifted at a faster pace. An illustration of this is given in Figure 6.1. The area between v min and v max (1500) is the area where mass independent velocity is possible. 35

50 36 6 Control Strategies This gives us a linear mapping where PWM-signals in the interval u(t) [1, 255] corresponds to velocities v ref [0.03, 0.27], and zero PWM of course corresponds to zero velocity. Figure 6.1: An illustration of maximum lifting velocity as a function of the load. 6.2 Model Predictive Control Model Predictive Control, MPC, uses the knowledge of the model to predict where the states will be a certain number of steps from current time. By using the prediction to calculate an optimal control signal each time update, will most likely result in a computationally heavy control that requires fast and expensive hardware to be implemented. In an effort to reduce required hardware performance, but also work needed in the implementation, a linearized model of the system will be derived by making the assumption that the motor function is constant over the prediction horizon. This means that the current value from the look-up table for the motor function is fed into the controller at each time step. This value is then used to predict the future states and optimal control signals Quadratic programming One of the reasons why MPC controllers have become so popular lately is the fact that the optimization problem can be formulated in a way that it fits into the framework of quadratic programming, which is a commonly used algorithm

51 6.2 Model Predictive Control 37 for solving optimization problems in many different areas. There are many softwares available that can handle quadratic programming, including MATLAB. The quadratic programming optimization problem consists of a quadratic function that is to be minimized, with a set of linear constraints. It can be written as 1 min w 2 wt Hw + f T w (6.2) with contraints Aw b, where w is an arbitrary variable, for instance the control signal in the following sections The MPC framework The very basics of the MPC controller is to predict and optimize the control signal u so that it fulfills a set of constraints in an optimal way. In order to formulate the problem in a compact way, let us define a number of matrices in the same manner as in [8, p.157]. Given the one step ahead prediction, x k+1 = Fx k + Gu k z = Mx, (6.3) we can extend this by writing all the predictions from 1 to N 1, where X = x k x k+1. x k+n 1 = F b x k + G b U, (6.4) Let us also define F b = I F. F N G , G b = FG G (6.5) F N 2 G... FG G 0 U b = u k u k+1. u k+n 1, (6.6)

52 38 6 Control Strategies Q 1 Q 1 Q 1b = Q 2 Q 2..., Q1 (6.7) Q 2b =... Q2 (6.8) and M M b = M... M, (6.9) where Q 1 and Q 2 are two design parameters that determines how the states and input signals in the model should affect the objective function. Given this compact description, we can write the objective function as (F b x k + G b U b ) T M T b Q 1bM b (F b x k + G b U b ) + U T b Q 2bU b. (6.10) If we expand this expression, disregard the constant term since it does not affect the optimization problem, and divide it by half, we get an equation 1 2 U T b (GT b MT b Q 1bM b G b + Q 2b )U b + (G T b MT b Q 1bM b F b x k ) T U b (6.11) which fits into the Quadratic programming algorithm Choosing the cost function There are a number of ways to choose the cost function that is to be minimized, and some of them are described in [8, p.160]. In (6.11), the most basic cost function N 1 z(k + j) 2 Q 1 + u(k + j) 2 Q 2 (6.12) j=0 is used. This cost function has an obvious flaw: it tries to minimize both the state and the control signal at the same time, which for most systems can never be achieved fully, and therefore ends up with a stationary error. We would also like to implement reference following, so let us therefore define

53 6.2 Model Predictive Control 39 and R = r k r k+1. r k+n 1 u k u k 1 I u k+1 u k I ΩU δ = =. u k+n 1 u k+n 2 I I U I u k (6.13). (6.14) Note that the future values for the reference signals are used here. Since the reference signal in reality is generated by the user, it is not known what it will be in the future in this case, but an educated guess that it is constant during the prediction horizon is made. Now we can use the cost function N 1 z(k + j) r(k + j) 2 Q 1 + u(k + j) u(k + j 1) 2 Q 2 (6.15) j=0 which compares the difference between the states and the reference signal, and increments in the control signal. This is good, because if one tries to minimize this function, reference following and integral action is achieved, and the stationary error tends towards zero. With this cost function, (6.11) becomes 1 2 U T b (GT b MT b Q 1bM b G b + Ω T Q 2b Ω)U b + (G T b MT b Q 1bM b (F b x k R b ) Ω T Q 2b δ) T U b (6.16) Constrains in MPC If you disregard the fact that this system contains nonlinearities, an MPC controller would suit it very well, because you could use just about any set of relevant constraints in the optimization problem. This means that the limitations in speed, as well as the acceleration can be accounted for. One could also think of scenarios where keeping the power consumption down by limiting the armature current could be useful, for instance if the battery is running low. Another benefit of the MPC controller is that the constraints on for instance height can be handled with ease Main drawbacks The main drawbacks of the MPC controller are that it requires a lot of computational power, and that you either have to know future values of the reference

54 40 6 Control Strategies signal, or make an educated guess of what the reference signal might be. The first problem makes it more expensive to use the controller in a real time application with fast dynamics, since a much better computer has to be implemented in the system in order to run the algorithm fast enough. This may, however, not be a problem in the future as the cost of computational power seems to be decreasing steadily at the moment. There is no way to predict how the driver of the truck wants move the forks in the future, and therefore no way of acquiring the true future reference signal. This leads to that an educated guess will have to be made, for instance that the driver will hold a constant reference signal over the prediction horizon. This means that the controller theoretically could achieve faster reference following, but it is not possible in practice MPC Stability Due to model predictive control being a very advanced and complicated algorithm, it is hard to prove if it is stable or not. In most cases one simply has to try and hope for the best, but there are ways to at least make it more likely that the controller will behave as intended. One of the most important factors is the prediction horizon, which has to be long enough to fully explore the dynamics of the system that is to be controlled, but there are ways of modifying the optimization problem to ensure stability, some of which are discussed in [12]. 6.3 PID A PID controller contains a proportional, an integral, and a derivative term. All of these terms are calculated from the difference between the measured velocity and the reference signal. To decide how big impact each term has on the control signal, each term contains a tuning gain that can be varied during the design of the control. To decide the value of these constants, Ziegler-Nichols method will be used [8, p.74]. This requires the system to be brought to self-sustaining oscillations, and this can be a problematic if it has to be done using the real system. By using simulations to get the parameters instead, together with manual tuning, we will get a simple control. 6.4 IMC IMC, or Internal Model Control, uses knowledge of the model to feedback the difference from the output of the model and the real system. The model in our

55 6.4 IMC 41 case will consist of a three parameter model, made from a total of three different kinds of step responses. This yields a total of three IMC controllers. All three step responses are done on different masses: 0, 500, 1000 and 1500kg, and for the third step a warm motor is used with a load of 0kg. The warm motor step is not used further in the work, other than for showing that temperature does matter. The first two step responses are from the more advanced Simulink model. What differs the two, is the time constant τ within the low pass filter in the motor block. The values are 1 and 0.5, the steps can be seen in Figure 6.2 and 6.3. The reason two different values of τ were used, is because of the uncertainty of it. The third step in Figure 6.4, is from measurements of the real system kg kg Velocity 0.15 Velocity Time (seconds) Time (seconds) kg kg Velocity 0.15 Velocity Time (seconds) Time (seconds) Figure 6.2: Step response of Simulink model with time constant τ = 1. Blue line is the velocity step. Orange line is 63% of the final value. Yellow line is 5% of the final value. From the plots, three parameters is taken from each step configuration: Rise time T, gain K p and delay L. T is the time from where the step start to where 63% of the final value is reached, K p is the final value of the step response, and L is time from where the step start to where it has reached 5% of the final value. All parameters from all configurations with all masses, can be seen in Figure 6.5, where they also are linearized to generate parameters dependent on the load mass.

56 42 6 Control Strategies From the parameters, PID-parameters can be tuned as 6.17 according to [8]. K = L K p (T c + L) ( 1 d 1 2 ) T i = L( 1 d 1 2 ) T d = L 1 d 2 d L d = L + T (6.17) T c is a design parameter, that is tuned during a simulation in Simulink with a sample rate of 55Hz. A small T c returns a fast, but oscillating step response, while a higher returns a slow step response. After manual tuning, it was finally set to 0.5 seconds. This parameter is of course discussable, and may have different performance depending on the application. However, if we analyze the plots in Figure 6.6 and 6.7, it can be seen that the value 0.5 is a good choice. Note also that the optimal T c may vary depending on the mass, just as the other parameters do. This would require a lot of time and testing, therefore we have decided to not include it in this thesis kg kg Velocity Velocity Time (seconds) 1000 kg Time (seconds) 1500 kg 0.3 Velocity Velocity Time (seconds) Time (seconds) Figure 6.3: Step response of Simulink model with time constant τ = 0.5. Blue line is the velocity step. Orange line is 63% of the final value. Yellow line is 5% of the final value.

57 6.4 IMC Kg Kg Velocity[m/s] Velocity[m/s] Time[s] Time[s] Kg Kg Velocity[m/s] Velocity[m/s] Time[s] Time[s] Figure 6.4: Step response of the real forklift. Blue line is the velocity step. Orange line is 63% of the final value. Yellow line is 5% of the final value. 0.2 L1 L L3 Param value Mass[kg] Param value Mass[kg] Param value Mass[kg] 0.26 K K K Param value Param value Param value Mass[kg] Mass[kg] Mass[kg] 0.25 T T T3 Param value Param value Param value Mass[kg] Mass[kg] Mass[kg] Figure 6.5: Parameters to the three three-parameter models, linearized with account for the mass.

58 44 6 Control Strategies 0.14 Model velocity Time[s] Velocity[m/s] 0.5 Control signal Amplitude[%] Time[s] Figure 6.6: Step responses for different values of Tc with a frequency of 55 Hz, and mass of the load is 0 kg. Tc has the value 0.3(blue), 0.5(red) and 0.7(yellow).

59 6.4 IMC Model velocity 0.15 Time[s] Velocity[m/s] 1 Control signal Amplitude[%] Time[s] Figure 6.7: Step responses for different values of Tc with a frequency of 55 Hz, and mass of the load is 1500 kg. Tc has the value 0.3(blue), 0.5(red) and 0.7(yellow).

60 46 6 Control Strategies 6.5 Code generation To adapt our model to the real system, the model need to be converted to C-code. Fortunately, Simulink has an built in tool for this. A function is generated, that in every iteration sets the output values, by reading the variables of the input value. This is not only for the model, but for the closed loop system as well, including the extended Kalman filter. The MPC-block is not currently compatible with code generation, because of some toolboxes used to implement it into Simulink. It should be possible to implement the MPC controller in a different way, that supports code generation, but that requires a lot of work hours. Code generation makes it slightly more troublesome to change model parameters (for instance tuning parameters in the controller or EKF), because the parameters needs to be changed in the Simulink model and then the whole code needs to be generated again.

61 7 Results The results of this project work will be presented in this chapter. 7.1 Linearized model To be able to implement an MPC controller, and to perform stability analysis on the system, a linear approximation of the model is used. The main differences compared to the nonlinear model is that the motor function is assumed to be constant, the battery is assumed to be an ideal voltage source, and that the check valve has been removed. By doing these approximations, the mathematical model in (5.6) can be written on state space form: [ ] = v i Dr2 A 2 4m y = [ 1 g 1rA 2R a0 τ 0 ] [ v i ] rag 1 2m τ 1, [ ] v + i [ ] [ 0 1 U batt τr a0 0 u(t) g + g 2(m) m ] + e (7.1) with a saturation in u(t) [0, 1], and where e is gaussian noise with Cov(e) = Q. This model is used internally in the MPC controller and in the stability analysis later in this chapter. 7.2 Controller The final results for the control algorithms that have been investigated are presented in this section. Mainly factors such as overshoot, rise time and stationary 47

62 48 7 Results error will be compared, but other significant benefits or downsides will also be brought up. The PID controller was implemented on the real forklift, and the results from this will also be presented PID A number of PID controllers have been investigated in this project. This includes some that were tuned using different IMC:s, and one that was tuned by hand. The three different IMC tuned controllers and one that was tuned by hand, have the parameters specified in the Tables 7.1 and 7.2. The hand tuned PID controller is in discrete form, and the IMC tuned PID controllers are in continuous form. The major difference between the IMC tuned and the manually tuned PID controllers, is the size of the integral term. Table 7.1: The parameters for each PID controller, with a load of 1500kg. IMC1 IMC2 IMC3 Hand tuned P I D Table 7.2: The parameters for each PID controller, with a load of 1500kg. IMC1 IMC2 IMC3 Hand tuned P I D In Figure 7.1, a comparison between the different controllers is shown. It shows clearly how the IMCs struggles with heavier loads comparing with both the manually tuned PID controller and the MPC controller. Worth noticing is how well the IMC follows the first step, it is not so strange, considering the three-parameter models are made from a step response that starts from 0 velocity. When it comes to speed, both the IMC-tuned and the manualy tuned PID controller have decent results, and none really outperforms the other. One may argue that the IMCs can have a lower value of the design parameter T c and from that return a faster step response. That is true for low masses because of of the very small or non existing overshoots. In the case for heavier masses, that is not a good idea, as it will result in even more oscillating step responses.

63 7.2 Controller 49 Manual PID with 0 kg load. Manual PID with 1500 kg load. Velocity[m/s] Velocity[m/s] Time[s] First IMC with 0 kg load. Time[s] First IMC with 1500 kg load. Velocity[m/s] Velocity[m/s] Time[s] Time[s] Second IMC with 0 kg load. Second IMC with 1500 kg load. Velocity[m/s] Velocity[m/s] Time[s] Third IMC with 0 kg load. Time[s] Third IMC with 1500 kg load. Velocity[m/s] Velocity[m/s] Velocity[m/s] Time[s] MPC with 0 kg load Velocity[m/s] Time[s] MPC with 1500 kg load Time[s] Time[s] Figure 7.1: All step responses from the different controllers during a simulation with 50Hz sample frequency, plotted with the reference signal. All simulated with both 0 and 1500 kg MPC The tuning parameters that were chosen for the MPC controller were Q 1 = Q 2 = 1 as they turned out to give a good balance between reference following and smooth control output u(t) [0, 1]. If is was not for this saturation on the output signal, an LQ controller could have been used instead. The prediction horizon N was set to 20 samples (0.4s), so that we are sure that the dynamics of the system is fully explored in the prediction. This is important, because with a too short prediction horizon, the MPC controller may become unstable. The prediction horizon should however not be too long either, as this does not improve performance, only slows down the algorithm because unnecessary computations are made. In Figure 7.1, it is possible to see that the MPC controller outperforms the others in a step that starts at a non-zero velocity. It does struggle in steps from zero velocity, because of the linearized model within the MPC controller does not describe the non-linearity of the check valve, and only describes the system well during lifting. It therefore thinks that a larger output is necessary, to prevent the forks from falling downwards. One could argue that the resulting overshoot could be

64 50 7 Results dealt with by adding a constraint, for instance limiting the overshoot to 10% of the reference value. This does however lead to potential problems, because the optimization problem may become unsolvable. 7.3 Stability In this section the stability of the system will be analyzed. Throughout the section the same linearized model as for the MPC controller will be used. The motor function is fixed at its maximum value, since this is close to true for most operating ranges. Because approximations have been made in the model, the results of the stability analysis can only give a good hint about the stability properties of the real system and never be one hundred percent certain, since it does not represent the real system fully. But then again the reality can never be completely accurately modelled, so the same reasoning applies to any system, independent of whether it is linear or not Open loop stability Since the system transfer function depends on the load on the mass, let us first investigate what happens to the system when the mass is changed. Figure 7.2 shows a so called root locus plot, which displays how the poles of the system move with increasing mass. From this figure we can see that the two poles of the system are located in the left half plane for the load range that the system is designed for, which means that the open loop is stable. Note that for low masses the step response will not overshoot or oscillate, but for a critical mass the step response will become increasingly oscillatory, yet still converge to a stationary point. Implementations of systems in digital machines require discretization, so therefore we must move into the time discrete Z-domain, where another important factor is the sampling time T s. Here, T s [0.002, 2] is used, first with no load and then with maximum load. In Figure 7.3 the root locus with respect to T s and minimum load is shown. The same experiment is performed but with maximum load in Figure 7.4. Again, the system has two poles, and they are color coded according to Table 7.3. From this we can see that the sampled model is stable, but we can also clearly see that the sampling time affects the model performance, as the poles move from right to left in the unit circle. This means that it will take longer time for the model to converge to a stationary point, and the step response will be far from the reality. From this an obvious conclusion would be that the model needs to

65 7.3 Stability 51 Figure 7.2: A root locus plot for the open loop linearized continuous system. Here the mass m is varied from 0kg to 1600kg. Table 7.3: The colors that correspond to different sampling times. Blue T s = 0.002s Red T s = 0.02s Yellow T s = 0.2s Purple T s = 2s be sampled fast enough in relation to the dynamics of the system in order to get decent model performance. Figure 7.5 shows a comparison of the step responses for different sampling times. In the top half of the figure, T s = 0.02 is used, which turns out to be just about enough to accurately describe the the real system. In the bottom half of the figure, T s = 0.2 is used, and it is clearly visible that this model is undersampled and cannot describe the behavior of the real system. An appropriate sampling frequency would therefore be 50Hz or higher, which happily enough is the frequency that is used for sampling data in the forklift today.

66 52 7 Results Figure 7.3: A root locus plot for the open loop linearized discrete system with 0kg load. Here the sampling time T s is varied from 0.002s to 2s. Figure 7.4: A root locus plot for the open loop linearized discrete system with 1500kg load. Here the sampling time T s is varied from 0.002s to 2s Closed loop stability In this section, the closed loop system will be analyzed with help of the theory discussed in Section 3.3. Since the stability properties of the MPC controller is complicated to determine, focus will instead be directed towards the PID controller in this section.

67 7.3 Stability 53 Figure 7.5: Comparison of step responses between the continuous system and the sampled model with T s = 0.02 and T s = 0.2 respectively. The feedback loop is shown in Figure 7.6. Note that the signs on the sum does not matter, the gain of the loop is the same either way. The left hand side of the figure presents the original form of the loop, where G(s) is the linearized model of the system, F(s) plus the saturation is the PID controller and r is the reference signal. This loop can be rewritten by pushing F(s) through the sum, and letting r = rf(s). We then end up with a loop where (3.7) can be applied. The maximum gain of the saturation f (x) [0, 1] is 1, since it satisfies Figure 7.6: The feedback loop with a PID controller. f (x) 1 x. Using this result, (3.7) then yields that if F(s)G(s) 1 s

68 54 7 Results holds, then the closed loop is stable. The maximum gain of the feedback loop is presented in Figure 7.7, and is clearly not less than one, but remember that the feedback system may be stable even if this it does not hold, according to the reasoning in Section 3.3. Let us therefore move on and try to apply the circle criterion instead. Figure 7.7: The maximum gain of the feedback loop, as a function of the load. From this we cannot draw any conclusions about stability. The minimum gain of the saturation f (x) is 0, since f (x) = 1 x > 1. This yields a circle that crosses the real axis in 1 and, which is a vertical line in 1. This means that if Re{F(iω)G(iω)} > 1 ω (7.2) holds, then the feedback loop is stable. Figure 7.8 shows the nyquist curve for the feedback loop, for two different masses: maximum load and minimum load. The difference for different masses is quite small, and adding more curves for different values would only make the plot more difficult to read without adding any new, relevant information. The nyquist curves for all other masses is contained between these two. 7.4 Model Validation As written in earlier chapter, the straight forward way to measure how valid a model is, is by calculating the mean square error.

69 7.4 Model Validation 55 Figure 7.8: Nyquist curve for the feedback loop. Only the nyquist curve for maximum and minimum load is shown. The feedback loop is stable. However, the value itself does not really tell anything, until compared to something. By taking the square root of the mean square error, then dividing it by the current expected velocity, we can see the error as a percentage of the velocity. This gives a far better understanding about how good the model is. 15 Model error[%] 10 Filter error[%] Mass of load Mass of load Figure 7.9: Error measured in percentage of mean velocity for each run. Made for both filter and model error, and with different masses on the load. As can be seen in Figure 7.9, the error for each run is within reasonable values. The worst run is from the sinusoidal signal of the warm motor. It is also worth noticing, how all runs for the load with zero mass is significantly worse than the others. It is not so surprising, because of stability problem with small masses for the low frequency of 50 Hz.

70 56 7 Results 7.5 Extended Kalman Filter Figure 7.9 does not only provide information that the model itself is quite accurate, but also that the EKF improves the estimate slightly. The EKF observer that is used to combine the estimated states with the sensory signals in order to generate a better estimate, has not had many additions or modifications from the theory discussed in Section 3.1. One small alteration has however been made in that the filter is reset when both the estimated velocity and the input is zero, to make sure that the estimated state covariance P does not spiral out of control due to bad pressure readings and bias errors when the check valve is active. The observer is in other words only active when the forks are moving or the user generates a non-zero input signal, which is the region where the model is a good approximation of the true system Discretization The EKF has two states: the motor current i a and the fork velocity v. Since the EKF is implemented in discrete form, the state space model in (7.1) needs to be discretized, which is done in (7.3). For simplicity, Tustin s formula was not used here. [ ] vk+1 = i k+1 1 Dr2 A 2 4m T rag 1 s 2m T [ ] [ ] [ ] g s vk 0 1 g 1rA 2R a0 τ T s 1 T s + g 2 (m) m i τ ak U batt T s 0 u k y = [ 1 0 ] [ ] (7.3) v k i ak Linearization The linearization is done with the help of the Jacobian matrices of the measurement function and the state update function. Measurement function The filter has two measurements: the current i a, and the pressure in the lifting cylinder, p. The measurement function therefore is [ ] [ ] iak i f (x k ) = = ak p k r(g 1 i ak DrAv. (7.4) 2 ) This yields the Jacobian matrix [ 1 0 F k = rg 1 Dr2 A 2 ]. (7.5)

71 7.5 Extended Kalman Filter 57 State update function The linearized state update function for the EKF can be written as H k = 1 Dr2 A 2 4m T rag 1 s 2m T s g 1rA 2R a0 τ T s 1 T s (7.6) τ Tuning parameters Through experiments it was found that and Q = R = [ ] [ 1 0 ] were appropriate values for the tuning parameters in the observer. The reason for the value being so much larger than the others is that it is related to the high noise variance in the pressure sensor, which is much greater than process noise and the current measurement noise. The reason for this is that the sensor measures the pressure in Pascal, which is a very small unit and therefore the measured quantity is much larger than for instance the current Performance The hopes were initially to be able to estimate the actual lifting height of the forks, ŷ, but this turned out to not be possible because of mainly two reasons. Firstly, since the pressure release valve that is used to lower the forks has not been included in the model, it is not possible to know what the initial elevation is. This means that it would only be possible to know how far the forks have moved since the last time the filter was initiated, but an absolute height estimation would not be possible. Even if the initial lifting height was known, it would still not be possible to accurately estimate the lifting height over time, as the estimate precision quickly degenerates with every time sample that passes. This is because even the smallest error in the estimate of the velocity accumulates, and grows larger with time, since the elevation is never measured, and therefore never can be corrected Fault detection Even if the filter has not been used for this purpose in this project, it could be very useful to determine the condition of the truck by estimating the internal

72 58 7 Results states, and comparing these to the sensory data. If for instance the motor would consume more power than it usually does, the difference between the estimated and measured state would increase noticeably, and it would therefore be simple to detect that something is wrong. This way the filter could be used to determine if the system is malfunctioning and needs to be repaired, with a pretty good ability to tell what part of the truck that is broken. An example could be for instance if the friction in the pump suddenly increased, which would lead to a lower efficiency. This would lead to a higher current than predicted flowing through the motor, without any significant change in the lifting cylinder. One could therefore draw the conclusion that the error must have occured somewhere in the pump or motor. If on the other hand the mast would be bent during a collision, with a higher friction in the mast as a result, both the current and the pressure measurements would increase. This would of course indicate that the change would be somewhere in the later parts of the system. Figure 7.10: A comparison between the measured (blue) and estimated (red) pressure, with the correct model. The two match each other well.

73 7.6 Implementation 59 Figure 7.11: A comparison between the measured (blue) and estimated (red) pressure, with a faulty model where the mast friction has been doubled. Here is it clearly visible that estimated pressure is much larger than it should be, and the conclusion that something is not right can be drawn. Figure 7.10 and 7.11 illustrate an example of what happens if the mast friction in the model is changed. This gives the same result as if the friction in the real, measured system would have changed. In the case of an anomaly, it is only possible to tell that something is wrong, not exactly where the problem lies. It could either be the model or the sensor that is bad, or the real system that in fact has changed. Other than that it is not possible to tell exactly what is wrong, there are some other issues as well. The biggest problem lies in that the load on the fork may also vary, which also affects the pressure in the lifting cylinder. This makes it very difficult to distinguish errors from changes in the load, and one would have to come up with an idea how to solve this issue before this kind of fault detection could be applied to this system. 7.6 Implementation The code generated is used on an external board, loaded with the generated C- code. The internal software in the truck sends the inputs required: reference velocity from joystick, and sensor data for the armature current and cylinder pressure. The code on the external board then generates the outputs: control signal and velocity from both the model and the Kalman filter. The control signal is then sent to the forklift and the process continuous. This can be seen in figure 7.12

74 60 7 Results Figure 7.12: Flow chart to show how signals are sent between the forklift and the external card. The manually tuned PID is implemented and tested on a real forklift. The integral part was halved, and the derivative part was removed after some manual tuning. Figure 7.13 shows the results from that. 0.3 Velocity of a forklift without load Reference Estimated Measured Velocity[m/s] Time (seconds) Figure 7.13: Result from a test run with a real forklift, with 0 kg load. In Figure 7.14 and 7.15, a step with velocity of 0.1 is shown for 1000 kg load, and without load. This shows how the control is capable to handle different masses.

75 7.6 Implementation Velocity of a forklift without load Reference Estimated Measured 0.1 Velocity[m/s] Time (seconds) Figure 7.14: Result from a test run with a real forklift, with 0 kg load Velocity of a forklift 1000 kg load Reference Estimated Measured 0.1 Velocity[m/s] Time (seconds) Figure 7.15: Result from a test run with a real forklift, with 1000 kg load.

76 62 7 Results 7.7 Conclusions In this section, we will look back on background and research questions to discuss if the main purposes of the thesis has been fulfilled, and what other general conclusions that can be drawn from this project Model based work The benefits of model based work are many. Without tools for building and simulating models in an intuitive way, this thesis work would probably not have been possible to realize, at least not in the same time frame. The main benefits of being able to quickly simulate the model are that many problems can be detected early on in the process, and that critical experiments as for instance stability analysis can be performed in a safe manner. Because of this, model based work has the potential to speed up work, and reduce the amount of effort needed in the later phases of project, which is potentially very valuable as projects often cost more money later on when more people are engaged The 600 rpm criteria How can the 600 rpm criteria be fulfilled without adding an extra sensor? The simple answer to this that is cannot, at least not all the time. This is because the motor shaft is directly connected to the pump, and it will therefore always be a delay where the pump accelerates up to speed after the motor is turned on, but setting this phase aside, it is indeed possible to estimate the velocity of the pump with a model and an observer. With an estimation of the velocity, it is possible to apply a controller, which makes sure the pump velocity never falls below the critical level, until the motor is turned off again. Depending on how the controller is tuned, the length of the ramp up period to 600 rpm can be adjusted, to make give the forklift appropriate behavior, i.e. fast enough so the operator does not feel that the forklift is slow and dull, but slow enough to avoid uncomfortable jerk and oscillations. Implementing replacements for sensors in software that can be run on the computers in the forklift has the potential to save a lot of money, especially if the sensor it replaces is very expensive, or if there is a very large volume of the particular type of forklift that needs to be produced Independent lifting velocity Lifting speed independent of the load is possible in theory, but it may not be practical, as it requires the maximum reference speed to be set to the highest possible speed at maximum load. In order to maintain a higher operational speed

77 7.7 Conclusions 63 at lower loads, the maximum reference is therefore set to the highest possible speed at no load. This means that as long as the input signal is not saturated, independent lifting speed will be achieved, but otherwise the system will go as fast as possible Stability The stability of the system has been thoroughly investigated in Section 7.3, and it was shown that both the open loop system and the closed loop system with a PID-controller working as the feedback link were stable. The non-linearities did however call for simplifications and linearizations before the stability analysis could be done. During the thesis work it was also found that the sampling frequency of 50 Hz was just on the verge of being too slow to capture the dynamics of the system. The step response from steering input to the movement of the forks is simply so fast that there is only a couple of samples of the step is captured, if the system is sampled at 50 Hz. The MPC controller seems to handle this much better than the PID-controller, but if the sampling frequency would be increased in the future, the benefits of using an MPC controller - according to our simulations - would be further reduced in relation to the PID, as the performance of the PID controller increases with the sampling frequency Model generality An almost general model has been developed, with the exception of the friction parameters in the mast the and the pump, and the look-up table for the motor function. This means that most parts of the model represents data that can be read from the data sheet of each component, and that the model should be applicable to just about any forklift with the same basic structure. If it was not for the friction and the motor, all that would be necessary to modify the model to fit another system would then be to change the model parameters. The problem with friction is also that it often changes with a number of different factors, including temperature, lubrication and components wearing out over time to name a few. The temperature model has been omitted, as it was too hard to properly estimate all the related parameters. As can be seen in (2.4), there are a lot of different parameters related to the thermal capacity, thermal conductivity and cooling, which would all have to be estimated by experiments that there simply was no time for in this project. It would also lead to the same problem as for the friction, where the parameters are specific for each truck.

78 64 7 Results Other benefits of having an observer The observer could also be used as a way of predicting if the system is faulty or about to break down. By estimating the internal states of the forklift, it is possible to detect abnormalities by comparing the measurements with the estimated states. If there is a big difference between the two, it could for instance mean that the friction has increased in some part of the system and that it might be time for service Precision As mentioned in the results, the precision is not good enough to accurately estimate the lifting height, and it is possible that it may never be in the future either, without measuring velocity or height, because a double integration from the force acting on the load, is very sensitive to noise. Even if the the noise issue could be solved and an accurate estimate of the elevation changes could be achieved, it is still necessary to know the initial position of the forks. Also, the lowering functionality would have to be modelled as well to make sure the position is not lost when the lifting action is mixed with lowering movements. Because of this lack of precision, height estimation applications such as a smooth slowdown towards the 1.8 m regulation, is very hard to do Control strategies As of today, the different control algorithms that have been tested performed fairly similar, but there are some differences. Firstly, it should be mentioned that the algorithms that were used are meant to be applied to linear systems, which causes them to perform worse in the regions where the non-linearities are acting the most. This is most notable when the controllers are used to start the system from a standstill. Because the check valve is not included in the linearization of the system, the controllers cannot predict the behavior properly, and therefore thinks that there is more force than necessary needed to drive the system into the desired state. This leads to relatively large overshoots in the velocity of the forks in this case. The benefits of the PID controller are that it is very simple to implement, requires little computational power, and it is already a commonly known concept in the industry. The downsides are that it is difficult to tune to get specific characteristics, and that it may cause instability if there are too long time delays in the system. The IMC-tuned PID controllers have the strength of being tuned automatically, but in this implementation their performance were poor for heavy masses. The advantages of the MPC controller are that it uses the knowledge about the

79 7.7 Conclusions 65 model to its advantage, that it is quite intuitive to tune and that it performs well at low sampling frequencies. It is also easy to control constraints in states and control signal. The downsides are that it requires a lot of computational power, and is much harder to implement than the PID controller. The MPC controller also does not benefit from higher sampling frequencies as much as the PID controller does, because it requires a longer prediction horizon which leads to even higher demands on computational power. This, along with the simplicity of the PID controller, are the reasons why the PID controller is a better alternative than the MPC controller.

80

81 8 Future work The battery voltage is a measured signal and varies slightly with the charge of the battery, but we forgot to include this in the model. It should however be easy to modify. One of the first things that come to mind for future improvements is of course to include the temperature dependant variations in the motor s internal resistance, as this can vary quite a lot depending on how and where in the world the forklift is used. The difference in the resistance can be as much as 40% if a cold forklift in a cold storage compared to a forklift that has recently a series of heavy lifts in a hot country. As mentioned in the delimitations, there is most likely quite a bit of room for improvement in the hydraulic parts of the model, as the authors do not have very much experience in this field. Someone with more knowledge about hydraulics would perhaps be able to come with a model that represents the system better, in a more general way so that the model more easily can be modified and applied to a wider variety of forklifts. If a nonlinear MPC controller could be developed, the transition from stand still to movement could be handled better, which would reduce the amount of overshoot in this situation. This could potentially lead to the MPC controller being a better alternative than the PID controller. As mentioned in the results and conclusions, the model combined with the observer could be expanded in the future, to handle diagnosis and monitoring of the system. With this, it would be possible to make the system alert its surrounding if, or even before it is about to break down, and therefore reduce the amount 67

82 68 8 Future work of service time needed. It would also be quicker and easier to mend broken machines, if an educated guess of what is wrong can be provided to the servicemen by the system. With the rapid expansion of the way we use the internet, it is likely that data from forklifts soon will be gathered in the cloud, and if so, diagnosis data could be gathered and analyzed in order to find weak spots in the structure that needs to be fixed in the next generation of trucks.

83 Appendix

84

85 A Calculations This appendix contains some calculations that did not fit into the report. A.1 Motor function calculation From tests we have a measured armature current i a and pressure inside the cylinder p. The torque T from the motor is calculated with pump displacement 1/r, pressure p and efficiency η as in A.1. T = p rπη (A.1) The motor constant is then calculated from A.2. ki f = T i a (A.2) 71

86 72 A Calculations Table A.1: Data from a test with calculated values to get motor constant ki f. Made with a pump displacement of 4.2 load[kg] i a [A] i f [A] p[bar] η T k i f A.2 Field current calculation The forklift manufacturer has developed and verified a model to describe the field current as a function of the armature current, as can bee seen in figure A Field current calculation Field Armature Figure A.1: A linear model of how field current varies for different armature current.

87 A.3 Equations from bond graph 73 A.3 Equations from bond graph Here are all equations that can be taken from the bond graph, so that a final model can be derived. u a = u Ra + u Ia + e u Ra = R a i a L a i a = u Ia e = ki f i a T d = ki f i a T d = T I + T R + T l J ω = T I T r = Dw p = rt l F h = pa f = va F h = F + mg F = m v ω = rf (A.3) (A.4) (A.5) (A.6) (A.7) (A.8) (A.9) (A.10) (A.11) (A.12) (A.13) (A.14) (A.15) (A.16)

88

89 B Simulations B.1 Parameter estimation and model validation This appendix contains the resulting plots of the velocity,the pressure inside the cylinder, and the armature current. All plots are gathered during the parameter estimation. The plots contains both sensor data and model data for the same PWM-signal. Some parts of the sensor data is cut off. This is because irrelevant part of the each run won t be taken into account during the parameter estimation. 75

90 76 B Simulations Figure B.1: Simulated and measured data of the same PWM-signal. In this case, a full step and a load of 0 kg. Figure B.2: Simulated and measured data of the same PWM-signal. In this case, a small step and a load of 0 kg.

91 B.1 Parameter estimation and model validation 77 Figure B.3: Simulated and measured data of the same PWM-signal. In this case, a sinusoidal signal and a load of 0 kg. Figure B.4: Simulated and measured data of the same PWM-signal. In this case, a ramp signal and a load of 0 kg.

92 78 B Simulations Figure B.5: Simulated and measured data of the same PWM-signal. In this case, a full step and a load of 1500 kg. Figure B.6: Simulated and measured data of the same PWM-signal. In this case, a sinusoidal signal and a load of 1500 kg.

93 B.1 Parameter estimation and model validation 79 Figure B.7: Simulated and measured data of the same PWM-signal. In this case, a ramp signal and a load of 1500 kg. Figure B.8: Simulated and measured data of the same PWM-signal. In this case, a full step and a load of 1000 kg.

94 80 B Simulations Figure B.9: Simulated and measured data of the same PWM-signal. In this case, a small step and a load of 1000 kg. Figure B.10: Simulated and measured data of the same PWM-signal. In this case, a sinusoidal signal and a load of 1000 kg.

95 B.1 Parameter estimation and model validation 81 Figure B.11: Simulated and measured data of the same PWM-signal. In this case, a ramp signal and a load of 1000 kg. Figure B.12: Simulated and measured data of the same PWM-signal. In this case, a full step and a load of 500 kg.

96 82 B Simulations Figure B.13: Simulated and measured data of the same PWM-signal. In this case, a sinusoidal signal and a load of 500 kg. Figure B.14: Simulated and measured data of the same PWM-signal. In this case, a ramp signal and a load of 500 kg.

97 B.1 Parameter estimation and model validation 83 Figure B.15: Simulated and measured data of the same PWM-signal. In this case, a full step and a load of 0 kg, with a warm motor. Figure B.16: Simulated and measured data of the same PWM-signal. In this case, a small step and a load of 0 kg, with a warm motor.

98 84 B Simulations Figure B.17: Simulated and measured data of the same PWM-signal. In this case, a sinusoidal signal and a load of 0 kg, wit a warm motor. Figure B.18: Simulated and measured data of the same PWM-signal. In this case, a ramp signal and a load of 0 kg, with a warm motor.

Modelling and simulation of a measurement robot

Modelling and simulation of a measurement robot Modellbygge och Simulering, TSRT62 Modelling and simulation of a measurement robot Denna version: 4 oktober 2017 Servo- motor Strömregulator + u + i(t) [A] r (t) [V] u(t) [V] Arm Skruvtransmission Remtransmission

More information

Survey of Methods of Combining Velocity Profiles with Position control

Survey of Methods of Combining Velocity Profiles with Position control Survey of Methods of Combining Profiles with control Petter Karlsson Mälardalen University P.O. Box 883 713 Västerås, Sweden pkn91@student.mdh.se ABSTRACT In many applications where some kind of motion

More information

YTÜ Mechanical Engineering Department

YTÜ Mechanical Engineering Department YTÜ Mechanical Engineering Department Lecture of Special Laboratory of Machine Theory, System Dynamics and Control Division Coupled Tank 1 Level Control with using Feedforward PI Controller Lab Date: Lab

More information

Lab 3: Model based Position Control of a Cart

Lab 3: Model based Position Control of a Cart I. Objective Lab 3: Model based Position Control of a Cart The goal of this lab is to help understand the methodology to design a controller using the given plant dynamics. Specifically, we would do position

More information

(Refer Slide Time: 00:01:30 min)

(Refer Slide Time: 00:01:30 min) Control Engineering Prof. M. Gopal Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 3 Introduction to Control Problem (Contd.) Well friends, I have been giving you various

More information

Appendix A: Exercise Problems on Classical Feedback Control Theory (Chaps. 1 and 2)

Appendix A: Exercise Problems on Classical Feedback Control Theory (Chaps. 1 and 2) Appendix A: Exercise Problems on Classical Feedback Control Theory (Chaps. 1 and 2) For all calculations in this book, you can use the MathCad software or any other mathematical software that you are familiar

More information

Circuit Analysis and Ohm s Law

Circuit Analysis and Ohm s Law Study Unit Circuit Analysis and Ohm s Law By Robert Cecci Circuit analysis is one of the fundamental jobs of an electrician or electronics technician With the knowledge of how voltage, current, and resistance

More information

Adaptive Dual Control

Adaptive Dual Control Adaptive Dual Control Björn Wittenmark Department of Automatic Control, Lund Institute of Technology Box 118, S-221 00 Lund, Sweden email: bjorn@control.lth.se Keywords: Dual control, stochastic control,

More information

Laboratory Exercise 1 DC servo

Laboratory Exercise 1 DC servo Laboratory Exercise DC servo Per-Olof Källén ø 0,8 POWER SAT. OVL.RESET POS.RESET Moment Reference ø 0,5 ø 0,5 ø 0,5 ø 0,65 ø 0,65 Int ø 0,8 ø 0,8 Σ k Js + d ø 0,8 s ø 0 8 Off Off ø 0,8 Ext. Int. + x0,

More information

B1-1. Closed-loop control. Chapter 1. Fundamentals of closed-loop control technology. Festo Didactic Process Control System

B1-1. Closed-loop control. Chapter 1. Fundamentals of closed-loop control technology. Festo Didactic Process Control System B1-1 Chapter 1 Fundamentals of closed-loop control technology B1-2 This chapter outlines the differences between closed-loop and openloop control and gives an introduction to closed-loop control technology.

More information

Exercise 5 - Hydraulic Turbines and Electromagnetic Systems

Exercise 5 - Hydraulic Turbines and Electromagnetic Systems Exercise 5 - Hydraulic Turbines and Electromagnetic Systems 5.1 Hydraulic Turbines Whole courses are dedicated to the analysis of gas turbines. For the aim of modeling hydraulic systems, we analyze here

More information

Rotational Motion. Figure 1: Torsional harmonic oscillator. The locations of the rotor and fiber are indicated.

Rotational Motion. Figure 1: Torsional harmonic oscillator. The locations of the rotor and fiber are indicated. Rotational Motion 1 Purpose The main purpose of this laboratory is to familiarize you with the use of the Torsional Harmonic Oscillator (THO) that will be the subject of the final lab of the course on

More information

SRV02-Series Rotary Experiment # 1. Position Control. Student Handout

SRV02-Series Rotary Experiment # 1. Position Control. Student Handout SRV02-Series Rotary Experiment # 1 Position Control Student Handout SRV02-Series Rotary Experiment # 1 Position Control Student Handout 1. Objectives The objective in this experiment is to introduce the

More information

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost Game and Media Technology Master Program - Utrecht University Dr. Nicolas Pronost Essential physics for game developers Introduction The primary issues Let s move virtual objects Kinematics: description

More information

SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 1 EXAMINATIONS 2012/2013 XE121. ENGINEERING CONCEPTS (Test)

SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 1 EXAMINATIONS 2012/2013 XE121. ENGINEERING CONCEPTS (Test) s SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER EXAMINATIONS 202/203 XE2 ENGINEERING CONCEPTS (Test) Time allowed: TWO hours Answer: Attempt FOUR questions only, a maximum of TWO questions

More information

Lecture - 2A Instruments-I

Lecture - 2A Instruments-I Engineering Metrology Prof. J. Ramkumar Department of Mechanical Engineering & Design Programme Indian Institute of Technology, Kanpur Dr. Amandeep Singh Oberoi Department of Industrial & Production Engineering

More information

The output voltage is given by,

The output voltage is given by, 71 The output voltage is given by, = (3.1) The inductor and capacitor values of the Boost converter are derived by having the same assumption as that of the Buck converter. Now the critical value of the

More information

Introduction to Control (034040) lecture no. 2

Introduction to Control (034040) lecture no. 2 Introduction to Control (034040) lecture no. 2 Leonid Mirkin Faculty of Mechanical Engineering Technion IIT Setup: Abstract control problem to begin with y P(s) u where P is a plant u is a control signal

More information

System analysis of a diesel engine with VGT and EGR

System analysis of a diesel engine with VGT and EGR System analysis of a diesel engine with VGT and EGR Master s thesis performed in Vehicular Systems by Thomas Johansson Reg nr: LiTH-ISY-EX- -5/3714- -SE 9th October 25 System analysis of a diesel engine

More information

Index. Index. More information. in this web service Cambridge University Press

Index. Index. More information.  in this web service Cambridge University Press A-type elements, 4 7, 18, 31, 168, 198, 202, 219, 220, 222, 225 A-type variables. See Across variable ac current, 172, 251 ac induction motor, 251 Acceleration rotational, 30 translational, 16 Accumulator,

More information

Quanser NI-ELVIS Trainer (QNET) Series: QNET Experiment #02: DC Motor Position Control. DC Motor Control Trainer (DCMCT) Student Manual

Quanser NI-ELVIS Trainer (QNET) Series: QNET Experiment #02: DC Motor Position Control. DC Motor Control Trainer (DCMCT) Student Manual Quanser NI-ELVIS Trainer (QNET) Series: QNET Experiment #02: DC Motor Position Control DC Motor Control Trainer (DCMCT) Student Manual Table of Contents 1 Laboratory Objectives1 2 References1 3 DCMCT Plant

More information

Accurate Joule Loss Estimation for Rotating Machines: An Engineering Approach

Accurate Joule Loss Estimation for Rotating Machines: An Engineering Approach Accurate Joule Loss Estimation for Rotating Machines: An Engineering Approach Adeeb Ahmed Department of Electrical and Computer Engineering North Carolina State University Raleigh, NC, USA aahmed4@ncsu.edu

More information

Mechatronics Engineering. Li Wen

Mechatronics Engineering. Li Wen Mechatronics Engineering Li Wen Bio-inspired robot-dc motor drive Unstable system Mirko Kovac,EPFL Modeling and simulation of the control system Problems 1. Why we establish mathematical model of the control

More information

The basic principle to be used in mechanical systems to derive a mathematical model is Newton s law,

The basic principle to be used in mechanical systems to derive a mathematical model is Newton s law, Chapter. DYNAMIC MODELING Understanding the nature of the process to be controlled is a central issue for a control engineer. Thus the engineer must construct a model of the process with whatever information

More information

Physical Modelling with Simscape Rick Hyde

Physical Modelling with Simscape Rick Hyde Physical Modelling with Simscape Rick Hyde 1 2013 The MathWorks, Inc. Outline Part 1: Introduction to Simscape Review approaches to modelling Overview of Simscape-based libraries Introduction to physical

More information

ECEN 420 LINEAR CONTROL SYSTEMS. Lecture 6 Mathematical Representation of Physical Systems II 1/67

ECEN 420 LINEAR CONTROL SYSTEMS. Lecture 6 Mathematical Representation of Physical Systems II 1/67 1/67 ECEN 420 LINEAR CONTROL SYSTEMS Lecture 6 Mathematical Representation of Physical Systems II State Variable Models for Dynamic Systems u 1 u 2 u ṙ. Internal Variables x 1, x 2 x n y 1 y 2. y m Figure

More information

YTÜ Mechanical Engineering Department

YTÜ Mechanical Engineering Department YTÜ Mechanical Engineering Department Lecture of Special Laboratory of Machine Theory, System Dynamics and Control Division Coupled Tank 1 Level Control with using Feedforward PI Controller Lab Report

More information

Lab 3: Quanser Hardware and Proportional Control

Lab 3: Quanser Hardware and Proportional Control Lab 3: Quanser Hardware and Proportional Control The worst wheel of the cart makes the most noise. Benjamin Franklin 1 Objectives The goal of this lab is to: 1. familiarize you with Quanser s QuaRC tools

More information

(Refer Slide Time: 1:42)

(Refer Slide Time: 1:42) Control Engineering Prof. Madan Gopal Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 21 Basic Principles of Feedback Control (Contd..) Friends, let me get started

More information

What happens when things change. Transient current and voltage relationships in a simple resistive circuit.

What happens when things change. Transient current and voltage relationships in a simple resistive circuit. Module 4 AC Theory What happens when things change. What you'll learn in Module 4. 4.1 Resistors in DC Circuits Transient events in DC circuits. The difference between Ideal and Practical circuits Transient

More information

Computer Aided Control Design

Computer Aided Control Design Computer Aided Control Design Project-Lab 3 Automatic Control Basic Course, EL1000/EL1100/EL1120 Revised August 18, 2008 Modified version of laboration developed by Håkan Fortell and Svante Gunnarsson

More information

Iterative Controller Tuning Using Bode s Integrals

Iterative Controller Tuning Using Bode s Integrals Iterative Controller Tuning Using Bode s Integrals A. Karimi, D. Garcia and R. Longchamp Laboratoire d automatique, École Polytechnique Fédérale de Lausanne (EPFL), 05 Lausanne, Switzerland. email: alireza.karimi@epfl.ch

More information

Parameter Prediction and Modelling Methods for Traction Motor of Hybrid Electric Vehicle

Parameter Prediction and Modelling Methods for Traction Motor of Hybrid Electric Vehicle Page 359 World Electric Vehicle Journal Vol. 3 - ISSN 232-6653 - 29 AVERE Parameter Prediction and Modelling Methods for Traction Motor of Hybrid Electric Vehicle Tao Sun, Soon-O Kwon, Geun-Ho Lee, Jung-Pyo

More information

FEEDBACK CONTROL SYSTEMS

FEEDBACK CONTROL SYSTEMS FEEDBAC CONTROL SYSTEMS. Control System Design. Open and Closed-Loop Control Systems 3. Why Closed-Loop Control? 4. Case Study --- Speed Control of a DC Motor 5. Steady-State Errors in Unity Feedback Control

More information

Laboratory 11 Control Systems Laboratory ECE3557. State Feedback Controller for Position Control of a Flexible Joint

Laboratory 11 Control Systems Laboratory ECE3557. State Feedback Controller for Position Control of a Flexible Joint Laboratory 11 State Feedback Controller for Position Control of a Flexible Joint 11.1 Objective The objective of this laboratory is to design a full state feedback controller for endpoint position control

More information

Control of an Induction Motor Drive

Control of an Induction Motor Drive Control of an Induction Motor Drive 1 Introduction This assignment deals with control of an induction motor drive. First, scalar control (or Volts-per-Hertz control) is studied in Section 2, where also

More information

Manufacturing Equipment Control

Manufacturing Equipment Control QUESTION 1 An electric drive spindle has the following parameters: J m = 2 1 3 kg m 2, R a = 8 Ω, K t =.5 N m/a, K v =.5 V/(rad/s), K a = 2, J s = 4 1 2 kg m 2, and K s =.3. Ignore electrical dynamics

More information

1 An Overview and Brief History of Feedback Control 1. 2 Dynamic Models 23. Contents. Preface. xiii

1 An Overview and Brief History of Feedback Control 1. 2 Dynamic Models 23. Contents. Preface. xiii Contents 1 An Overview and Brief History of Feedback Control 1 A Perspective on Feedback Control 1 Chapter Overview 2 1.1 A Simple Feedback System 3 1.2 A First Analysis of Feedback 6 1.3 Feedback System

More information

Displacement at very low frequencies produces very low accelerations since:

Displacement at very low frequencies produces very low accelerations since: SEISMOLOGY The ability to do earthquake location and calculate magnitude immediately brings us into two basic requirement of instrumentation: Keeping accurate time and determining the frequency dependent

More information

Modeling and Experimentation: Compound Pendulum

Modeling and Experimentation: Compound Pendulum Modeling and Experimentation: Compound Pendulum Prof. R.G. Longoria Department of Mechanical Engineering The University of Texas at Austin Fall 2014 Overview This lab focuses on developing a mathematical

More information

Stepping Motors. Chapter 11 L E L F L D

Stepping Motors. Chapter 11 L E L F L D Chapter 11 Stepping Motors In the synchronous motor, the combination of sinusoidally distributed windings and sinusoidally time varying current produces a smoothly rotating magnetic field. We can eliminate

More information

You know for EE 303 that electrical speed for a generator equals the mechanical speed times the number of poles, per eq. (1).

You know for EE 303 that electrical speed for a generator equals the mechanical speed times the number of poles, per eq. (1). Stability 1 1. Introduction We now begin Chapter 14.1 in your text. Our previous work in this course has focused on analysis of currents during faulted conditions in order to design protective systems

More information

Study of Electromagnetic Induction

Study of Electromagnetic Induction 7. Study of Electromagnetic Induction 7.1 Introduction The basic principle of generation of alternating emf is electromagnetic induction* discovered by Michael Faraday. This phenomenon is the production

More information

DC-motor PID control

DC-motor PID control DC-motor PID control This version: November 1, 2017 REGLERTEKNIK Name: P-number: AUTOMATIC LINKÖPING CONTROL Date: Passed: Chapter 1 Introduction The purpose of this lab is to give an introduction to

More information

Lezione 9 30 March. Scribes: Arianna Marangon, Matteo Vitturi, Riccardo Prota

Lezione 9 30 March. Scribes: Arianna Marangon, Matteo Vitturi, Riccardo Prota Control Laboratory: a.a. 2015/2016 Lezione 9 30 March Instructor: Luca Schenato Scribes: Arianna Marangon, Matteo Vitturi, Riccardo Prota What is left to do is how to design the low pass pole τ L for the

More information

Physics 2112 Unit 18

Physics 2112 Unit 18 Physics 2112 Unit 18 Today s Concepts: A) Induction B) Circuits Electricity & Magnetism ecture 18, Slide 1 Where we are.. Just finished introducing magnetism Will now apply magnetism to AC circuits Unit

More information

Subject: Optimal Control Assignment-1 (Related to Lecture notes 1-10)

Subject: Optimal Control Assignment-1 (Related to Lecture notes 1-10) Subject: Optimal Control Assignment- (Related to Lecture notes -). Design a oil mug, shown in fig., to hold as much oil possible. The height and radius of the mug should not be more than 6cm. The mug must

More information

SAMPLE SOLUTION TO EXAM in MAS501 Control Systems 2 Autumn 2015

SAMPLE SOLUTION TO EXAM in MAS501 Control Systems 2 Autumn 2015 FACULTY OF ENGINEERING AND SCIENCE SAMPLE SOLUTION TO EXAM in MAS501 Control Systems 2 Autumn 2015 Lecturer: Michael Ruderman Problem 1: Frequency-domain analysis and control design (15 pt) Given is a

More information

ENGG4420 LECTURE 7. CHAPTER 1 BY RADU MURESAN Page 1. September :29 PM

ENGG4420 LECTURE 7. CHAPTER 1 BY RADU MURESAN Page 1. September :29 PM CHAPTER 1 BY RADU MURESAN Page 1 ENGG4420 LECTURE 7 September 21 10 2:29 PM MODELS OF ELECTRIC CIRCUITS Electric circuits contain sources of electric voltage and current and other electronic elements such

More information

Name: School: Class: Teacher: Date:

Name: School: Class: Teacher: Date: ame: School: Class: Teacher: Date: Materials needed: Pencil, stopwatch, and scientific calculator d v λ f λ λ Wave Pool Side View During wave cycles, waves crash along the shore every few seconds. The

More information

Calibration Routine. Store in HDD. Switch "Program Control" Ref 1/ Ref 2 Manual Automatic

Calibration Routine. Store in HDD. Switch Program Control Ref 1/ Ref 2 Manual Automatic 4.2 IMPLEMENTATION LABVIEW 4.2.1 LabVIEW features LabVIEW (short for Laboratory Virtual Instrument Engineering Workbench) originally released for the Apple Macintosh in 1986. It is a highly productive

More information

Students' Alternate Conceptions in Introductory Physics

Students' Alternate Conceptions in Introductory Physics Students' Alternate Conceptions in Introductory Physics The following is a list of preconceptions and misconceptions that high school physics teachers and college professors have recognized in their students.

More information

ELG4112. Electromechanical Systems and Mechatronics

ELG4112. Electromechanical Systems and Mechatronics ELG4112 Electromechanical Systems and Mechatronics 1 Introduction Based on Electromechanical Systems, Electric Machines, and Applied Mechatronics Electromechanical systems integrate the following: Electromechanical

More information

UNCERTAINTIES FOR PRESSURE-TIME EFFICIENCY MEASUREMENTS

UNCERTAINTIES FOR PRESSURE-TIME EFFICIENCY MEASUREMENTS UNCERTAINTIES FOR PRESSURE-TIME EFFICIENCY MEASUREMENTS ABSTRACT Jørgen Ramdal Norwegian University of Science and Technology Pontus P. Jonsson Luleå University of Technology Ole Gunnar Dahlhaug Norwegian

More information

PERFORMANCE ANALYSIS OF DIRECT TORQUE CONTROL OF 3-PHASE INDUCTION MOTOR

PERFORMANCE ANALYSIS OF DIRECT TORQUE CONTROL OF 3-PHASE INDUCTION MOTOR PERFORMANCE ANALYSIS OF DIRECT TORQUE CONTROL OF 3-PHASE INDUCTION MOTOR 1 A.PANDIAN, 2 Dr.R.DHANASEKARAN 1 Associate Professor., Department of Electrical and Electronics Engineering, Angel College of

More information

ELEC4631 s Lecture 2: Dynamic Control Systems 7 March Overview of dynamic control systems

ELEC4631 s Lecture 2: Dynamic Control Systems 7 March Overview of dynamic control systems ELEC4631 s Lecture 2: Dynamic Control Systems 7 March 2011 Overview of dynamic control systems Goals of Controller design Autonomous dynamic systems Linear Multi-input multi-output (MIMO) systems Bat flight

More information

CHAPTER 1 Basic Concepts of Control System. CHAPTER 6 Hydraulic Control System

CHAPTER 1 Basic Concepts of Control System. CHAPTER 6 Hydraulic Control System CHAPTER 1 Basic Concepts of Control System 1. What is open loop control systems and closed loop control systems? Compare open loop control system with closed loop control system. Write down major advantages

More information

Modelling the Dynamics of Flight Control Surfaces Under Actuation Compliances and Losses

Modelling the Dynamics of Flight Control Surfaces Under Actuation Compliances and Losses Modelling the Dynamics of Flight Control Surfaces Under Actuation Compliances and Losses Ashok Joshi Department of Aerospace Engineering Indian Institute of Technology, Bombay Powai, Mumbai, 4 76, India

More information

Dynamics of Physical System Prof. S. Banerjee Department of Electrical Engineering Indian Institute of Technology, Kharagpur

Dynamics of Physical System Prof. S. Banerjee Department of Electrical Engineering Indian Institute of Technology, Kharagpur Dynamics of Physical System Prof. S. Banerjee Department of Electrical Engineering Indian Institute of Technology, Kharagpur Lecture - 1 Introduction to System Elements One of the important elements of

More information

Lab 6d: Self-Erecting Inverted Pendulum (SEIP)

Lab 6d: Self-Erecting Inverted Pendulum (SEIP) Lab 6d: Self-Erecting Inverted Pendulum (SEIP) Arthur Schopen- Life swings like a pendulum backward and forward between pain and boredom. hauer 1 Objectives The goal of this project is to design a controller

More information

Overview of motors and motion control

Overview of motors and motion control Overview of motors and motion control. Elements of a motion-control system Power upply High-level controller ow-level controller Driver Motor. Types of motors discussed here; Brushed, PM DC Motors Cheap,

More information

COMPARISON OF TWO METHODS TO SOLVE PRESSURES IN SMALL VOLUMES IN REAL-TIME SIMULATION OF A MOBILE DIRECTIONAL CONTROL VALVE

COMPARISON OF TWO METHODS TO SOLVE PRESSURES IN SMALL VOLUMES IN REAL-TIME SIMULATION OF A MOBILE DIRECTIONAL CONTROL VALVE COMPARISON OF TWO METHODS TO SOLVE PRESSURES IN SMALL VOLUMES IN REAL-TIME SIMULATION OF A MOBILE DIRECTIONAL CONTROL VALVE Rafael ÅMAN*, Heikki HANDROOS*, Pasi KORKEALAAKSO** and Asko ROUVINEN** * Laboratory

More information

PHYSICS PAPER 1. (THEORY) (Three hours)

PHYSICS PAPER 1. (THEORY) (Three hours) PHYSICS PAPER 1 (THEY) (Three hours) (Candidates are allowed additional 15 minutes for only reading the paper. They must NOT start writing during this time.) All questions are compulsory. Question number

More information

AC Induction Motor Stator Resistance Estimation Algorithm

AC Induction Motor Stator Resistance Estimation Algorithm 7th WSEAS International Conference on Electric Power Systems, High Voltages, Electric Machines, Venice, Italy, November 21-23, 27 86 AC Induction Motor Stator Resistance Estimation Algorithm PETR BLAHA

More information

MATHEMATICAL MODELING OF OPEN LOOP PMDC MOTOR USING MATLAB/SIMULINK

MATHEMATICAL MODELING OF OPEN LOOP PMDC MOTOR USING MATLAB/SIMULINK MATHEMATICAL MODELING OF OPEN LOOP PMDC MOTOR USING MATLAB/SIMULINK 1 Mr.Dhaval K.Patel 1 Assistant Professor, Dept. of Electrical Engineering. Gidc Degree Engineering College Abrama, Navsari. ABSTRACT:

More information

A Novel Technique to Improve the Online Calculation Performance of Nonlinear Problems in DC Power Systems

A Novel Technique to Improve the Online Calculation Performance of Nonlinear Problems in DC Power Systems electronics Article A Novel Technique to Improve the Online Calculation Performance of Nonlinear Problems in DC Power Systems Qingshan Xu 1, Yuqi Wang 1, * ID, Minjian Cao 1 and Jiaqi Zheng 2 1 School

More information

Angle estimation using gyros and accelerometers

Angle estimation using gyros and accelerometers Lab in Dynamical systems and control TSRT21 Angle estimation using gyros and accelerometers This version: January 25, 2017 Name: LERTEKNIK REG P-number: Date: AU T O MA R TI C C O N T OL Passed: LINKÖPING

More information

ENGI9496 Modeling and Simulation of Dynamic Systems Bond Graphs

ENGI9496 Modeling and Simulation of Dynamic Systems Bond Graphs ENGI9496 Modeling and Simulation of Dynamic Systems Bond Graphs Topics covered so far: Analogies between mechanical (translation and rotation), fluid, and electrical systems o Review of domain-specific

More information

Power System Analysis Prof. A. K. Sinha Department of Electrical Engineering Indian Institute of Technology, Kharagpur

Power System Analysis Prof. A. K. Sinha Department of Electrical Engineering Indian Institute of Technology, Kharagpur Power System Analysis Prof. A. K. Sinha Department of Electrical Engineering Indian Institute of Technology, Kharagpur Lecture - 9 Transmission Line Steady State Operation Welcome to lesson 9, in Power

More information

An Introduction to Electricity and Circuits

An Introduction to Electricity and Circuits An Introduction to Electricity and Circuits Materials prepared by Daniel Duke 4 th Sept 2013. This document may be copied and edited freely with attribution. This course has been designed to introduce

More information

School of Mechanical Engineering Purdue University. ME375 ElectroMechanical - 1

School of Mechanical Engineering Purdue University. ME375 ElectroMechanical - 1 Electro-Mechanical Systems DC Motors Principles of Operation Modeling (Derivation of fg Governing Equations (EOM)) Block Diagram Representations Using Block Diagrams to Represent Equations in s - Domain

More information

DOWNLOAD PDF AC CIRCUIT ANALYSIS PROBLEMS AND SOLUTIONS

DOWNLOAD PDF AC CIRCUIT ANALYSIS PROBLEMS AND SOLUTIONS Chapter 1 : Resistors in Circuits - Practice â The Physics Hypertextbook In AC circuit analysis, if the circuit has sources operating at different frequencies, Superposition theorem can be used to solve

More information

Transient Analysis of Separately Excited DC Motor and Braking of DC Motor Using Numerical Technique

Transient Analysis of Separately Excited DC Motor and Braking of DC Motor Using Numerical Technique Journal homepage: www.mjret.in ISSN:2348-6953 Transient Analysis of Separately Excited DC Motor and Braking of DC Motor Using Numerical Technique Pavan R Patil, Javeed Kittur, Pavankumar M Pattar, Prajwal

More information

Multi-Robotic Systems

Multi-Robotic Systems CHAPTER 9 Multi-Robotic Systems The topic of multi-robotic systems is quite popular now. It is believed that such systems can have the following benefits: Improved performance ( winning by numbers ) Distributed

More information

Acceleration Feedback

Acceleration Feedback Acceleration Feedback Mechanical Engineer Modeling & Simulation Electro- Mechanics Electrical- Electronics Engineer Sensors Actuators Computer Systems Engineer Embedded Control Controls Engineer Mechatronic

More information

R a) Compare open loop and closed loop control systems. b) Clearly bring out, from basics, Force-current and Force-Voltage analogies.

R a) Compare open loop and closed loop control systems. b) Clearly bring out, from basics, Force-current and Force-Voltage analogies. SET - 1 II B. Tech II Semester Supplementary Examinations Dec 01 1. a) Compare open loop and closed loop control systems. b) Clearly bring out, from basics, Force-current and Force-Voltage analogies..

More information

Please bring the task to your first physics lesson and hand it to the teacher.

Please bring the task to your first physics lesson and hand it to the teacher. Pre-enrolment task for 2014 entry Physics Why do I need to complete a pre-enrolment task? This bridging pack serves a number of purposes. It gives you practice in some of the important skills you will

More information

Positioning Servo Design Example

Positioning Servo Design Example Positioning Servo Design Example 1 Goal. The goal in this design example is to design a control system that will be used in a pick-and-place robot to move the link of a robot between two positions. Usually

More information

LAB 3 - VELOCITY AND ACCELERATION

LAB 3 - VELOCITY AND ACCELERATION Name Date Partners L03-1 LAB 3 - VELOCITY AND ACCELERATION OBJECTIVES A cheetah can accelerate from 0 to 50 miles per hour in 6.4 seconds. Encyclopedia of the Animal World A Jaguar can accelerate from

More information

TEACHER BACKGROUND INFORMATION FORCE

TEACHER BACKGROUND INFORMATION FORCE TEACHER BACKGROUND INFORMATION FORCE WHAT IS FORCE? Force is anything that can change the state of motion of a body. In simpler terms, force is a push or a pull. For example, wind pushing on a flag is

More information

(Refer Slide Time: 01:09)

(Refer Slide Time: 01:09) Mechanical Measurements and Metrology Prof. S. P. Venkateshan Department of Mechanical Engineering Indian Institute of Technology, Madras Module - 4 Lecture - 36 Measurement of Thermo-Physical Properties

More information

Automatic Control II Computer exercise 3. LQG Design

Automatic Control II Computer exercise 3. LQG Design Uppsala University Information Technology Systems and Control HN,FS,KN 2000-10 Last revised by HR August 16, 2017 Automatic Control II Computer exercise 3 LQG Design Preparations: Read Chapters 5 and 9

More information

EE C128 / ME C134 Final Exam Fall 2014

EE C128 / ME C134 Final Exam Fall 2014 EE C128 / ME C134 Final Exam Fall 2014 December 19, 2014 Your PRINTED FULL NAME Your STUDENT ID NUMBER Number of additional sheets 1. No computers, no tablets, no connected device (phone etc.) 2. Pocket

More information

Chapter 3 AUTOMATIC VOLTAGE CONTROL

Chapter 3 AUTOMATIC VOLTAGE CONTROL Chapter 3 AUTOMATIC VOLTAGE CONTROL . INTRODUCTION TO EXCITATION SYSTEM The basic function of an excitation system is to provide direct current to the field winding of the synchronous generator. The excitation

More information

Closed-loop system 2/1/2016. Generally MIMO case. Two-degrees-of-freedom (2 DOF) control structure. (2 DOF structure) The closed loop equations become

Closed-loop system 2/1/2016. Generally MIMO case. Two-degrees-of-freedom (2 DOF) control structure. (2 DOF structure) The closed loop equations become Closed-loop system enerally MIMO case Two-degrees-of-freedom (2 DOF) control structure (2 DOF structure) 2 The closed loop equations become solving for z gives where is the closed loop transfer function

More information

Modeling and Simulation Revision IV D R. T A R E K A. T U T U N J I P H I L A D E L P H I A U N I V E R S I T Y, J O R D A N

Modeling and Simulation Revision IV D R. T A R E K A. T U T U N J I P H I L A D E L P H I A U N I V E R S I T Y, J O R D A N Modeling and Simulation Revision IV D R. T A R E K A. T U T U N J I P H I L A D E L P H I A U N I V E R S I T Y, J O R D A N 2 0 1 7 Modeling Modeling is the process of representing the behavior of a real

More information

Design Engineering MEng EXAMINATIONS 2016

Design Engineering MEng EXAMINATIONS 2016 IMPERIAL COLLEGE LONDON Design Engineering MEng EXAMINATIONS 2016 For Internal Students of the Imperial College of Science, Technology and Medicine This paper is also taken for the relevant examination

More information

Subject: BT6008 Process Measurement and Control. The General Control System

Subject: BT6008 Process Measurement and Control. The General Control System WALJAT COLLEGES OF APPLIED SCIENCES In academic partnership with BIRLA INSTITUTE OF TECHNOLOGY Question Bank Course: Biotechnology Session: 005-006 Subject: BT6008 Process Measurement and Control Semester:

More information

PLK VICWOOD K.T. CHONG SIXTH FORM COLLEGE Form Six Second Term Final Examination ( ) Physics A-Level Paper 1 Question/Answer Book A

PLK VICWOOD K.T. CHONG SIXTH FORM COLLEGE Form Six Second Term Final Examination ( ) Physics A-Level Paper 1 Question/Answer Book A 05-06/F. 6 Final Exam/AL Physics/Paper 1/P.1 PLK VICWOOD K.T. CHONG SIXTH FORM COLLEGE Form Six Second Term Final Examination (2005-2006) A Physics A-Level Paper 1 Question/Answer Book A Time Allowed:

More information

Unit V: Mechanical Energy

Unit V: Mechanical Energy Unit V: Mechanical Energy Work In physics, we have two definitions of work. 1) Work is a transfer of energy. This means that energy changes forms or energy is transferred from one object to another object.

More information

THE REACTION WHEEL PENDULUM

THE REACTION WHEEL PENDULUM THE REACTION WHEEL PENDULUM By Ana Navarro Yu-Han Sun Final Report for ECE 486, Control Systems, Fall 2013 TA: Dan Soberal 16 December 2013 Thursday 3-6pm Contents 1. Introduction... 1 1.1 Sensors (Encoders)...

More information

School of Engineering Faculty of Built Environment, Engineering, Technology & Design

School of Engineering Faculty of Built Environment, Engineering, Technology & Design Module Name and Code : ENG60803 Real Time Instrumentation Semester and Year : Semester 5/6, Year 3 Lecture Number/ Week : Lecture 3, Week 3 Learning Outcome (s) : LO5 Module Co-ordinator/Tutor : Dr. Phang

More information

DC-motor modelling and parameter identification

DC-motor modelling and parameter identification DC-motor modelling and parameter identification This version: November 1, 2017 Name: LERTEKNIK REG P-number: Date: AU T O MA RO TI C C O N T L Passed: LINKÖPING Chapter 1 Introduction The purpose of this

More information

Feedback Control of Linear SISO systems. Process Dynamics and Control

Feedback Control of Linear SISO systems. Process Dynamics and Control Feedback Control of Linear SISO systems Process Dynamics and Control 1 Open-Loop Process The study of dynamics was limited to open-loop systems Observe process behavior as a result of specific input signals

More information

Analog Integrated Circuit Design Prof. Nagendra Krishnapura Department of Electrical Engineering Indian Institute of Technology, Madras

Analog Integrated Circuit Design Prof. Nagendra Krishnapura Department of Electrical Engineering Indian Institute of Technology, Madras Analog Integrated Circuit Design Prof. Nagendra Krishnapura Department of Electrical Engineering Indian Institute of Technology, Madras Lecture No - 42 Fully Differential Single Stage Opamp Hello and welcome

More information

Active Fault Diagnosis for Uncertain Systems

Active Fault Diagnosis for Uncertain Systems Active Fault Diagnosis for Uncertain Systems Davide M. Raimondo 1 Joseph K. Scott 2, Richard D. Braatz 2, Roberto Marseglia 1, Lalo Magni 1, Rolf Findeisen 3 1 Identification and Control of Dynamic Systems

More information

Sensorless DTC-SVM of Induction Motor by Applying Two Neural Controllers

Sensorless DTC-SVM of Induction Motor by Applying Two Neural Controllers Sensorless DTC-SVM of Induction Motor by Applying Two Neural Controllers Abdallah Farahat Mahmoud Dept. of Electrical Engineering, Al-Azhar University, Qena, Egypt engabdallah2012@azhar.edu.eg Adel S.

More information

R10 JNTUWORLD B 1 M 1 K 2 M 2. f(t) Figure 1

R10 JNTUWORLD B 1 M 1 K 2 M 2. f(t) Figure 1 Code No: R06 R0 SET - II B. Tech II Semester Regular Examinations April/May 03 CONTROL SYSTEMS (Com. to EEE, ECE, EIE, ECC, AE) Time: 3 hours Max. Marks: 75 Answer any FIVE Questions All Questions carry

More information

Double Pendulum Power Method for Extracting AC Power from a Mechanical Oscillator

Double Pendulum Power Method for Extracting AC Power from a Mechanical Oscillator Double Pendulum Power Method for Extracting AC Power from a Mechanical Oscillator Anon Ymous, M.Sc. M.E. anon.ymous.dpp@gmail.com 21-10-13 1 Introduction The idea is that of a double pendulum where an

More information

ECE 5670/6670 Lab 8. Torque Curves of Induction Motors. Objectives

ECE 5670/6670 Lab 8. Torque Curves of Induction Motors. Objectives ECE 5670/6670 Lab 8 Torque Curves of Induction Motors Objectives The objective of the lab is to measure the torque curves of induction motors. Acceleration experiments are used to reconstruct approximately

More information