Showing posts with label Research. Show all posts
Showing posts with label Research. Show all posts

Thursday, March 5, 2015

How to build a strong education/research program

It should be a common sense of the education/research community that great research leads to great teaching and rigorous teaching leads to in-depth research. Do we need examples? Just check MIT Stanford courses. This lab is another example: http://power.eng.usf.edu.

Through the years, a curriculum of power and energy engineering has been setup and taught with rigorous scholarship. A state-of-the-art teaching lab was setup with sponsorship from Duke Energy, strong support from the department and countless effort from the Ph.D. students from this lab serving as TAs. Classic textbooks were chosen for the courses. http://pixotale.com/story/46644215/.

The curriculum is kept expanding to cover emerging topics in this field. We now have three focus areas: power electronics enabled renewable energy grid integration; decision making in the era of smart grid; and power system estimation . As a result of the integrated research and teaching, the program has multiple tracks of courses which are listed as follows. In this blog, two tracks are mentioned.

Track 1: Power electronics and related applications, one in electric drive and one in renewable energy grid integration systems. With an undergraduate course on Electric Machinery, three courses will get students into the professional level:
  • Power Electronics, 
  • AC Machine and Drive: induction machine control will be realized by power electronic converters.
  • Energy Delivery Systems: converter control to fulfill grid integration need as well as renewable energy maximum efficiency need.
Understanding of machines will be enhanced in another graduate level course: Power Systems II where Bergen's book is used as the text. The first module of the course on synchronous machine modeling gives students an in-depth understanding of rotating magnetic field as well as applying dynamic modeling skills in machine modeling.

In addition, a monograph related to this track authored by the two faculty members of USF SPS group will be published  in May 2015 by Elsevier.

Track 2:  Decision making in power systems. Certainly this track requires many control and optimization courses as well as power system analysis courses. Below is the list of the power courses.
  • Power system analysis: load flow, state estimation, economic dispatch, optimal power flow are explained
  • Power systems II: system voltage/frequency control will be explained.
  • Power market: connects power system economic dispatch/optimal power flow and unit commitment problems, optimization's Lagrangian multipliers, duality gap with power market's concepts and schemes such as locational marginal price, convex hull price, uplift and etc.
In addition to the power courses, optimization courses as well as control courses are necessities. In Spring 2013, USF SPS collaborated with IMSE's Mocha group and developed a course on optimization with applications in smart grid. In Spring 2015, the power market course was launched.

Tuesday, April 16, 2013

Write as you move

Writing is a key component of research. Asked by Time Magazine why he kept a journal, Mr. Obama answered: writing keeps his mind clear. So does writing for a researcher. When we write, we think in more details with logic. It is the first step: literature survey and the final outcome: publications.


Take the example of literature review: this is an important skill for a researcher. Review has to be adequate and thorough. In this first example, a student is is working on developing an impedance model for a device. He needs to write an introduction in his paper to say what has been done for this kind of research problems. People may have not exactly use the word "impedance model". However, the related research counts. The related research includes: developing analytical model of this type of device, developing small signal model and etc. These papers should be read along with the research and it is expected that you keep a document of paper review. I prefer Latex for documenting since citations can be directly downloaded from Xplore or google scholar and embedded in your document. Save you time when you start to write a journal paper.

Take another example: a student is working on model predictive control for battery. Just searching MPC+ battery is not enough. We need to understand the similar research people have conducted in the field. For example, key words such as dynamic programming + energy  storage, MPC+ smart grid should be searched to have an overview of the application in smart grid area. If we find an in-depth paper, we go down to the math and understand the problem formulation.

When you write the paper review, write as you are explaining to an audience and expect questions such as: what is the essence of the paper? what is the problem formulation? what are the key conclusions? if some figures are very important, copy and paste in your latex. You can of course write a review after you read a couple of papers with similar topic. It will be nice to do a comparison and make analogy.

Your document will save you time when you start to write a paper. In the introduction, you are expected to tell the readers a decent story about your research and the evolution of this research problem. Once you build a strong argument, the rest of the project is to work out the details of your argument.

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.

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.

Thursday, March 7, 2013

Dynamic Programming

One finds that Markov Decision is something familiar- the principle has been used in Optimal Control. For optimal control problems, the solving technique is Dynamic Programming. Assumption of dynamic programming is that if you are at the optimal path, at each point (time t), this is also an optimal path from 0 to t.

Thus, we formulate recursive optimization or define a value function. At the end of the time period, the value function has a simple format. For control problem, it is the cost of the final states. Go back to the previous time step. The value function is the sum of the previous time step value function and the cost function of the current state. This is the way of dynamic programming.

From operation research point of view, this is called sequential programming.

Dynamic programming is a general philosophy, not an algorithm. Model predictive control is a special case of dynamic programming.

Tuesday, March 5, 2013

Impedance models

In Dr. Jian Sun's 2009 IEEE trans. Power Electronics letter, impedance model (Laplace) application in detecting resonances in circuits is demonstrated. The beauty of this approach is the conversion of a circuit analysis problem into a feedback control stability analysis problem. From that point, Nyquist stability criterion can be applied.

Another advantage of this approach is component level analysis. Unlike eigenvalue based analysis that a whole dynamic system state matrix has to be formulated, impedance models are built component by component. Therefore, sensitivity analysis can be carried at component level which leads to more insights.

Our letter Nyquist-Stability-Criterion-Based SSR Explanation for Type-3 Wind Generators
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6197223&tag=1  (IEEE trans. Energy Conversion, Sep. 2012) adopted impedance modeling approach for Type 3 wind with series compensated network resonance analysis. Two impedance models are formulated: one for the RLC circuit, the other for the DFIG circuit.

For the machine circuit, standard textbooks have well-developed circuit model for induction machine The only difference for DFIG circuit from induction machines is the control circuits of the two converters. With assumptions, the control circuits in vector control can be integrated into scalar impedance model. Another trick of modeling is to integrate mechanical system movement (the rotating speed) into the impedance model.

Intuition wise, we can just write slip(s) = 1-j(wm)/s. Theoretically, this can be derived based on dq-based machine modeling and its conversion to phase domain.

With the developed impedance model, analysis results are super clear which shed insights into key impacting factors of resonance.

Wednesday, February 27, 2013

Websites to check

Besides Standford and Caltech system and control people, now I find UCLA groups are also at the top. A few websites to check and more Automatic Control papers to read!

1. http://www.cyphylab.ee.ucla.edu/Home/members

Tuesday, February 5, 2013

Optimization

Many problems can be classified into control and optimization problems. In the area of power system/power electronics applications, feedback control investigation is straightforward: modeling, analysis, and verification by simulation. The level of complexity depends on the models we want to build and what kind of details we want to have. In the study of traditional three-phase balanced systems, dynamics can be studied by phasor based modeling. The advantage of phasor based models is that such models are easy to be linearized since states of the dynamic models are constants at steady state. Rich linear system analysis tools can then be applied. When unbalance or harmonics are introduced, a single-frequency phasor model cannot meet the requirement to include such complexity. Thus, we can re-visit the concept of Fourier transformation and use complex Fourier coefficients (or complex phasor) to build analytical model. Or we can go to the frequency domain and build frequency domain models.

In the area of optimization applications, similar straightforwardness can also be identified. Classical techniques such as linear programming, mixed integer linear programming are the counterparts of linear system analysis tools. The work again falls into model building. How to develop a suitable model that can be solved by commercial tools such as CPLEX? There are sets of techniques that without taking optimization classes we may never know. Such techniques include the big M trick, how to replace a variable in the format of absolute value, how to replace the products of two variables. In addition, there are also linearization techniques. In the area of small signal analysis, linearization is done at one operation point. In optimization, this is cutting plane method - to build linear constraints and linear functions to approximate a nonlinear function. It can be said that, with suitable techniques, many problems can be simplified into MIP problems. The rest is left to the solver. Optimization, is yet another necessary skill for a researcher.