EECI09: Optimization-based control: Difference between revisions

From Murray Wiki
Jump to navigationJump to search
 
(13 intermediate revisions by the same user not shown)
Line 5: Line 5:
* Optimization-based control: we describe how real-time optimization can be used to design feedback control algorithms for nonlinear, constrained systems. The receding horizon control (RHC) principle is described and the main ingredients required for its stability are discussed. Efficient numerical methods can then be used to find trajectories that satify the system dynamics and constraints, as well as minimizing a cost function. We concentrate on methods for real-time trajectory generation, and in particular the NTG software package.
* Optimization-based control: we describe how real-time optimization can be used to design feedback control algorithms for nonlinear, constrained systems. The receding horizon control (RHC) principle is described and the main ingredients required for its stability are discussed. Efficient numerical methods can then be used to find trajectories that satify the system dynamics and constraints, as well as minimizing a cost function. We concentrate on methods for real-time trajectory generation, and in particular the NTG software package.


* Embedded systems programming: we describe some of the software infractructure used to implement moder networked control systems. We first discuss "message transfer systems", which is responsible for managing network communications between computers and software modules with the control system. We focus on the use of spread as a specific example of a low-level message transfer subsystem and describe how it can be used in a NCS context. We then describe the Pthreads programming environment, which provides a standardized API for managing process threads and mutexes (to resolve data access conflicts).
* State estimation: we briefly summarize the standard formalism for estimation and sensor fusion using Kalman filtering, as well as more recent approaches such as moving horizon estimation (MHE) and particle filters.
 
* Embedded systems programming: we briefly describe some of the software infractructure used to implement modern networked control systems, with a focus on networked and distributed systems. We focus on the use of spread as a specific example of a low-level message transfer subsystem and describe how it can be used in a NCS context. We then describe the Pthreads programming environment, which provides a standardized API for managing process threads.
 
This lecture covers a number of important concepts that we will build upon in a very concise manner.  We assume that students are familiar with at least some of the basic concepts of optimal control, state estimators and random processes.


==  Lecture Materials ==
==  Lecture Materials ==
* Lecture slides: {{eeci-sp09 pdf|L2_obc.pdf|Optimization-based control}}
* Lecture slides: {{eeci-sp09 pdf|L2_obc.pdf|Optimization-based control}}
* Lecture notes: {{obc08|Chapters 2-3 - Trajectory generation and receding horizon control}}
* Background reading: the material in this section is described in more detail in the course notes on [[AMwiki:Supplement: Optimization-Based Control|Optimization-Based Control]]:
:{| width=100%
|-
| width=50% |
* Chapter 1: Trajectory Generation and Tracking
* Chapter 2: Optimal Control
* Chapter 3: Receding Horizon Control
| width=50% |
* Chapter 4: Stochastic Systems
* Chapter 5: Kalman Filtering
* Chapter 6: Sensor Fusion
|}


== Further Reading ==
== Further Reading ==
Line 16: Line 31:
* <p>[http://www.cds.caltech.edu/~murray/papers/2001n_mur+03-sec.html Online Control Customization via Optimization-Based Control], R. M. Murray et al.  In Software-Enabled Control: Information Technology for Dynamical Systems, T. Samad and G. Balas (eds.), IEEE Press, 2001.  This paper talks about the CLF-based nonlinear RHC approach and its application on the Caltech ducted fan using NTG.</p>
* <p>[http://www.cds.caltech.edu/~murray/papers/2001n_mur+03-sec.html Online Control Customization via Optimization-Based Control], R. M. Murray et al.  In Software-Enabled Control: Information Technology for Dynamical Systems, T. Samad and G. Balas (eds.), IEEE Press, 2001.  This paper talks about the CLF-based nonlinear RHC approach and its application on the Caltech ducted fan using NTG.</p>
* <p>[http://www.seas.upenn.edu/~jadbabai/papers/TAC_jh_final.pdf Unconstrained Receding-Horizon Control of Nonlinear Systems], A. Jadbabaie, J. Yu and J. Hauser.  IEEE Transactions on Automatic Control, May 2001, Vol. 46, No. 5, pp. 776-783.  This paper might be a little dense for the first read, but contains an essence of A. Jadbabaie's PhD thesis on CLF-based nonlinear RHC.</p>
* <p>[http://www.seas.upenn.edu/~jadbabai/papers/TAC_jh_final.pdf Unconstrained Receding-Horizon Control of Nonlinear Systems], A. Jadbabaie, J. Yu and J. Hauser.  IEEE Transactions on Automatic Control, May 2001, Vol. 46, No. 5, pp. 776-783.  This paper might be a little dense for the first read, but contains an essence of A. Jadbabaie's PhD thesis on CLF-based nonlinear RHC.</p>
=== Kalman filtering and state estimation ===
* <p>[http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf An Introduction to the Kalman Filter], G. Welch and G. Bishop. A brief introduction to the Kalman filter in discrete time. No proofs are given, but it is a good first read.</p>
* <p>[http://en.wikipedia.org/wiki/Kalman_filter Wikipedia: Kalman Filter] A webpage that gives a proof and some applications.</p>
* <p>[http://www.cs.unc.edu/~welch/kalman/kalmanPaper.html A New Approach to Linear Filtering and Prediction Problem], R.E. Kalman. ''Transactions of the ASME'', Series D,  1960. A classical paper. Still very readable. It uses different notation than the lecture, and present a different and more general proof. </p>
* <p>[http://www.amazon.com/gp/product/0486439380/102-3301256-1504117?v=glance&n=283155 Optimal Filtering], B.D.O Anderson and J.B. Moore. Dover Books on Engineering, 2005. A reissue of a book from  1979. It contains a detailed mathematical presentation of filtering problems and the Kalman filter. A very good book.</p>


=== Messaging Systems ===
=== Messaging Systems ===
Line 33: Line 57:


* <p>Cooperating Sequential Processes, E. W. Dijkstra.  In ''Structured Programming'', Academic Press, 1972.  This is one of the most widely cited papers in concurrent programming and is often labelled as the paper that started the field.  I haven't been able to locate an online copy yet (and haven't read it either).</p>
* <p>Cooperating Sequential Processes, E. W. Dijkstra.  In ''Structured Programming'', Academic Press, 1972.  This is one of the most widely cited papers in concurrent programming and is often labelled as the paper that started the field.  I haven't been able to locate an online copy yet (and haven't read it either).</p>


==  Additional Information ==  
==  Additional Information ==  

Latest revision as of 18:41, 9 March 2009

Prev: Introduction to NCS Course home Next: Information patterns

This lecture will briefly summarize a number of standard results in control theory and embedded systems programming to define techniques and terminology that will be used later in the course:

  • Optimization-based control: we describe how real-time optimization can be used to design feedback control algorithms for nonlinear, constrained systems. The receding horizon control (RHC) principle is described and the main ingredients required for its stability are discussed. Efficient numerical methods can then be used to find trajectories that satify the system dynamics and constraints, as well as minimizing a cost function. We concentrate on methods for real-time trajectory generation, and in particular the NTG software package.
  • State estimation: we briefly summarize the standard formalism for estimation and sensor fusion using Kalman filtering, as well as more recent approaches such as moving horizon estimation (MHE) and particle filters.
  • Embedded systems programming: we briefly describe some of the software infractructure used to implement modern networked control systems, with a focus on networked and distributed systems. We focus on the use of spread as a specific example of a low-level message transfer subsystem and describe how it can be used in a NCS context. We then describe the Pthreads programming environment, which provides a standardized API for managing process threads.

This lecture covers a number of important concepts that we will build upon in a very concise manner. We assume that students are familiar with at least some of the basic concepts of optimal control, state estimators and random processes.

Lecture Materials

  • Chapter 1: Trajectory Generation and Tracking
  • Chapter 2: Optimal Control
  • Chapter 3: Receding Horizon Control
  • Chapter 4: Stochastic Systems
  • Chapter 5: Kalman Filtering
  • Chapter 6: Sensor Fusion

Further Reading

Optimization-based control

  • Constrained model predictive control: Stability and optimality, D. Q. Mayne, J. B. Rawlings, C. V. Rao and P. O. M. Scokaert. Automatica, 2000, Vol. 36, No. 6, pp. 789-814. This is one of the most referenced comprehensive survey papers on MPC. Gives a nice overview about its history and explains the most important issues and various approaches.

  • Online Control Customization via Optimization-Based Control, R. M. Murray et al. In Software-Enabled Control: Information Technology for Dynamical Systems, T. Samad and G. Balas (eds.), IEEE Press, 2001. This paper talks about the CLF-based nonlinear RHC approach and its application on the Caltech ducted fan using NTG.

  • Unconstrained Receding-Horizon Control of Nonlinear Systems, A. Jadbabaie, J. Yu and J. Hauser. IEEE Transactions on Automatic Control, May 2001, Vol. 46, No. 5, pp. 776-783. This paper might be a little dense for the first read, but contains an essence of A. Jadbabaie's PhD thesis on CLF-based nonlinear RHC.

Kalman filtering and state estimation

  • Optimal Filtering, B.D.O Anderson and J.B. Moore. Dover Books on Engineering, 2005. A reissue of a book from 1979. It contains a detailed mathematical presentation of filtering problems and the Kalman filter. A very good book.

Messaging Systems

  • A Users Guide to Spread, J. Stanton. 2002. This is the documentation for the Spread Toolkit. The first and second chapters provide most of the information you need to understand the basic ideas, although the way in which Spread servers are configured, described in Chapter 3, is also useful.

  • The Spread Wide Area Group Communication System, Y. Amir and J. Stanton. Technical Report CNDS-98-4, The Center for Networking and Distributed Systems, The Johns Hopkins University, 1998. The paper provides a detailed technical description of how Spread works. It is mainly useful if you want to know more about what spread does. Requires some background in network protocols if you want to understand the details.

Threads

  • POSIX Threads Programming, Lawrence Livermore National Laboratory. 2006. This tutorial provides an introduction to Pthreads, the standard implementation of threads under linux. It's a pretty quick read, with examples of the code and pretty good descriptions of the basic pthreads functionality.

  • Monitors: An Operating System Structuring Concept, C. A. R. Hoare. Communciations of the ACM, 17(10):549--557, 1974. This paper describes the concept of a "monitor", which is basically a function that uses mutexes to access a shared resourse. This is one of the early papers on concurrent computing and is cited as one of the design patterns for using threads and mutexes.

  • Cooperating Sequential Processes, E. W. Dijkstra. In Structured Programming, Academic Press, 1972. This is one of the most widely cited papers in concurrent programming and is often labelled as the paper that started the field. I haven't been able to locate an online copy yet (and haven't read it either).

Additional Information