Selected Scholarly Projects
Information-based Robot Navigation for Bandwidth-constrained Sensor Networks(2005-2006)
Information can be used as a mobile robot localizability metric -- a tool for computing the ability of different regions in an environment to aid in robot localization. In particular, for each region in the environment, the information computes the change in estimation entropy expected for a robot (utilizing Markov Localization) in this area. This project studies the use of combining information and a bandwidth utilization metric into a navigation map for a mobile robot embedded in a wireless sensor network. This approach allows for planning paths that can manage the trade-off between localization accuracy, consumption of shared network bandwidth, and path length. These maps also show promise as a tool for determining deployment topologies and maintenance schemes for ensuring consistent levels of localization in the face of mote failures. We have demonstrated that this technique is effective for generating paths that increase the accuracy of localization while requiring fewer detections.
Large-Scale Wireless Sensor Network for Multi-object Pursuit-Evasion Games(2005)
In the summer of 2005, we deployed an outdoor large-scale wireless sensor network to demonstrate a variety of concepts: multi-object tracking, pursuit-evasion games, unmanned aerial vehicle exfiltration, and user-level interaction and debugging. A wireless sensor network (WSN) of 557 Trio motes was deployed in an outdoor area at UC-Berkeley's Richmond Field Station. We demonstrated a multi-object tracking and simulated pursuit of 2 human evaders crossing a 12 by 12 grid of motes. The detected tracks were registered on aerial images of the field station and relayed to mobile displays in the field. We additionally demonstrated data exfiltration from the WSN to a remotely piloted fixed wing aerial vehicle (called the BAT) via the standard mote radios. The BAT, equipped with an 802.11 WiFi link, then relayed the data to a base station for analysis and display. This was joint work with the NEST Team under the supervision of David Culler, Shankar Sastry, David Wagner, and Eric Brewer.
- P. Chen, S. Oh, M. Manzo, B. Sinopoli, C. Sharp, K. Whitehouse, G. Tolle, J. Jeong, P. Dutta, J. Hui, S. Schaffert, S. Kim, J. Taneja, B. Zhu, T. Roosta, M. Howard, D. Culler, and S. Sastry. Experiments in Instrumenting Wireless Sensor Networks for Real-Time Surveillance, In the Proceedings of the International Conference on Robotics and Automation Video, 2006.
Monstro: Outdoor Ground Robot and Mobile Sensor Network Platform(2005)
Monstro is a custom, rugged, cost effective, unmanned ground vehicle (UGV) hardware and software platform for use indoors and outdoors. Our final design consists of a 4 wheel drive, 2 axis steering, carbon fiber chassis capable of supporting a 30 pound payload. The robot was equipped with high precision differential GPS, 802.11 WiFi networking, a 1.6 GHz PentiumM Linux-based mobile computer, a programmable motor controller, and a Telos wireless sensor mote. A client-server software platform was developed to facilitate quick interaction and testing of control concepts. Interfacing with a wireless sensor network (WSN) is provided by an onboard Telos mote and supporting software interface. Additionally, the onboard computer is interfaced with the motor controller (running the TinyOS operating system) which provides control of wheel steering and speed while ensuring safety by disabling the motors during communication disruption. Additional onboard software utilizes a client-server model allowing a remote client (such as a desktop or laptop) to employ all the robot resources such as the motor control, the GPS, and the WSN. Special thanks to Dr. Khalid Al-Ali's team at Carnegie Mellon West who developed the chassis for their MAX platform and graciously allowed us to use it for our project. Special thanks to John Breneman for obtaining, modifying, and assembling the chassis. Thanks to Cory Sharp for code debugging assistance.
Control within Wireless Sensor Networks (CWSNs) Simulator(2004-2005)
Motivated by several previous implementations, we developed a simulator to allow rapid prototyping and investigation of control systems embedded in wireless sensor networks (CWSNs). The simulator is designed for easy and automatic composition of simulation components (such as a state observer, a wireless network model, or a feedback controller). This is supported by a well-defined component API with named ports for information exchange, and a protocol for automatically connecting such components. Additionally, the simulator's default library of components was developed to support realistic simulation of pursuit-evasion games (PEGs) embedded in WSN. To this end, several crucial features of our previous PEG implementation were modeled such as nonholonomic robot dynamics, a lossy and laggy multihop wireless networking channel, mote hardware failure, and sensor failure and saturation.
ACTIONS: Control Architecture for Wireless Sensor Network Applications(2004-2005)
ACTIONS is architecture for control theory implementations on networks of sensors. ACTIONS is the result of an effort to develop a unified framework for designing control systems that interact with wireless sensor networks (WSNs). In particular, using insight from our pursuit-evasion game (PEG) demonstration, we define 3 categories of WSN characteristics that frustrate control design: sensor error, missing and spurious readings, and network characteristics. These categories encompass design difficulties from inter-mote calibration error to multi-hop latency. After exploring the challenge space, we enumerate techniques for addressing each challenge and integrate these into a unified service architecture framework. The final design employs several design philosophies: multi-modal control, neighborhood models, hand-shaking, status query, time synchronization, coordination, predictive control, and maintenance routines.
Wireless Sensor Network for Mobile Robot Pursuit-Evasion Games(2003)
In July 2003, we demonstrated a mobile robot pursuit-evasion game on a medium-scale wireless sensor network. On an outdoor field, we deployed 100 motes in an 10 by 10 regular grid with 2 meter spacing for tracking a unmanned ground vehicle (UGV). Using landmark routing and periodic beacons from the robots, the sensor network provided the capability of wirelessly routing messages amongst motes and mobile robots. A human controlled evader robot driving in the field was detected by nearby motes using magnetometers. These detections were aggregated and relayed to the pursuer robot. Using these detections and an onboard D-GPS system, the pursuer localized itself and the evading robot and followed an intercept course to the evader. In all runs (about half a dozen), the pursuer successfully captured the evader.This was joint work with the NEST Team under the supervision of David Culler, Eric Brewer, David Wagner, and Shankar Sastry.
- Cory Sharp, Shawn Schaffert, Alec Woo, Naveen Sastry, Chris Karlof, Shankar Sastry, David Culler, Design and Implementation of a Sensor Network System for Vehicle Tracking and Autonomous Interception, In the Proceedings of the European Workshop on Wireless Sensor Networks 2005, Jan-Feb 2005.
Distributed Control Applications Within Sensor Networks(2002-2003)
Wireless sensor networks (WSNs) are becoming an important sensing platform for many applications including environmental monitoring and vehicle tracking. As we move to augment these platforms with control systems, classical control theory will prove to be insufficient in addressing many of the properties of the WSN platform. In particular, WSNs provide sensor measurements aperiodically, with large latency, and often lacking sufficiently accurate time stamps. This project seeks to provide control system design methodologies for combating these characteristics. We provide an overview of the intended hardware and software platforms and our target control application. Focusing on our application, we discuss several models of computation potentially applicable to our system, and suggest a mixed model that provides for time triggers at the control level and discrete events at the sensor network detection level. Joint work with Bruno Sinopoli, Cory Sharp, Luca Schenato, and Shankar Sastry.
- B. Sinopoli, C. Sharp, L. Schenato, S. Schaffert, S.S. Sastry. Distributed control applications within sensor networks. In Proceedings of the IEEE, Volume: 91, Issue: 8, Aug. 2003.
Predictive Control for Vehicle Navigation in Wireless Sensor Networks(2002)
We investigate the ability of predictive and adaptive control to combat the laggy and aperiodic nature of sensor network data streams. In particular, we test the ability of a model predictive controller (MPC) with adaptive parameters to learn the parameters of the dynamics and successfully navigate to given way-points. For these experiments, we used a COTS-BOTS robot navigating on a flat high traction surface with a network of Mica motes suspended above detecting the magnetic disturbance created by the robot. We also developed a hardware-in-the-loop simulator capable of interacting with this environment and a color tracking camera for providing ground truth localization of the robot. Initial experiments were successful: after 2 initialization way points, the robot typically learned its parameters with sufficient precision to reach proceeding way-points. The COTS-BOTS robot was developed by Sarah Bergbreiter.
Wireless Sensor Network for Vehicle Tracking and Camera Control(2002)
This project seeks to understand the challenges and design requirements for tracking and control using a wireless sensor network (WSN). We implemented an indoor 5 by 5 network of the Berkeley Mica motes for tracking a small RC car. The car is tracked with the mote's magnetic sensor, and the estimated location of the vehicle is relayed to a base-station that controls a pan-tilt-zoom camera to follow the vehicle. In particular, as individual motes sense the vehicle, they broadcast their reading to share this information with neighboring motes. Periodically, the mote with the largest, recent magnetic sensing, elects itself as a leader, aggregates recent readings from a small neighborhood, and multi-hops this message back to the root node. The multi-hop broadcast works using a fixed routing table: messages are routed down and to the left. The base-station, using a snooping mote, receives aggregated magnetic readings and controls the camera to point at the center of mass of these readings. The implementation was successful for tracking the RC car with relatively low noise. Occasional spurious and missing magnetic detections caused the camera to lose the car or pan to the wrong region of the network. This was joint work with the NEST Team under the supervision of David Culler, Eric Brewer, David Wagner, Kris Pister, and Shankar Sastry.
Modeling Control in Wireless Sensor Networks(2002)
Integrating wireless sensor networks (WSNs) and control systems present several challenges. Classical control theory assumes a periodic, time-triggered model of computation and is unable to cope with WSN design issues such as task scheduling and sensor synchronization. On the other hand, models of computation useful for computer networks are incapable of modeling continuous dynamics and lack the depth to analyze controller properties such as stability or safety. This project examines how we can effectively model and implement distributed control systems in WSNs using an informative example problem: a single lane automobile bridge with mote access controllers. Using the Ptolemy II modeling system, we develop a continuous time and discrete event hybrid model that accounts for networking collision and latency, distributed unsynchronized sensor measurements, and continuous dynamics. We discuss the advantages and disadvantages of such an approach. Furthermore, we instantiate our control design in the synchronous-reactive language Esterel and use this to generate TinyOS code capable of running on Berkeley's Mica motes. Joint work with Bruno Sinopoli. Thanks to Alessandro Pinto and Yanmei Li for their contribution in the Esterel implementation.
Feasibility of Semi-definite Programming for Determining Node Topology from Ranging Information(2000)
Many areas of research require a fast and accurate method to determine the geometry of nodes in an N-dimensional space given only pairwise range information. For instance, researchers working on wireless sensor networks (WSNs) distribute many sensing nodes throughout an environment. Once deployed, the WSN should initialize itself and begin reporting sensor measurement and position information. In order for the network to determine position information, each node needs to localize itself relative to the other nodes. Typically, the received signal strength indicator (RSSI) or groups of ultrasonic transceivers can be used to gather range values amongst pairs of nodes. Using semi-definite programming (SDP), we develop an algorithm for determining the relative position of nodes given this ranging information. Another field in which such a procedure is useful is molecular modeling where the range between atoms is known, but the geometry of the molecule is unknown. After developing the solution algorithm, we investigate its empirical performance using MATLAB.
- S. Schaffert. Position Estimation from Distance Information. Project Report. December 2000.
Dynamic Surface and PID Controller Comparison for Slightly Nonlinear Helicopter Dynamics(2000)
Nonlinear helicopter dynamics can be complex and unstable requiring extensive controller design effort and testing. Sliding mode controllers provide a design for addressing nonlinear systems. This project is a comparative study of the design effort and effectiveness of PID controllers compared to sliding mode controllers for slightly nonlinear helicopter dynamics. In particular, using a technique shown to reduce complex helicopter dynamics, we present a reduced complexity set of helicopter dynamics. A typical PID controller, along with a dynamic surface controller and nonlinear observer is designed for these dynamics. The two control designs are compared for different frequency inputs and noise rejection.
Dynamic Priority Task Scheduler for Mission Critical Control Systems(2000)
This project develops a task scheduler for mission critical control systems. We seek to find a scheduler that will ensure no task is starved, mission critical tasks complete first, overall task latency is minimized, and specified deadlines are achieved. We assume that each task has a given minimum and maximum execution time, that the dependencies between tasks is specified by a directed acyclic graph (DAG), and that each task will announce when it requires CPU time. With this model, we develop a hierarchical parent-child scheduler. The parent simply maintains a FIFO task queue, which is dynamically shuffled by the child scheduler. We develop and study three child schedulers: ratcheting priority, optimal ratcheting priority, and output sensitive optimal. As an example, we take a helicopter control system, encode it in our task model, and compare the simulated performance of our schedulers to that of a round-robin, a static priority, and a FIFO scheduler. This project was joint work with Mark Donahue.
Maximal Controlled Invariant Sets and Least Restrictive Controller(1999-2001)
Synthesis of the maximal controlled invariant sets and least restrictive controllers for classes of discrete time linear and discrete time hybrid systems with safety specifications is investigated. The existence and uniqueness of a controlled invariant set and least restrictive controller associated with a system is established. An iterative solution algorithm for classes of systems definable in a decidable theory is proposed and investigated. It is shown that if the algorithm converges in a finite number of iterations, the problem is completely solved. Additionally, for certain classes of linear discrete time systems, the algorithm is shown to converge in a finite number of iterations. Examples and software tools are discussed to demonstrate an implementation of the proposed solution algorithm. This was joint work with Rene Vidal, Omid Shakernia, John Lygeros, and Shankar Sastry.
- S. Schaffert. Masters Thesis. Master of Science, Plan II. Research Project. Controller synthesis for discrete time hybrid systems with safety specifications. 2001.
- R. Vidal, S. Schaffert, O. Shakernia, J. Lygeros and S. Sastry. Decidable and Semi-decidable Controller Synthesis for Classes of Discrete Time Hybrid Systems. In Proceedings of the 40th IEEE Conference on Decision and Control, pp. 1243-1248, Orlando, December 2001.
- R. Vidal, S. Schaffert, J. Lygeros and S. Sastry. Controlled Invariance of Discrete Time Systems. In Hybrid Systems: Computation and Control, volume 1790 of Lecture Notes in Computer Science, pages 437-450. Springer Verlag, 2000.
- R. Vidal, S. Schaffert, J. Lygeros and S. Sastry. Controlled Invariance of Discrete Time Systems. UC Berkeley Memorandum No. UCB/ERL M99/65, 1999.
Selected Business Ventures
Local Community Integration and Fundraising Web Portal(2006-2008)
The web provides a great opportunity for bringing together and enriching local communities. This venture focused on developing a web portal that would allow local communities to actively interact and raise money for local organizations. As the Principal Architect and Director of Technology, I contributed to the strategic business and technical vision of this project. I configured and maintained the necessary hardware and software infrastructure. I developed components of the software and database architecture for various software services including automatic image enhancement, accounting and business tracking, user reliability estimation, automatic sitemap generation, continuity (backup, restoration, and migration) assurance, efficient keyword search, search engine optimization, email tracking, virtual URL namespace support, traffic monitoring, similar content grouping, privileged user security, and user interface design.
Selected Personal Projects
Raised Boxes Web Theme(2009-2010)
I wanted a new look for my website that would be simple, clean, professional, and provide excellent readability. This design is the result of that effort. To enable a clean and readable look, I built this design on the Blueprint CSS framework. This also provides instant cross browser compatibility. Additionally, I wanted to use open source tools, so I built the graphics using Inkscape (earlier versions were built using Gimp). To enable easy navigation, I made several clearly delineated sections of each page: a header area, a navigation area, a content area, and a footer. Since long lines are difficult to read in browsers, I kept the width of the content area relatively small: 630px in total and 600px within paragraphs. Finally, to provide a bit of depth in the design, I added rounded corners and drop shadows around the major sections of the page.
Keyboard Key Assignment: Qwerty? Dvorak? Neither?(2005)
Could a different keyboard key layout reduce the amount of work required of our fingers during daily typing? Almost everyone I encounter uses Qwerty and, those who have used both Qwerty and Dvorak, are conflicted on which is the right choice. This project was a brief experiment to determine if I would personally be well suited to using Dvorak, and if I could reduce overall hand fatigue. Analyzing much of the code and publications I have written in the last five years, I computed a histogram of my character usage. Analysis showed that with Qwerty only 25% of the characters I used were on the home row. With Dvorak, about 53% of the characters I used were on the home row. Further analysis revealed that my fingers traveled approximately 46% further using a Qwerty key layout than with a Dvorak key layout. Using a personalized comfort metric, I further made minor changes to the Dvorak key assignment. In particular, I made keys commonly used in code development, such as $ or #, more accessible. I switched to the new key assignments and was successful at regaining my previous typing speed and reducing overall hand fatigue.
Scape: Exploring Pleasing Geometry(2004)
Golden rectangles, the golden ratio, and the Fibonacci sequence have been claimed to echo, at least approximately, natural phenomenon such as the geometry present in sea shells or the pedals of a flower. Additionally, it has been suggested that many artists throughout history knowingly exploited such rules to create realistic and pleasing images. This project was a brief study to explore the use of geometry and precise ratios in attaining pleasing images: an exploration to determine my personal opinion. The final piece, titled 'scape, is acrylic on an 8 foot by 10 inch canvas. The geometry was well planned out; the paint choice and application, however, was glib. Whether the designer achieved pleasing imagery in the face of sloppy color choice and application is, as always, left to the viewer.