In my youth, I read this book from Alexandre Dumas The Count of Monte Cristo. The young man was put into a prison and there he met an old wise man. The old man showed him his collection of books and said that with 100 books, he can understand the world. Books are super important. In space vector research and after reading of a few papers on overmodulation, one feels that those descriptions are just not enough. Is there a nice book? The answer is Yes and Holmes and Lipo's book is a nice one.
There is some misconception about Power Electronics. System people think PE people are more or less hardware people lacking of analytical capability. That is wrong. Power Electronics is about details. Details are research. Browsing over the book, one finds not only the beautiful space vector but also sophisticated math from signal processing and communication field: Chapter 3 is on double Fourier integral based harmonic analysis. Such analysis is then employed to obtain every PWM scheme's harmonic expression. And there is plenty of math.
Another example is Chapter 12. Check out some hexagons, more hexagons, and decomposition. Switches can be very complicated. This book is qualified as an applied math book. The only shortcoming, in my opinion, is that the book was not written in Latex.
Showing posts with label book review. Show all posts
Showing posts with label book review. Show all posts
Thursday, May 30, 2013
Sunday, April 14, 2013
Federico Milano's Power System Modeling and Scripting
Federico Milano published this book in 2010 via Springer. Milano is a great programmer and a great writer. I finished this book without taking a break - a speed can only be achieved when I was reading a highly artistic novel. Great writing. And many words said by Milano echo my thoughts.
Milano is the developer of free power system analysis software PSAT. After 10 years, he developed another set of software DOME which is completely based on Unix, Python and CVXOPT. Choosing programming language, explained by Milano, is a philosophical question. For power system computing, matrix algebra, complex number handling are requirements. In addition, to conduct convex optimization, existing libraries would be a plus. Python meets all the requirements. Therefore, Python script is chosen as the codes in his book. In the computing community, Python is widely adopted for its open source nature. Contribution and new modules are added to Python library in a dazzling speed. Any computing sensitive person probably knows Python.
After talking about programming language and philosophy behind, Milano uses Chapters 3-7 to describe power system computing problems, including load flow, robust load flow using Runge-Kutta method, continuous power flow, small signal analysis with variety of eigenvalue computing methods, and time-domain simulation methods. In those areas, he is an expert and have published many IEEE PWRS papers. Modeling details are found in Part II devices where one finds every power system component.
Adopting this book as a text for power system computing class would be a sensible idea. The reason is very simple: not only Milano provides text, he also provides the programming tutorial with sample codes. One semester's study with homework and project assignments can move our research to a new level.
Milano is the developer of free power system analysis software PSAT. After 10 years, he developed another set of software DOME which is completely based on Unix, Python and CVXOPT. Choosing programming language, explained by Milano, is a philosophical question. For power system computing, matrix algebra, complex number handling are requirements. In addition, to conduct convex optimization, existing libraries would be a plus. Python meets all the requirements. Therefore, Python script is chosen as the codes in his book. In the computing community, Python is widely adopted for its open source nature. Contribution and new modules are added to Python library in a dazzling speed. Any computing sensitive person probably knows Python.
After talking about programming language and philosophy behind, Milano uses Chapters 3-7 to describe power system computing problems, including load flow, robust load flow using Runge-Kutta method, continuous power flow, small signal analysis with variety of eigenvalue computing methods, and time-domain simulation methods. In those areas, he is an expert and have published many IEEE PWRS papers. Modeling details are found in Part II devices where one finds every power system component.
Adopting this book as a text for power system computing class would be a sensible idea. The reason is very simple: not only Milano provides text, he also provides the programming tutorial with sample codes. One semester's study with homework and project assignments can move our research to a new level.
Tuesday, March 19, 2013
From Dynamic Programming to HJB to Pontrygin Minimum Principle
Chapter 3 of the 3rd edition of Dimitri Betsekas's book "Dynamic Programming and Optimal Control" is on continuous-time optimal control. Betsekas used Dynamic Programming "the principle of optimality" developed by Bellman to formulate an iterative cost-to-go function for control problems. The basic philosophy is as follows: the cost-to-go function at step K is related to the current state and the control decision and the cost-to-go function for step K+1. Applying Taylor's expansion and organizing the equation, we then have the Hamiltonian-Jacobi-Bellman (HJB) equation.
With HJB, we can solve a linear quadratic regulator problem. The cost-to-go function has to be guessed. In the LQR problem, the guess is simple x'K(t)x. Once this is guessed, we can proceed and find the optimal control policy u* that can minimize HJB. Further the condition of K(t) can be identified as the continuous-time Riccati Equation. Let this problem be infinite horizon, the continuous-time Riccati equation evolves to the Algebraic Riccati Equation (ARE).
Here is a question. With HJB, can we solve the parking problem? The problem is like this: you want to drive your car to the origin at the minimum time. How should you drive given the limit of acceleration? Intuitively, one can answer, we should accelerate the car to the maximum for the first half distance. Then we decelerator the car to the maximum.
Using HJB, we have to guess the cost-to-go function. And this is difficult to do. In Betrsekas's book, he gave an example to show the difficulty. One has to first guess the control policy, then derive the cost-to-go function. BTW, this function has different expression for variety of conditions. It is not the continuous function we are comfortable with.
To be able to solve a bang-bang control problem, we have to go further to the Pontrygin Minimum Principle. This principle comes from HJB by this argument: if the optimal state trajectory x* is given, our life will be easier. and indeed, we can have a very concise expression: Hamiltonian function H(x, u, p) = g(x,u) + p*f(x,u) which bears similarity as a Lagrangian function L = obj(x) + lambda*h(x). The difference: f(x,u) is the ODE function, h(x) is the equality constraint; Also integration of g(x,u) is a component of the objective function.
Hamiltonian function greatly simplifies our life. p(t) is given by adjoint equations and these can be derived based on HJB's differentiation with respect to time and state. The optimization problem converts to find control policy u* over a horizon that will minimize the Hamiltonian function. And you do not need to guess the cost-to-go function. Everything is straightforward. With that, a bang-bang control problem can be solved with ease.
As a control engineer, we tend to remember the friendly Hamiltonian but forget the Dynamic Programming philosophy. Basic philosophy is important to understand - we will need it to extend such philosophy to problems with different format.
As an end note, in fact, we can simply make the integration in the objective function as a sum. Further, the ODE equation can be converted to discrete equations. In addition, each step of the state can be expressed just by control policy and initial state. We can formulate a Lagrangian and solve an unconstrained optimization problem. This objective function has nothing to do with x_k (state at each step). It is only related to control policy. Solving requires much more computing time than that required by Dynamic Programming formulation. Refer Stephen Boyd's lecture slides Linear Dynamic Systems.
With HJB, we can solve a linear quadratic regulator problem. The cost-to-go function has to be guessed. In the LQR problem, the guess is simple x'K(t)x. Once this is guessed, we can proceed and find the optimal control policy u* that can minimize HJB. Further the condition of K(t) can be identified as the continuous-time Riccati Equation. Let this problem be infinite horizon, the continuous-time Riccati equation evolves to the Algebraic Riccati Equation (ARE).
Here is a question. With HJB, can we solve the parking problem? The problem is like this: you want to drive your car to the origin at the minimum time. How should you drive given the limit of acceleration? Intuitively, one can answer, we should accelerate the car to the maximum for the first half distance. Then we decelerator the car to the maximum.
Using HJB, we have to guess the cost-to-go function. And this is difficult to do. In Betrsekas's book, he gave an example to show the difficulty. One has to first guess the control policy, then derive the cost-to-go function. BTW, this function has different expression for variety of conditions. It is not the continuous function we are comfortable with.
To be able to solve a bang-bang control problem, we have to go further to the Pontrygin Minimum Principle. This principle comes from HJB by this argument: if the optimal state trajectory x* is given, our life will be easier. and indeed, we can have a very concise expression: Hamiltonian function H(x, u, p) = g(x,u) + p*f(x,u) which bears similarity as a Lagrangian function L = obj(x) + lambda*h(x). The difference: f(x,u) is the ODE function, h(x) is the equality constraint; Also integration of g(x,u) is a component of the objective function.
Hamiltonian function greatly simplifies our life. p(t) is given by adjoint equations and these can be derived based on HJB's differentiation with respect to time and state. The optimization problem converts to find control policy u* over a horizon that will minimize the Hamiltonian function. And you do not need to guess the cost-to-go function. Everything is straightforward. With that, a bang-bang control problem can be solved with ease.
As a control engineer, we tend to remember the friendly Hamiltonian but forget the Dynamic Programming philosophy. Basic philosophy is important to understand - we will need it to extend such philosophy to problems with different format.
As an end note, in fact, we can simply make the integration in the objective function as a sum. Further, the ODE equation can be converted to discrete equations. In addition, each step of the state can be expressed just by control policy and initial state. We can formulate a Lagrangian and solve an unconstrained optimization problem. This objective function has nothing to do with x_k (state at each step). It is only related to control policy. Solving requires much more computing time than that required by Dynamic Programming formulation. Refer Stephen Boyd's lecture slides Linear Dynamic Systems.
Wednesday, December 5, 2012
Model predictive control in power converter
The state-of-the-art power converter control is based on linear control and modulation. For example, we design a controller to track the converter current. If it is dc/dc converter, we look at the average current and compare the measurement with the reference and fed the error to a PI controller. Output of the PI controller is the modulation signal of the PWM. If it is instead ac current, the conventional way is to apply a reference frame to convert three-phase ac current into two dc components. Then PI controllers are applied. The output signals are converted back to 3-phase ac and fed into PWM.
MPC has been applied and tested in power converter. A group led by Chile researcher Jose Rodrigues has done plenty of work. The philosophy is such: a two-level dc/ac converter has 6 switches. In reality, two of the switches on a leg are dependent on each other. Hence the total switching state is 2^3=8. Based on the switching states, we can predict the ac current and voltage if the dc voltage is given. We can now define a cost function, for example, error of the current. Find one of the state among eight states to make the cost function minimum. If switching loss is considered, change the objective function.
This is in essence a very simple optimization problem since one can just enumerate and find the best state. The way to produce states is much more direct compared to the philosophy of linear control design. There is also not too much prediction, two steps is enough.
As an optimization problem, this problem is overly simple. Not much to do to investigate optimization algorithm. Math people won't look at the problem.
The disadvantage of such control, in my opinion, though it can take care of numerous issues such as switching loss, there is not much to analyze. Bandwidth, control performance, stability etc, these basic performance indices seem not to be analyzed in this case. Industry people may not see any need to implement MPC unless they encounter some issues that traditional modulation based control cannot solve. Which issues are those? These will be worthy to investigate.
Prof. Rodrigues did a superb job to lay out the foundation (since 2004) and did numerous experimental comparison to demonstrate first of all such idea is feasible and the control performance can exceed linear ones due to the tuning of objective functions.
MPC has been applied and tested in power converter. A group led by Chile researcher Jose Rodrigues has done plenty of work. The philosophy is such: a two-level dc/ac converter has 6 switches. In reality, two of the switches on a leg are dependent on each other. Hence the total switching state is 2^3=8. Based on the switching states, we can predict the ac current and voltage if the dc voltage is given. We can now define a cost function, for example, error of the current. Find one of the state among eight states to make the cost function minimum. If switching loss is considered, change the objective function.
This is in essence a very simple optimization problem since one can just enumerate and find the best state. The way to produce states is much more direct compared to the philosophy of linear control design. There is also not too much prediction, two steps is enough.
As an optimization problem, this problem is overly simple. Not much to do to investigate optimization algorithm. Math people won't look at the problem.
The disadvantage of such control, in my opinion, though it can take care of numerous issues such as switching loss, there is not much to analyze. Bandwidth, control performance, stability etc, these basic performance indices seem not to be analyzed in this case. Industry people may not see any need to implement MPC unless they encounter some issues that traditional modulation based control cannot solve. Which issues are those? These will be worthy to investigate.
Prof. Rodrigues did a superb job to lay out the foundation (since 2004) and did numerous experimental comparison to demonstrate first of all such idea is feasible and the control performance can exceed linear ones due to the tuning of objective functions.
Tuesday, November 27, 2012
People In Control
The best section of the IEEE control magazine is People in Control. The magazine interviews researchers in control area and seek their opinion on research, teaching and even hobbies. It could be the magazine got such idea from Time Magazines ten question for somebody. The nice thing is: It gets the readers immediately familiar with these people. And networking is important to a researcher. Starting from the beginning, one needs an adviser. In long run, the keep up research, one needs collaborators.
The impressive interviews I can remember include the following people: Vidyasagar, the author of nonlinear system analysis; Murak, a UC Berkley researcher. Regarding teaching, Vidyasagar said traditional way can invoke thinking and gets into the depth. Agree. Regarding control applications in finance, Vidyasagar said: nope, that is not an application worth to do. Morally correct. In the case of Murak, his teaching philosophy: less is more. Cannot agree more. Fundamentals are the most important things to teach. In fact, from a syllabus, one can judge if an instructor is an expert in this area or not. An inexperienced one wants to cram everything in the course lecture without emphasis. An experienced one knows where is the emphasis.
Murak in google scholar has citation numbers reaching 3000 or more with H-factor i-10 factor above 30. Well, his hobby: reading New Yorker and hiking.
Maybe, I should resume reading of New Yorker and start to hike daily in the campus. Why? Apparently these are sound hobbies to make one a good researcher.
The impressive interviews I can remember include the following people: Vidyasagar, the author of nonlinear system analysis; Murak, a UC Berkley researcher. Regarding teaching, Vidyasagar said traditional way can invoke thinking and gets into the depth. Agree. Regarding control applications in finance, Vidyasagar said: nope, that is not an application worth to do. Morally correct. In the case of Murak, his teaching philosophy: less is more. Cannot agree more. Fundamentals are the most important things to teach. In fact, from a syllabus, one can judge if an instructor is an expert in this area or not. An inexperienced one wants to cram everything in the course lecture without emphasis. An experienced one knows where is the emphasis.
Murak in google scholar has citation numbers reaching 3000 or more with H-factor i-10 factor above 30. Well, his hobby: reading New Yorker and hiking.
Maybe, I should resume reading of New Yorker and start to hike daily in the campus. Why? Apparently these are sound hobbies to make one a good researcher.
Sunday, December 5, 2010
Analysis of TCSC for SSR studies
TCSC is an old topic however analysis of TCSC and SSR is considered to contain high technical skills in power system analysis. The reason: the circuit of TCSC is unsymmetrical with inductors, capacitors and switches with firing control.
In K.R. Padiyar's book "FACTS controllers in Power Transmission and Distribution" Chapter 4, TCSC models are explained in details. The simplest model to represent TCSC is to treat it as a variable reactance (inductive and capacitive - depends on firing angle). However this kind of simplification is not suitable for SSR studies. Field tests have shown TCSC is neutral to SSR. why? Here is the rational: at fundamental frequency TCSC is capacitive - providing series compensation. At the SSR frequency, TCSC is inductive - therefore, there is no trigger of LC resonance. Analytically how to express the reactance in terms of frequency is a challenge.
Padiyar's book provides the gap of the analysis. Section 4.8.3 derives the reactance transfer function (related to frequency and firing angle) through a series form change ( from differential equation to integral equation to difference equation. From z transformation to s transformation).
The book then uses A. Stankovic's dynamic phasor model to express a TCSC into one or two differential equations. Dynamic phasor is a similar concept as qd transformation. There are other ways to derive a dynamic model -- Stankovic's papers indicate sample-data method. Iravani's group uses Poincare map to reach differential equations as well. The purpose of the dynamic phasor model here is for eigenvalue analysis and time-domain simulation. Case studies confirm the impact of firing angle towards SSR stability. The question here is why should a dynamic model be derived? can't we just use Matlab/Simulink automatic function linmod to derive linearized differential equations and then conduct eigenvalue analysis. The answer is NO. This is because linearization does not apply to a nonlinear system model with switching. For such system, averaging is firstly needed -- most of power electronics circuits need averaging models to carry out small signal analysis. Hence all the fuss for a dynamic phasor model.
Another model based on switching function is presented in Section 4.8.4. A simple approximation from Fourier analysis can be used to replace the discrete switching function into a continuous function. Analysis of the fundamental frequency waveform leads to the fundamental equivalent reactance expression via the firing angle. Analysis in this section indicates that a subsynchronous current can result in supersyncronous voltage and vice versa --- unlike passive circuit! This again is something remarkable of TCSC.
Padiyar's book is strong in analytical approaches and hence is a must read for researchers.
In K.R. Padiyar's book "FACTS controllers in Power Transmission and Distribution" Chapter 4, TCSC models are explained in details. The simplest model to represent TCSC is to treat it as a variable reactance (inductive and capacitive - depends on firing angle). However this kind of simplification is not suitable for SSR studies. Field tests have shown TCSC is neutral to SSR. why? Here is the rational: at fundamental frequency TCSC is capacitive - providing series compensation. At the SSR frequency, TCSC is inductive - therefore, there is no trigger of LC resonance. Analytically how to express the reactance in terms of frequency is a challenge.
Padiyar's book provides the gap of the analysis. Section 4.8.3 derives the reactance transfer function (related to frequency and firing angle) through a series form change ( from differential equation to integral equation to difference equation. From z transformation to s transformation).
The book then uses A. Stankovic's dynamic phasor model to express a TCSC into one or two differential equations. Dynamic phasor is a similar concept as qd transformation. There are other ways to derive a dynamic model -- Stankovic's papers indicate sample-data method. Iravani's group uses Poincare map to reach differential equations as well. The purpose of the dynamic phasor model here is for eigenvalue analysis and time-domain simulation. Case studies confirm the impact of firing angle towards SSR stability. The question here is why should a dynamic model be derived? can't we just use Matlab/Simulink automatic function linmod to derive linearized differential equations and then conduct eigenvalue analysis. The answer is NO. This is because linearization does not apply to a nonlinear system model with switching. For such system, averaging is firstly needed -- most of power electronics circuits need averaging models to carry out small signal analysis. Hence all the fuss for a dynamic phasor model.
Another model based on switching function is presented in Section 4.8.4. A simple approximation from Fourier analysis can be used to replace the discrete switching function into a continuous function. Analysis of the fundamental frequency waveform leads to the fundamental equivalent reactance expression via the firing angle. Analysis in this section indicates that a subsynchronous current can result in supersyncronous voltage and vice versa --- unlike passive circuit! This again is something remarkable of TCSC.
Padiyar's book is strong in analytical approaches and hence is a must read for researchers.
Subscribe to:
Posts (Atom)