Projects
From SOSwiki
Contents |
Research Directions
Systems and Synthetic Biology
A cell, such as a bacterium, is a computational device. It contains sensors, actuators, communication protocols, decision-making circuitry, error correction mechanisms, and a complex network of regulatory feedback control loops. Cells are remarkably robust, adapting their metabolisms to available nutrients, toxins, pH, temperature, and signals from other cells. Cells are able to self-replicate and evolve: Inherent to the design of many microorganisms seems to be evolvability itself, suggesting a modular architecture with well-defined interfaces between swappable components (e.g. those encoded by genes). Unfortunately, although the cell embodies many of the capabilities engineers would dearly love to see in designed artifacts, engineers are presently barely able to build only the simplest of devices using similar "technology" (DNA, RNA, protein, carbohydrates, lipids, etc).
To help create a new systems engineering discipline for biology, our group is interested in designing, building and characterizing biochemical systems in a principled manner, starting with with simple systems, such as linear transfer functions, oscillators, sensors, and switches. These we implement either in vitro using nucleic acids and a few enzymes, or in vivo by genetically engineering our favorite organism: E. coli. We then gather data from our systems using fluorimetry, microscopy, etc. Finally, we work to characterize the devices we build using analytical tools from controls systems, such as system identification, model reduction, model discrimination and model invalidation. Many of these analytical tools must be re-invented so that they can be used for molecular systems.
The applications of synthetic biology are broad. For example, if we can design sensors implemented with molecules and encode them as genes, we might someday engineer genetically enhanced, synthetic immune systems to treat immunodeficiency disorders and cancer. If we can harness the biochemical processes inside soil bacteria, we might someday engineer custom-made bio-remediation bacteria. If we can exploit the process of evolution, we can use directed evolution to tune the activity of enzymes that could be used in manufacturing and health. The possibilites are endless.
- People: Bishop, Egbert, House, Oishi.
- Collaborators: Baker, Kaiyala, Lidstrom, Winfree, Ramsey, Sauro.
- Sponsors: NSF, Microsoft.
Self-Assembly
The realm of the extremely small has been identified as the new frontier of engineering. It is at the nano scale that tiny biological machines construct macro scale tissues, move our limbs, and detect pathogens, for example. Our ability to engineer at the nano scale, however, is presently restricted to a handful of (relatively) simple techniques. Lithography, for example, is limited to layers of flat surfaces using a few compounds. Manipulation of atoms and molecules with atomic force microscopes is limited to small numbers of objects: The time required to address a single atom multiplied by Avogadro's number is astronomically long. Nevertheless, we are confronted with examples in nature of extremely sophisticated machines, such as the ribosome or the mechanical motor in the bacterial flagellum, that seem to have been built in bulk somehow spontaneously. At issue is the fundamental scientific question: How does matter become complex? One hypothesis is that simple small components self assemble into more complex ones in systems, in a process “designed” by billions of years of evolution.
We approach the problem of engineering self-assembling systems by designing parts that have some kind of control over the binding interactions in which they participate, developing a theory and practice of programmed self-assembly. In a biochemical environment, one might suppose that this control is mediated by molecular conformation (shape). In meso-scale self-assembly, one might suppose that particles have control over the wetabilities of their edges and also some idea of their local state. At the macro scale in particular, we have implemented programmed robotic self-assembly in a setting where robotic parts have microcontrollers, local sensing and mechanical or magnetic latches. Given a desired assembly specification input by the user, download programs onto each robotic part so that, when they are placed in a suitable environment, the parts self assemble into copies of the desired assembly. No global control signal or expensive coordination algorithm is allowed.
Ultimately, we expect to be able to build artificial self-assembled functional devices that allow an unprecedented control over nanoscale systems and that will form a basis of highly functional smart materials, biosensors, and nanoelectronics. For example, self-assembly is a strong candidate technology for building interfaces between macroscale devices and the human body. An engineering discipline and the supporting mathematics for self-assembly will essentially enable macroscale objects with specific nanoscale features to be programmed to grow from simple raw materials. The number and scope of possible applications of such a technology is staggering.
- People: Burden, Napp.
- Collaborators: Bohringer, Ghrist.
- Sponsors: NSF.
Decentralized Robot Systems
Robots are becoming cheaper and easier to make. Communication technology is everywhere and easy to integrate into a new robot design. Thus, it is now possible to build robot systems having hundreds of players, all working together toward some end. Large multi-robot systems must be decentralized for a variety of reasons. For example, to quickly react to a new situation, a particular robot in a cooperative control setting may not be able to wait for instructions from some central processor. Thus, the system architecture for a large, multi-robot system looks much more like that of a bee-hive or ant-hill than that of an assembly line or modern aircraft, and so we seek to design control algorithms and communication protocols for systems of loosely interconnected, almost-autonomous agents.
An example system we are working on, in collaboration with MIT, Cornell, and U. Penn is called Metabolobotics, which is a combination of the words "metabolism" and "robotics". Our team is building an environment consisting of a heterogeneous collection of raw materials and simple robots. A given robot can perform a simple operation on raw materials such as attach two beans, or carry an assembly from one place to another. The overall goal of the system is to build structures (such as bridges, shelters, etc) by scavenging materials from old structures (catabolism) and building desired structures from them (anabolism). To achieve this, we must combine many tools from robotics, computer science and control theory, including: reconfiguration, distributed estimation, consensus and partial consensus, load-balancing, optimization, and distributed algorithms.
- People: McNew, Napp, Safarik, Shaw.
- Collaborators: Lipson, Rus, Yim.
- Sponsors: NSF.
Verification and Validation of Complex Systems
All of the systems above consist of autonomous components (robots, molecules, cells) that cooperate with each other and operate in environments (such as the cell) in which there is a great deal of un-modeled, random and possibly adversarial activity. Furthermore, autonomous components collaborate by exchanging information and the bandwidth available for communication may be limited in some situations, for example when there is a great deal of ambient noise or delay. Likewise, the computational and communication capabilities of components may vary. Thus, the engineers of such systems face the daunting problem of assuring that the resulting behaviors are correct and safe.
To tackle these problems, we and our collaborators partition the problem into three parts: (1) Specification: How does the user specify, in a common formalism, control policies, communications protocols and environment models? (2) Design and reasoning: How can engineers reason that their designs satisfy the specifications? What computational tools can engineers use to help verify or at least test that their designs are correct? How can engineers reason about performance of computations and communication, and incorporate real-time and uncertainty into their reasoning? (3) Implementation: What are the best ways of mapping detailed designs to hardware artifacts, running on specific operating systems and written in an easily verified programming language?
- People: Georgiev, McNew Napp, Thorsley.
- Collaborators: Chandy, Doyle, Murray, Parrilo, Poovendran.
- Sponsors: AFOSR, ONR.
Funding
Active
- NSF (co-PI): The Molecular Programming Project, 2008-2013.
- NSF (co-PI), EFRI: Controlling the Autonomously Reconfiguring Factory, 2008-2011.
- AFOSR (co-PI), MURI: Verification and Validation of Distributed Networked Systems, 2006-2011.
Finished
- Microsoft (PI) A. Richard Newton Breakthrough Research Award: The Stochastic Model Builder Applied to Single Cell Kinetics, 2008-2009.
- UW College of Engineering (PI): Interdisciplinary Undergraduate Sequence in Systems and Synthetic Biology, 2008-2009 (with H. Sauro).
- UW College of Engineering (PI): Curriculum Development for Synthetic Biology, 2007-2008.
- NSF (PI): CAREER: Programmed Robotic Self-Assembly, 2004-2009 (apparently, my career is over!)
- NSF (co-PI): 3D Self-Assembly, 2004-2008.
- DARPA (co-PI): 3D Directed Self-Assembly, 2004-2005.
- UW Royalty Research Fund (PI): A Synthesis Method for DNA Machines, 2004-2005.
- NSF (co-PI): A Computing Lab for Integrated Teaching of Systems Courses in Electrical Engineering, 2005-2007.
Donations
- In 2007, ICOS kindly donated two liquid handlers and a CRS robotic arm fitted for laboratory automation. Thanks!
