CDS 213: Difference between revisions

From John C. Doyle
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
<table width="100%" cellspacing=0>
<tr valign=top>
<td align=center><font color='blue' size='+2'>The Architecture of Robust, Evolvable Networks</font></td>
</tr>
<tr></tr>
<tr valign=top>
<td align=center><font color='blue' size='+1'>Winter 2010</font></td>
</tr>
</table>
<table cellspacing=0 cellpadding=0>
<tr valign=top>
<td width=60%>
* Instructor: [http://www.cds.caltech.edu/~doyle2/wiki/index.php?title=J._Doyle’s_Bio John C. Doyle]
* [http://listserv.cds.caltech.edu/mailman/listinfo/cds-213 Course mailing list]
* Lectures: TTh 4-5:30 pm, 105 Annenberg, changes announced by email
</td>
</tr>
</table>
== Course Schedule ==
{| border=1 width=100%
{| border=1 width=100%
|-
|-
Line 29: Line 6:
| colspan=3 | '''Introduction to Architecture of the Internet and Cell Biology'''
| colspan=3 | '''Introduction to Architecture of the Internet and Cell Biology'''
|-
|-
| 5 & 7 Jan  
| 5 Jan (T)
| [[IST Seminar: The Architecture of Robust, Evolvable Networks]]
| [[NCS: Introduction|Course overview, applications and administration]]
| Network is IPC:[[Media:IPC-arch-rearch08.pdf | Day et al, 2008 (Paper)]];[[Media:IPC-arch.pdf | Matta (Slides)]]; [[Media:DAYIEEECCW2009.pdf | Implications PNA, Day, 2009 (Slides)]];[[Media:Touchccw2009.pdf | Multihop/Multiparty influences on Net. Arch., Touch (Slides)]]
| [[Media:cds270-2_syllabus_sp06.pdf|Syllabus]]; {{ncsbook|introduction|Ch 1}}
|
|-
| 7 Jan (Th)
| [[Alice: Introduction|Case study: Alice]]
| [http://www.cds.caltech.edu/~murray/papers/2005t_cre+06-jfr.html Cremean et al, 2005]
|-
|-
| align=center rowspan=5 | 2
| colspan=3 | '''Architecture Case Studies: Cell Biology, Clothing, Legos'''
| colspan=3 |'''Networked embedded systems programming (R. Murray)''' +
|-
|-
| 12 Jan (T)
| 31 Mar (F)
| [[NCS: Message Transfer Systems|Message transfer systems: spread]]
| [[NCS: Message Transfer Systems|Message transfer systems: spread]]
| {{ncsbook|embedded|Ch 2}}; [http://portal.acm.org/citation.cfm?id=359563 Lamport, 1978]
| {{ncsbook|embedded|Ch 2}}; [http://portal.acm.org/citation.cfm?id=359563 Lamport, 1978]
|-
|-
| align=center rowspan=3 | 2
| align=center rowspan=3 | 2
| 14 Jan (Th)
| 3 Apr (M)
| [[NCS: Multi-Threaded Control Systems|Multi-threaded control systems: pthreads]]
| [[NCS: Multi-Threaded Control Systems|Multi-threaded control systems: pthreads]]
| {{ncsbook|embedded|Ch 2}}; [http://www.llnl.gov/computing/tutorials/pthreads Pthreads]
| {{ncsbook|embedded|Ch 2}}; [http://www.llnl.gov/computing/tutorials/pthreads Pthreads]
|-
|-
| 19 Jan (T)
| 5 Apr (W)
| [[Alice: Vehicle Control|Alice: adrive, astate, trajFollower]]
| [[Alice: Vehicle Control|Alice: adrive, astate, trajFollower]]
| {{ncsbook|alice|App A}}; [http://gc.caltech.edu/wiki/index.php/Alice  GCwiki]
| {{ncsbook|alice|App A}}; [http://gc.caltech.edu/wiki/index.php/Alice  GCwiki]
|-
|-
| 21 Jan (Th)
| 7 Apr* (F)
| No class
| No class
|  
|  
Line 57: Line 36:
| colspan=3 | '''Real-time trajectory generation and receding horizon control (R. Murray)'''
| colspan=3 | '''Real-time trajectory generation and receding horizon control (R. Murray)'''
|-
|-
| 26 Jan (T)
| 10 Apr (M)
| [[NCS: Real-Time Trajectory Generation|Real-time trajectory generation]]
| [[NCS: Real-Time Trajectory Generation|Real-time trajectory generation]]
| {{ncsbook|trajgen|Ch 3}}
| {{ncsbook|trajgen|Ch 3}}
|-
|-
| 28 Jan (Th)
| 12 Apr* (W)
| [[NCS: Receding Horizon Control|Receding horizon control]] (T. Keviczky)
| [[NCS: Receding Horizon Control|Receding horizon control]] (T. Keviczky)
| {{ncsbook|trajgen|Ch 3}}
| {{ncsbook|trajgen|Ch 3}}
|-
|-
| 2 Feb (T)
| 14 Apr (F)
| [[Alice: Path Planning|Alice: plannerModule]]
| [[Alice: Path Planning|Alice: plannerModule]]
| {{ncsbook|alice|App A}}; [http://grandchallenge.caltech.edu/wiki/images/b/b3/Thesis.pdf Kogan, 2005]
| {{ncsbook|alice|App A}}; [http://grandchallenge.caltech.edu/wiki/images/b/b3/Thesis.pdf Kogan, 2005]
Line 72: Line 51:
| colspan=3 | '''State estimation (H. Sandberg)'''
| colspan=3 | '''State estimation (H. Sandberg)'''
|-
|-
| 4 Feb (Th)
| 17 Apr (M)
| [[NCS: Kalman Filtering|Kalman filtering]]
| [[NCS: Kalman Filtering|Kalman filtering]]
| {{ncsbook|estim|Ch 4}}; [http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf Welch and Bishop]
| {{ncsbook|estim|Ch 4}}; [http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf Welch and Bishop]
|-
|-
| 8 Feb (M)
| 19 Apr (W)
| [[NCS: Moving Horizon Estimation|Moving horizon estimation]]  
| [[NCS: Moving Horizon Estimation|Moving horizon estimation]]  
| {{ncsbook|estim|Ch 4}}
| {{ncsbook|estim|Ch 4}}
|-
|-
| 11 Feb (Th)
| 21 Apr (F)
| [[Alice: Road Following|Alice: roadFollowing]] (L. Cremean)
| [[Alice: Road Following|Alice: roadFollowing]] (L. Cremean)
| {{ncsbook|alice|App A}}
| {{ncsbook|alice|App A}}
Line 87: Line 66:
| colspan=3 | '''Packet-based estimation and control, I (B. Sinopoli)'''
| colspan=3 | '''Packet-based estimation and control, I (B. Sinopoli)'''
|-
|-
| 15 Feb (M)
| 24 Apr (M)
| [[NCS: Packet-based Estimation| Packet-based estimation]]
| [[NCS: Packet-based Estimation| Packet-based estimation]]
| {{ncsbook|pack_estim|Ch 5}}  
| {{ncsbook|pack_estim|Ch 5}}  
|-
|-
| 18 Feb (Th)
| 26 Apr (W)
| [[NCS: Packet-based Control: the TCP case|Packet-based Control: the TCP case]]  
| [[NCS: Packet-based Control: the TCP case|Packet-based Control: the TCP case]]  
| {{ncsbook|pack_cont|Ch 5}}
| {{ncsbook|pack_cont|Ch 5}}
|-
|-
| 22 Feb (M)   
| 28 Apr (F)   
| [[NCS: Packet-based Control: the UDP case|Packet-based Control: the UDP case]]
| [[NCS: Packet-based Control: the UDP case|Packet-based Control: the UDP case]]
| {{ncsbook|pack_cont2|Ch 5}}
| {{ncsbook|pack_cont2|Ch 5}}
Line 102: Line 81:
| colspan=3 | '''Packet-based estimation and control, II (L. Shi, Y. Mostofi)'''
| colspan=3 | '''Packet-based estimation and control, II (L. Shi, Y. Mostofi)'''
|-  
|-  
| 25 Feb (Th)
| 1 May (M)
| [[Packet-based Control with Norm Bounded Uncertainties]]
| [[Packet-based Control with Norm Bounded Uncertainties]]
| {{ncsbook|pack_cont_uncertainty|Ch 6}}
| {{ncsbook|pack_cont_uncertainty|Ch 6}}
|-
|-
| 1 Mar (M)
| 3 May (W)
|  [[Impact of Communication Noise on Estimation over Wireless Links]]
|  [[Impact of Communication Noise on Estimation over Wireless Links]]
| {{ncsbook|pack_cont_uncertainty|Ch 6}}
| {{ncsbook|pack_cont_uncertainty|Ch 6}}
|-
|-
| 4 Mar (Th)
| 5 May (F)
| [[Optimum Receiver Design for Estimation over Wireless Links]]
| [[Optimum Receiver Design for Estimation over Wireless Links]]
| {{ncsbook|pack_cont_uncertainty|Ch 6}}
| {{ncsbook|pack_cont_uncertainty|Ch 6}}
Line 117: Line 96:
| colspan=3 | '''Distributed estimation and control (V. Gupta)'''
| colspan=3 | '''Distributed estimation and control (V. Gupta)'''
|-  
|-  
| 8 Mar (M)
| 8 May* (M)
| [[Distributed Estimation|Distributed Estimation]]
| [[Distributed Estimation|Distributed Estimation]]
| {{ncsbook|pack_cont_uncertainty|Ch 7}}
| {{ncsbook|pack_cont_uncertainty|Ch 7}}
|-
|-
| 11 Mar (Th)
| 10 May* (W)
| [[Introduction to Distributed Control|Introduction to Distributed Control]]
| [[Introduction to Distributed Control|Introduction to Distributed Control]]
| {{ncsbook|pack_cont_uncertainty|Ch 7}}
| {{ncsbook|pack_cont_uncertainty|Ch 7}}
Line 153: Line 132:
}}
}}
|}
|}
== Course Description ==
Increases in fast and inexpensive computing and communications have enabled a new generation information-rich control systems that rely on multi-threaded networked execution, distributed optimization, adaptation and learning, and contingency management in increasingly sophisticated ways.  This course will describe a framework for building such systems and lay out some of the challenges to control theory that must be addressed to enable systematic design and analysis.  Two examples will be used to illustrate the results and to serve as testbeds for course projects: [[Alice]], an autonomous vehicle that competed in the 2005 DARPA Grand
Challenge and [[RoboFlag]], a robotic version of capture the flag.  Key features of these systems include highly sensory-driven, information rich feedback systems, higher levels of decision making for goal and contingency management, and multi-threaded, networked control architectures.
== Course Administration ==
This course is a special topics course in which advanced students will prepare and present much of the lecture material.  There is no required homework and no midterm or final exam.  Course grades will be based on a course project.
== Course Project ==
All students in the course will demonstrate their knowledge of the material by analyzing or implementing a networked control system algorithm.  Two testbeds are available for use by the class:
* <p> '''[[Alice]]''' - Alice is an autonomous vehicle that was built by [http://team.caltech.edu Caltech undergraduates] to compete in the 2005 DARPA Grand Challenge.  It is fully equipped with multiple terrain sensing cameras and LADARS, two GPS units and an inertial measurement unit (IMU) for measuring position and orientation, and 10 CPUs of computing horsepower inteconnected by a 1 Gb/s ethernet network.  A module software architecture allows new functionality to be implemented and tested with relative ease.  Requires knowledge of C/C++ programming under linux.</p>
* <p> '''[[RoboFlag]]''' - RoboFlag is a robotic version of capture the flag in which teams of 6-8 robots with 1-2 humans compete against a like team.  A high fidelity simulator is available that allow full simulation of the dynamics, sensing and communications subsystems, providing realistic operation.  Features include limited bitrate communication channels, limited sensor range for detecting opposing robots, and a graphical user interface for human-in-the-loop operation.  Required knowlege of C/C++ program under Windows.</p>
'''Project ideas''' (will be expanded during the term)
* Benchmark the performance of different messaging protocols (eg, broadcast, UDP, TCP) for communicating the state and terrain data on Alice
* Implement and analyze the effect of "shock absobers" (control buffers, state estimators) on RoboFlag
* Implement state estimation and/or multi-description coding on Alice to handle lost packets of terrain data
<span id=archive />
[[Category:Courses]] [[Category:2005-06 Courses]]

Revision as of 22:45, 29 January 2010

Week Date Topic Reading
1 Introduction to Architecture of the Internet and Cell Biology
5 Jan (T) Course overview, applications and administration Syllabus; Template:Ncsbook
7 Jan (Th) Case study: Alice Cremean et al, 2005
Architecture Case Studies: Cell Biology, Clothing, Legos
31 Mar (F) Message transfer systems: spread Template:Ncsbook; Lamport, 1978
2 3 Apr (M) Multi-threaded control systems: pthreads Template:Ncsbook; Pthreads
5 Apr (W) Alice: adrive, astate, trajFollower Template:Ncsbook; GCwiki
7 Apr* (F) No class
3 Real-time trajectory generation and receding horizon control (R. Murray)
10 Apr (M) Real-time trajectory generation Template:Ncsbook
12 Apr* (W) Receding horizon control (T. Keviczky) Template:Ncsbook
14 Apr (F) Alice: plannerModule Template:Ncsbook; Kogan, 2005
4 State estimation (H. Sandberg)
17 Apr (M) Kalman filtering Template:Ncsbook; Welch and Bishop
19 Apr (W) Moving horizon estimation Template:Ncsbook
21 Apr (F) Alice: roadFollowing (L. Cremean) Template:Ncsbook
5 Packet-based estimation and control, I (B. Sinopoli)
24 Apr (M) Packet-based estimation Template:Ncsbook
26 Apr (W) Packet-based Control: the TCP case Template:Ncsbook
28 Apr (F) Packet-based Control: the UDP case Template:Ncsbook
6 Packet-based estimation and control, II (L. Shi, Y. Mostofi)
1 May (M) Packet-based Control with Norm Bounded Uncertainties Template:Ncsbook
3 May (W) Impact of Communication Noise on Estimation over Wireless Links Template:Ncsbook
5 May (F) Optimum Receiver Design for Estimation over Wireless Links Template:Ncsbook
7 Distributed estimation and control (V. Gupta)
8 May* (M) Distributed Estimation Template:Ncsbook
10 May* (W) Introduction to Distributed Control Template:Ncsbook
12 May (F) Estimation and Control in Networked Systems Template:Ncsbook
8 Cooperative control of multi-agent systems (Z. Jin, T. Keviczky)
15 May (M) Consensus Problem and Algorithms Template:Ncsbook
17 May* (W) Cooperative and Coordinated Control Scheme for Multi-Agent Systems Template:Ncsbook
19 May (F) Distributed Receding Horizon Control Template:Ncsbook
9 Project Presentations (All)

Template:MWFrow