CDS 270-2, Spring 2006: Difference between revisions
No edit summary |
|||
(27 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
<table width="100%" cellspacing=0> | <table width="100%" cellspacing=0> | ||
<tr valign=top> | <tr valign=top> | ||
<td rowspan=2 align=center> [[Image:citlogo.png|75px]] | <td rowspan=2 align=center> [[Image:citlogo.png|75px]]</td> | ||
<td align=center><font color='blue' size='+2'>Networked Control Systems</font> | <td align=center><font color='blue' size='+2'>Networked Control Systems</font></td> | ||
<td rowspan=2 align=center> [[Image:cdslogo.png|90px]] | <td rowspan=2 align=center> [[Image:cdslogo.png|90px]]</td></tr> | ||
<tr valign=top><td align=center><font color='blue' size='+1'>Spring 2006</font> | <tr valign=top><td align=center><font color='blue' size='+1'>Spring 2006</font></td></tr> | ||
</table> | </table> | ||
<table align=right><tr><td>__TOC__</table> | <table align=right><tr><td>__TOC__</td></tr></table> | ||
<table cellspacing=0 cellpadding=0> | <table cellspacing=0 cellpadding=0> | ||
<tr valign=top> | <tr valign=top> | ||
Line 13: | Line 13: | ||
* Instructor: [[User:Murray|Richard M. Murray]] | * Instructor: [[User:Murray|Richard M. Murray]] | ||
* Co-instructors: [[User:Keviczky|Tamas Keviczky]], [[User:Mostofi|Yasi Mostofi]], [[User:Sandberg|Henrik Sandberg]], [[User:Sinopoli|Bruno Sinopoli]] | * Co-instructors: [[User:Keviczky|Tamas Keviczky]], [[User:Mostofi|Yasi Mostofi]], [[User:Sandberg|Henrik Sandberg]], [[User:Sinopoli|Bruno Sinopoli]] | ||
<td align=center> | </td><td align=center> | ||
<table cellpadding=0 cellspacing=0><tr><td> | <table cellpadding=0 cellspacing=0><tr><td> | ||
* [[Media:cds270-2_syllabus_sp06.pdf|Course syllabus]] | * [[Media:cds270-2_syllabus_sp06.pdf|Course syllabus]] | ||
* [http://listserv.cds.caltech.edu/mailman/listinfo/cds270 Course mailing list] | * [http://listserv.cds.caltech.edu/mailman/listinfo/cds270 Course mailing list] | ||
* [[CDS 270: Information for Lecturers|Information for lecturers]] | * [[CDS 270: Information for Lecturers|Information for lecturers]] | ||
</table> | </td></tr></table> | ||
<tr><td colspan=2> | </td></tr><tr><td colspan=2> | ||
* Graduate instructors: Vijay Gupta, Zhipu Jin, Ling Shi, Demetri Spanos | * Graduate instructors: Vijay Gupta, Zhipu Jin, Ling Shi, Demetri Spanos | ||
* Lectures: MWF 2-3 pm, 125 Steele | * Lectures: MWF 2-3 pm, 125 Steele | ||
</table> | </td></tr></table> | ||
== Course Schedule == | == Course Schedule == | ||
Line 30: | Line 30: | ||
| Week || Date || Topic || Reading | | Week || Date || Topic || Reading | ||
|- | |- | ||
| align=center rowspan= | | align=center rowspan=3 | 1 | ||
| colspan=3 | '''Introduction to Networked Control Systems (R. Murray)''' | | colspan=3 | '''Introduction to Networked Control Systems (R. Murray)''' | ||
|- | |- | ||
| 27 Mar (M) | | 27 Mar (M) | ||
| [[NCS: Introduction|Course overview, applications and administration]] | | [[NCS: Introduction|Course overview, applications and administration]] | ||
| [[Media:cds270-2_syllabus_sp06.pdf|Syllabus]]; | | [[Media:cds270-2_syllabus_sp06.pdf|Syllabus]]; {{ncsbook|introduction|Ch 1}} | ||
|- | |- | ||
| 29 Mar (W) | | 29 Mar (W) | ||
Line 45: | Line 45: | ||
| 31 Mar (F) | | 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] | ||
|- | |- | ||
| align=center rowspan=3 | 2 | | align=center rowspan=3 | 2 | ||
| 3 Apr (M) | | 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] | ||
|- | |- | ||
| 5 Apr (W) | | 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] | ||
|- | |- | ||
| 7 Apr* (F) | | 7 Apr* (F) | ||
Line 62: | Line 62: | ||
| align=center rowspan=4 | 3 | | align=center rowspan=4 | 3 | ||
| colspan=3 | '''Real-time trajectory generation and receding horizon control (R. Murray)''' | | colspan=3 | '''Real-time trajectory generation and receding horizon control (R. Murray)''' | ||
|- | |||
| 10 Apr (M) | |||
| [[NCS: Real-Time Trajectory Generation|Real-time trajectory generation]] | |||
| {{ncsbook|trajgen|Ch 3}} | |||
|- | |||
}} | | 12 Apr* (W) | ||
| [[NCS: Receding Horizon Control|Receding horizon control]] (T. Keviczky) | |||
| {{ncsbook|trajgen|Ch 3}} | |||
|- | |||
| 14 Apr (F) | |||
| [[Alice: Path Planning|Alice: plannerModule]] | |||
| {{ncsbook|alice|App A}}; [http://grandchallenge.caltech.edu/wiki/images/b/b3/Thesis.pdf Kogan, 2005] | |||
|- | |- | ||
| align=center rowspan=4 | 4 | | align=center rowspan=4 | 4 | ||
| colspan=3 | '''State estimation (H. Sandberg)''' | | colspan=3 | '''State estimation (H. Sandberg)''' | ||
|- | |||
| 17 Apr (M) | |||
| [[NCS: Kalman Filtering|Kalman filtering]] | |||
| {{ncsbook|estim|Ch 4}}; [http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf Welch and Bishop] | |||
|- | |||
}} | | 19 Apr (W) | ||
| [[NCS: Moving Horizon Estimation|Moving horizon estimation]] | |||
| {{ncsbook|estim|Ch 4}} | |||
|- | |||
| 21 Apr (F) | |||
| [[Alice: Road Following|Alice: roadFollowing]] (L. Cremean) | |||
| {{ncsbook|alice|App A}} | |||
|- | |- | ||
| align=center rowspan=4 | 5 | | align=center rowspan=4 | 5 | ||
| colspan=3 | '''Packet-based estimation and control, I (B. Sinopoli)''' | | colspan=3 | '''Packet-based estimation and control, I (B. Sinopoli)''' | ||
|- | |||
| 24 Apr (M) | |||
| [[NCS: Packet-based Estimation| Packet-based estimation]] | |||
| {{ncsbook|pack_estim|Ch 5}} | |||
|- | |||
}} | | 26 Apr (W) | ||
| [[NCS: Packet-based Control: the TCP case|Packet-based Control: the TCP case]] | |||
| {{ncsbook|pack_cont|Ch 5}} | |||
|- | |||
| 28 Apr (F) | |||
| [[NCS: Packet-based Control: the UDP case|Packet-based Control: the UDP case]] | |||
| {{ncsbook|pack_cont2|Ch 5}} | |||
|- | |- | ||
| align=center rowspan=4 | 6 | | align=center rowspan=4 | 6 | ||
| colspan=3 | '''Packet-based estimation and control, II (L. Shi, Y. Mostofi)''' | | colspan=3 | '''Packet-based estimation and control, II (L. Shi, Y. Mostofi)''' | ||
|- | |||
| 1 May (M) | |||
| [[Packet-based Control with Norm Bounded Uncertainties]] | |||
| {{ncsbook|pack_cont_uncertainty|Ch 6}} | |||
|- | |||
}} | | 3 May (W) | ||
| [[Impact of Communication Noise on Estimation over Wireless Links]] | |||
| {{ncsbook|pack_cont_uncertainty|Ch 6}} | |||
|- | |||
| 5 May (F) | |||
| [[Optimum Receiver Design for Estimation over Wireless Links]] | |||
| {{ncsbook|pack_cont_uncertainty|Ch 6}} | |||
|- | |- | ||
| align=center rowspan=4 | 7 | | align=center rowspan=4 | 7 | ||
| colspan=3 | '''Distributed estimation and control (V. Gupta)''' | | colspan=3 | '''Distributed estimation and control (V. Gupta)''' | ||
|- | |||
| 8 May* (M) | |||
| [[Distributed Estimation|Distributed Estimation]] | |||
| {{ncsbook|pack_cont_uncertainty|Ch 7}} | |||
|- | |||
}} | | 10 May* (W) | ||
| [[Introduction to Distributed Control|Introduction to Distributed Control]] | |||
| {{ncsbook|pack_cont_uncertainty|Ch 7}} | |||
|- | |||
| 12 May (F) | |||
| [[Estimation and Control in Networked Systems|Estimation and Control in Networked Systems]] | |||
| {{ncsbook|pack_cont_uncertainty|Ch 7}} | |||
|- | |- | ||
| align=center rowspan=4 | 8 | | align=center rowspan=4 | 8 | ||
| colspan=3 | '''Cooperative control of multi-agent systems (Z. Jin, T. Keviczky)''' | | colspan=3 | '''Cooperative control of multi-agent systems (Z. Jin, T. Keviczky)''' | ||
|- | |||
| 15 May (M) | |||
| [[Consensus Problem and Algorithms|Consensus Problem and Algorithms]] | |||
| {{ncsbook|pack_cont_uncertainty|Ch 8}} | |||
|- | |||
}} | | 17 May* (W) | ||
| [[Cooperative and Coordinated Control Scheme for Multi-Agent Systems|Cooperative and Coordinated Control Scheme for Multi-Agent Systems]] | |||
| {{ncsbook|pack_cont_uncertainty|Ch 8}} | |||
|- | |||
| 19 May (F) | |||
| [[Distributed Receding Horizon Control|Distributed Receding Horizon Control]] | |||
| {{ncsbook|pack_cont_uncertainty|Ch 8}} | |||
|- | |- | ||
| align=center rowspan=4 | 9 | | align=center rowspan=4 | 9 |
Latest revision as of 00:15, 3 April 2010
![]() |
Networked Control Systems | ![]() |
Spring 2006 |
|
| |
|
Course Schedule
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:
Alice - Alice is an autonomous vehicle that was built by 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.
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.
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