15-494/694 Final Project Ideas
These are just suggestions for final projects. You are more than
welcome to propose your own final project ideas if you think of
something that interests you.
Intent Recognition with BERT
- Use the BERT language model to implement intent recognition.
- The user defines a set of intents (e.g., fetch a cube, or go
back to your charger) and gives several examples of language
expressing each intent.
- Given a new utterance, we encode it with BERT and then use dot product
similarity to see if it matches one of the predefined intents.
- This work can be extended to handle intents with slots, e.g.,
make a specific cube glow a specific color.
- Using BERT means we can run on the workstation using the GPU instead of
making API calls.
Intent Recognition with GPT-3.5
- Similar to the previous idea, but using GPT 3.5 to do the intent recognition instead of BERT.
- This will require developing a suitable prompt string based on the set of desired intents.
- This approach might be more difficult than doing basic intent
recognition with BERT, but it might also work better, and could
make slot extraction easier.
Planning with GPT 3.5
- complex tasks can be broken down into a series of simpler
steps. Computing these steps algorithmically is called "planning"
in AI.
- This project will use GPT 3.5 to synthesize plans that Cozmo can then execute.
- For example, to solve a puzzle it might be necessary to
manipulate (tap or roll) certain cubes in a particular order.
- With an appropriate prompt, GPT 3.5 could figure out steps to solve the puzzle
and output a set of instructions that a state machine program could execute to
make Cozmo complete the task.
Visual Search
- The goal is for Cozmo to locate an object such as a cube or custom
marker.
- An initial strategy is for him to rotate in place until he's
swept through 360 degrees. But what if this doesn't find the object?
- Wandering randomly is dangerous because Cozmo cannot detect the
edge of the table. He also risks running into obstacles (other
than walls) he can't see, which will mess up his odometry.
- The solution is to maintain an occupancy grid representation of
obstacles (walls) and safe space. Any space between the robot's
current location and a visible wall marker is obviously
unobstructed and can be marked as safe. Also, assume any space
within 75 mm of a wall is safe.
- Cozmo may not know the initial wall configuration, and he can't
see what's on other side of a wall, so he will have to explore by
passing through doorways, discovering more walls, and checking
each side of each wall. He will also need to look behind cubes
in case another cube or marker is lurking there.
- The occupancy grid will also record which parts of the space
have been inspected. Uninspected areas (such as the area behind a
cube or on the other side of a wall) become candidates for
exploration.
The Kidnapped Smart Robot Problem
- The "kidnapped robot problem" is when a robot is picked up and
moved to a new place, and must then figure out where it ended up.
- The cozmo-tools particle filter responds to this by randomizing
the particles and trying to use landmarks to re-localize. But what
if no landmarks are visible in the camera image?
- This project will develop smart strategies for searching for
landmarks to help the robot self-localize. This will involve
moving both the head and the body.
- The problem is more difficult when the robot is in a tight
space because collisions with walls or objects can throw off
its odometry.
Cozmo's Magic Dream House
- We have code for navigating the Dream House and operating the elevator. See this
video
- Develop new Dream House capabilities such as recognizing
portraits on the wall (Cozmo has face recognition) and reporting who
is in what room.
- Program Cozmo to lead a visitor to a specified room.
- Program Cozmo to give a tour of the house. Imagine it's some
famous house like the Carnegie Mansion and give historical tidbits
as part of the tour.
|