CSE477 Project Ideas


Organization for the projects

Projects will be organized around a few themes. Each group will consist of two students. However, several groups may end up working very closely on projects that fit tightly together. Hopefully we'll have every group also be part of a cluster around one of this quarter's themes. Coordinating projects that share a theme will give you an experience of working in a larger team while still being able to focus on the work of your group of two. I'm also hoping to have at least one manager for each theme or even a manager for specific projects. A manager's job is to meet with the group(s) weekly and provide suggestions and guidance to keep the project on track much as an industrial supervisor might do. I have at least one external manager, John Wedgwood, who has extensive experience in the embedded systems industry, and several internal managers, my graduate students, who are doing projects and research in very closely related areas to the themes of this course's projects.

The themes for the projects this fall will be:

These are by no means unrelated. In fact, the hope is that as many projects as possible can be related to each other.  The choice of these domains corresponds to some areas of active research in embedded systems, user interfaces, networking, and web-based services. By focusing on these domains we hope to better leverage the work of the class to provide a more integrated experience (in dealing with a range of related projects), work in larger teams, develop some infrastructure for the research program, and provide a more coherent story to tell about the projects (which will be translated into video form after the quarter is over).

Each group will have a "manager" that will be responsible for providing a sounding board, advice, and a constant pressure to make progress.  John Wedgwood will serve as such as a manager.  John has extensive experience in the area of embedded systems and in industry management.  Some of my graduate students, working on the Portolano Expedition, will also act as managers if there is a close match between a course project and their research interests.  We may also have other managers depending on which projects are chosen by the class.


Some examples of devices/services

Lets start by providing some example computing appliances that would fall in each of these domains.

Home automation

There has been lots of activity recently by companies marketing home automation products.  Most of these involve a PC tied to a local area network of some kind.  Often the network is based on the power or telephone lines.  Two developments are worthy of note: 1) the use of embedded web servers to give users control of their home from a remote site and 2) the development of wireless RF technologies for connecting devices.  However, most of the applications are based on command style interfaces where the user specifically controls the home environment.  We would like to investigate more autonomous home control systems that do things based on knowledge of the users' whereabouts and intentions.  For example, in the operation of a home heating subsystem for power efficiency with maximum comfort.
  • emWare embedded web servers
  • Hydra embedded web servers
  • HomeRF networking
  • Body-area networks

    A new model is emerging for task-specific devices that relies on a body-area-server and an entire constellation of devices that communicate with it and through it to the greater web.  New development in "through-the-skin" networking is making it possible to create a new set of devices that communicate only when the user is touching (or physically very close to) them.  This style of networking enhances privacy and makes devices "borrowable".  One can now pick up someone else's PDA and have the other person's data become inaccessible (because they are no longer touching it) and have the new holder's data get downloaded to it through that person's body-area-server.  Many new devices (e.g., pedometer, pointers, preference holders, etc.) are now possible.

  • IrDA
  • Bluetooth
  • RF Monolithics
  • RF Microdevices
  • Geographic Information Systems

    There is an ever-increasing amount of GIS data becoming available.  Emergency services (EMT, fire, police) would like to exploit this data when they reach the scene of an emergency.  Ideally, officers would have maps of the area, the interior floorplans of buildings, and maybe even the position of persons available as they reach the scene and then have constantly updated on the scene.  Users a museum or campus would like to have detailed information about how to find what they are seeking.  Travelers would like to have always accurate information about the traffic they can expect, flight delays, etc..


    Project ideas to serve as starting points for thought (in no particular order):

    1. Virtual Neighbor: there are a set of devices commonly found in a home or easily installed that could help people keep a virtual eye on an elderly relative.  For example, motion sensors, door/window sensors, thermostats, and microphones could be used to do what was done traditionally by the friendly neighbor.  Unusual situations, for example, lack of motion or a door left open during the night, could be brought to the attention of interested parties so they could take appropriate and timely action.  The interesting part of this project is to create an architecture that makes it trivial to add/remove sensors and provide a smoothly varying quality-of-service.
    2. Location-Tracker: use a combination of GPS (for outdoors) and RF (for indoors) systems to keep track of people and objects.  This information could then be used by applications to deliver specialized content or dialogs to the user that are dependent on the location.  A simple application of this would be to locate the nearest printer to my current location.
    3. Magic Lens: instrument a PDA with a compass and accelerometers so that an application can be aware of what direction it is currently facing and its angles of inclination.  This information, coupled with location, can then be used to determine what the PDA is in front of and specialized content can be displayed on the screen thus serving as a magic lens.  One could adapt a camera to display an image on the PDA screen so that it appears to be see-through but with information overlayed on top of the image.
    4. Campus Navigator: develop an interface to on-campus GIS to deliver information about buildings and facilities.  The idea it to be able to show someone, as they enter or face a campus building, where the important offices, receptionists, and restrooms are located.  If someone has an appointment in the building, then also indicate where there destination is located and how to reach it.
    5. Itinerary Planner: keep track of where a user is scheduled to be throughout a day and monitor conditions so that itinerary adjustments can be made in a timely manner.  For example, a business traveler may want to be conscious of traffic delays to the airport, flight delays, changes in others' appointments.
    6. Migrating Audio: have audio follow a person around an office or from room to room in a home.  Use available speaker services to keep the volume as even as possible by using multiple sources and fading from one set of speakers to the next.   This is, of course, coupled with a location-tracking system.  The difficulty is increased dramatically if we consider multiple people each with their own audio stream interacting.
    7. Police/Fire/EMT Mapping: emergency service workers would like to receive maps of their destination prior to when they arrive on the scene including not only street maps but also building floorplans and, possibly, locations of people within the buildings.  For example, fire departments may want to see where people are concentrated when they arrive at a fire scene, EMT workers may want to follow a tag right to the patient needing care.
    8. Body-Area-Server: a gateway between devices carried by a person and the wired information infrastructure.  It would have a wireless LAN connection as well as the body-area-network connection.  The challenge is devise an architecture where devices can be easily picked up and used, computation can be off-loaded from the device, and communication with the wired web can be optimized.
    9. Digital Pill Box: keeps track of when a user needs refills (ordering them automatically) and when a user opens it to dispense prescriptions.  Whether patients actually take their medications is crucial information for physician who may otherwise mistakenly increase dosages or prescribe different medicines.
    10. HP Badge: we possess a couple of StrongARM based "badges" from HP that include a collection of sensors.  This device could be used as the body-area-server or as a way to prototype devices.  The badge requires some software development as well as looking into a new operating system such as Linux.
    11. Measuring Body Motions: an alternative approach to monitoring people with cameras, is to use accelerometers and distance measurement devices (e.g., ultrasonic range-finders).  This would permit investigation of user interfaces that rely on gestures and movements without worrying about obstructions and camera angles.
    12. Automatic Appliance Control: build on a project from last year that created a modular system for deploying appliances around a home and have them automatically integrated into the home automation control system.  User interfaces for the appliances are automatically downloaded from the web and rooms are outfitted with IR beacons that broadcast a unique identifier for each room.
    13. Death to buttons: many consumer products are encrusted with buttons. This is particularly annoying for small devices (e.g. calculator-watches, pagers, remote controls). Buttons are only one of many ways you could signal an operation to a device. In this project, you'll take the button-encrusted device of your choice, and explore alternate input modalities to off-load some of the button functions. For example, using various types of sensors (pressure, tilt, accelaration, heat), you could have the device sense when it is squeezed, tilted, stroked, grasped, shaken, held, and so forth, and have some of those gestures map to some of the button functionality. Some of the questions for you to address are: which button-encrusted devices are best suited to this? Which functions do you choose to offload? What alternate gesture replaces the "press a button" gesture for those functions? How do you distinguish between deliberate and accidental gestures? What feedback mechanism do you use?
    14. Preferences Holder: a key chain size device that can hold personal preferences for home and auto configurable appliances (e.g., temperature at home, radio settings in car).  It would communicate via RF wireless (short-range) when you enter a door or turn the key in the ignition.  It would be updated automatically when appliance is manually adjusted and/or through a UI on a PC or PDA.  Could also keep a log of an automobile's state (e.g., next service, fuel level, location, etc.).
    15. Day Tracker: use GPS and other data (e.g., known times of wireless and wired connections) to build up a map of a day's movements.
    16. Body Movement Tracker: use accelerometers positioned on parts of the body and connected to a PDA via wireless links to keep track of what a person does throughout the day.  This could include walking time, exercising time, gestures, etc..
    17. Haptic Joystick: work with Prof. Hannaford in EE to apply the Microsoft Haptic Joystick (that his group has already reversed engineered) to use as an I/O device for a PDA or other portable application.
    18. Assistant for the Blind: add a transceiver to a Braille display so that a blind person can find out about the different objects/people they may encounter during the day.  The display would be belt or arm worn.  An example may be a web client that adapts web data for display to the blind.
    19. Bitmap Capture: often one would like to capture a text fragment from a magazine or newspaper. Ideally, a PDA could have an optical scanner in a corner of its case, capture the bitmap, and process it using an optical character recognition (OCR) algorithm. Due to its current limitations, an approach to prototyping such a feature would be to connect a commercial pen-scanner to a PDA port and collect the bitmap into a form. When the PDA's data is hot-synced to a PC, the OCR software could be run there and a new translated record created. Both pen-based scanners and PC OCR software exist today and could be purchased to complete this project.
    20. PDA Chording Keyboards: it would seem to that there is a middle ground between pen-based Graffiti and hunt-and-peck QWERTY keyboards for entering text. A set of switches under the users fingertips could be used to construct an optimized chording keyboard that presents a quick menu of choices for the user to select with the stylus. Huffman coding may be a way to start. The screen space occupied by such a menu would be much smaller than a keyboard and could be less distracting during use in an application.
    21. Hypermail Subscription Service: it would be useful to have a set of hypermail-boxes where different announcements (colloquia, course schedule, faculty/staff out-of-town, visitors schedules, etc.) could be sent. The Pilot application would allow a user to subscribe to any subset and automatically download new message data (and remove old) whenever the user hot-syncs. Some of these would require new applications (e.g., visitors schedule) for viewing, other could be integrated with existing applications (e.g., colloquia - with abstracts - into date book)..

    Comments to: cse477-webmaster@cs.washington.edu (Last Update: )