CDS 213: Difference between revisions
No edit summary |
|||
Line 29: | Line 29: | ||
| colspan=3 | '''Introduction to Networked Control Systems (R. Murray)''' | | colspan=3 | '''Introduction to Networked Control Systems (R. Murray)''' | ||
|- | |- | ||
| | | 5 Jan (T) | ||
| | | IST Seminar | ||
| | | | ||
|- | |- | ||
| | | 7 Jan (Th) | ||
| [[Alice: Introduction|Case study: Alice]] | | [[Alice: Introduction|Case study: Alice]] | ||
| [http://www.cds.caltech.edu/~murray/papers/2005t_cre+06-jfr.html Cremean et al, 2005] | | [http://www.cds.caltech.edu/~murray/papers/2005t_cre+06-jfr.html Cremean et al, 2005] | ||
Line 39: | Line 39: | ||
| colspan=3 | '''Networked embedded systems programming (R. Murray)''' | | colspan=3 | '''Networked embedded systems programming (R. Murray)''' | ||
|- | |- | ||
| | | 12 Jan (T) | ||
| [[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) | ||
| [[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) | ||
| [[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) | ||
| No class | | No class | ||
| | | | ||
Line 59: | Line 59: | ||
| 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) | ||
| [[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) | ||
| [[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) | ||
| [[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 74: | Line 74: | ||
| colspan=3 | '''State estimation (H. Sandberg)''' | | colspan=3 | '''State estimation (H. Sandberg)''' | ||
|- | |- | ||
| | | 4 Feb (Th) | ||
| [[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) | ||
| [[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) | ||
| [[Alice: Road Following|Alice: roadFollowing]] (L. Cremean) | | [[Alice: Road Following|Alice: roadFollowing]] (L. Cremean) | ||
| {{ncsbook|alice|App A}} | | {{ncsbook|alice|App A}} | ||
Line 89: | Line 89: | ||
| colspan=3 | '''Packet-based estimation and control, I (B. Sinopoli)''' | | colspan=3 | '''Packet-based estimation and control, I (B. Sinopoli)''' | ||
|- | |- | ||
| | | 15 Feb (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) | ||
| [[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) | ||
| [[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 104: | Line 104: | ||
| 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) | ||
| [[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) | ||
| [[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) | ||
| [[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 119: | Line 119: | ||
| colspan=3 | '''Distributed estimation and control (V. Gupta)''' | | colspan=3 | '''Distributed estimation and control (V. Gupta)''' | ||
|- | |- | ||
| 8 | | 8 Mar (M) | ||
| [[Distributed Estimation|Distributed Estimation]] | | [[Distributed Estimation|Distributed Estimation]] | ||
| {{ncsbook|pack_cont_uncertainty|Ch 7}} | | {{ncsbook|pack_cont_uncertainty|Ch 7}} | ||
|- | |- | ||
| | | 11 Mar (Th) | ||
| [[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}} |
Revision as of 19:25, 29 January 2010
The Architecture of Robust, Evolvable Networks |
Winter 2010 |
|
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