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).
In
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!