CS 424, Fall 2009

Real-Time (and Cyber-physical) Systems

Advanced Embedded Computing

 

 

Projects

 

The projects will involve teams of 2-3 people. Each team is free to choose their own project. A limited amount of funding is available to buy project supplies (you specify what you need). Project groups must be formed and project title/abstract must be submitted by September 12th. Project groups are strongly encouraged to meet with the instructor at least twice a month to discuss project progress and get feedback on project direction. An in-class midterm project presentation is scheduled the week of November 2nd. A final project report is due December 11th. A project demonstration to the instructor is required the week of the finals.

 

What should I expect from the project?

 

Undergraduates:

If you are contemplating graduate school, the project is going to be very valuable. The key quality that a graduate school admission committee looks at in prospective applicants (in addition to a good GPA, good school, and good test scores) is research potential! Can the person innovate independently? Are they creative? Do they have prior research experience? Do they have recommendation letters that say they are good at it? If you have only taken classes with homework and MPs, it may be difficult to get strong recommendations that comment on your research potential. Class projects are often a good way to promote the qualities you need for research. The project should give you an opportunity to:

 

- Interact closely with the instructor for guidance (please schedule a meeting with me at least twice a week to discuss your project).

- Get access to embedded devices of your choice (within budget limits) to develop interesting new systems and applications.

- Develop and demonstrate your creativity, ability to innovate independently, and ability to work in teams.

- Have someone follow your progress, who can attest to it in a recommendation letter that comments on your research potential.

- Learn skills related to cyber-physical system development, having worked with embedded devices and produced interesting results.

 

Graduates:

This is where you get the extra credit hour (you must register for the 4-credit version of the course instead of the 3-credit version). Your project is expected to be sufficiently novel that it is of the quality of a conference publication. If the project is successful, ideally you will be able to get a paper out of it. Please meet with me and discuss your ideas carefully to assess publishability.

 

Can you give me examples of possible projects?

 

Some project examples are listed below, but you are free to come up with your own ideas, especially if you are shooting for a publication.

 

Real-time Gesture Interface:

Future computing devices will have novel interfaces such as those based on gestures, eye-gaze, or even thought. We do not have cyber-physical mind-reader devices yet in this class, but we do have embedded boards equipped with a microcontroller, a radio and an accelerometer (see below).

 

tmote-sky-blue.gifIn principle, it is possible to use it for gesture recognition. Challenges include:

- Wirelessly interface to the board so you can retrieve its measurements (you may run LiteOS on the board for that purpose).

- Identify a set of accelerometer features that are characteristic of different gestures, motions, or activities you wish to detect.

- Write an algorithm to detect those features and react according to the activity performed (for example, turn lights on and off with a gesture by letting the embedded board signal a PC to control the light using an X10 wireless switch interface shown below).

 

 

The Smart Room:

Extrapolating from the above idea, imagine a future smart building that knows where you are, what you are doing, what your preferences are, can understand your gestures, and can display response messages on walls. How can such a building make your life more comfortable? We can offer a variety of sensors to you including light, magnetic field, sound (microphones), and acceleration. We can also allow you to control the environment via an X10 kit (which allows computer control of electric switches and appliances).  A PC can display interactive output. Using these tools, can you build an interesting ubiquitous computing application where the building interacts with a user in real time? 

 

Cyber-Physical Internet Games:

Taking this a step further, develop a multiplayer game of your choice where interaction with the physical world is needed (and is measured using the sensors mentioned above). For example, a virtual treasure hunt game may display cryptic clues on your phone or laptop leading you to the location of the next clue. Once you have guessed and found the right location, sensors in the room will detect your proximity from the right spot and will send to your phone or laptop the next clue. Getting the next clue may also involve performing certain activities that sensors can again detect, evaluate and respond to as appropriate.

 

Real-time Target Tracking:

Now, let us make this more real-time. Use sensors to localize the position of a target (the bad guy), then use servo motors to control two laser beams to point to it. The target at the intersection of the beams is dead. Can you track a moving target in real-time? For suggestions on servo motors that can be controlled via a PC, here is a possible kit. Once a target is tracked, you can extend your device to a multi-target tracking system. Given more targets in the environment than you have time to eliminate in real time, your system needs to come up with an optimal shooting schedule that eliminates the most bad guys. Since motors need time to move, you will need to account for timing issues in optimizing your schedule to maximize your score. It is a way to experiment with optimal scheduling.

 

 

Energy-based Troubleshooting:

Embedded systems, such as sensor networks, are often deployed in remote, hard-to-reach environments. When things fail, it is expensive to send someone to retrieve the misbehaving component. However, components that are alive use energy. Can you use energy traces to determine what is wrong with a remote node that stopped communicating? The project will develop an energy meter interfaced with a radio to send energy telemetry, as well as analysis algorithms to determine the type of failure from the energy trace.

 

Understanding Human Context:

A key characteristic of future cyber-physical systems is that they will have their own understanding of human behavior, state, and context. For example, a GPS device in my car can in principle know where I live, where I work, where I shop, who I visit, and what restaurants I like. What interesting applications can we build that use this knowledge? For another example, my laptop can in principle know what programs I use, what e-mail I write, what social network sites I go to, what news I read, and what websites I shop at. Can that information be used to help me better organize my life and my time? Creative ideas are welcome!