CS 395T: Intelligent Robotics
- Fall 2000. MW, 10:30 am - 12:00 pm.
- TAY 3.144
- Professor Benjamin Kuipers
- Unique #51485.
Resources (check for updates)
In this course, we will study the problem of how a robot can learn the structure of the world it inhabits, and how to navigate within that world. We will focus first on the problems of spatial knowledge: exploration, mapping and navigation in unknown environments. Our hypothesis is that the effectiveness and robustness of human spatial knowledge arises from having multiple representations of knowledge of space that work well together, and that we can replicate this on robots. We will also address the problem of what and how a robot can learn about its own sensorimotor capabilities and about its environment by exploration without prior knowledge. These problems relate to some of the most fundamental issues in artificial intelligence and cognitive science.
Experiments and assignments will be done on simulated and physical robots. One of our physical robots is a prototype of an intelligent wheelchair.
This is a research seminar, intended first to bring you to the state
of the art, and then to help you do a project and paper of publishable
quality. There will be a significant amount of reading of research
papers that will be handed out.
There will be three mathematical and programming assignments, a term
project and a presentation.
Given a trace of sensor input (odometry and laser range-finder scan)
from a robot tour of a small environment, build an occupancy grid map
of the environment, using the methods described in the readings. Work
in MATLAB or LabVIEW. You will be given two traces to work with for
the assignment, and tested on a third.
You may give and get advice on this assignment, but it remains an
individual assignment. If you are giving advice, make sure you are
teaching, not just solving the problem. If you are getting advice,
make sure you are learning, not just being given an answer. The grade
is not the goal; your own deep understanding is the goal.
For extra credit, port your solution to Flat (our simulated robot),
Lassie (the small round robot), or Vulcan (the wheelchair).
Implement control laws to follow walls and corridors in office
environments. Based on this control law, implement control laws to
hill-climb to various kinds of distinctive states. Work in teams of
two, starting by implementing and testing the control laws in MATLAB
or LabVIEW, then porting them to run in Flat. Define simple office
environments in Flat, with linear walls and no noise, but with complex
enough structure to demonstrate your control laws.
You will work in teams, and you may give and get advice, but remember
the fundamental principle stated above.
We will specify a local environment description language in class, and
provide a set of rules for selecting control laws based on the local
environment. Implement an exploration strategy that determines the
set of outgoing control laws from the current distinctive state, and
selects a random one to follow to the next distinctive state.
For extra credit, port your solution to Lassie or Vulcan.
Implement and test a Kalman Filter observer for a local environment
type that may be encountered by our robots in their environments.
Work in teams of two to implement and test the observer first in
MATLAB or LabVIEW, and then integrate the observer with your control
laws and port it to Lassie or Vulcan. Demonstrate on realistically
Work with other teams to integrate all the observers and control laws
into a single system that allows Lassie and Vulcan to explore among
distinctive states in our environments.
Some examples of the local environments needing models and observers are:
Wall or corridor (provided in handout)
Intersection of corridors
Doorway in corridor
Doorway across corridor (posts; spring-loaded doors)
Inside right-angle corner
Outside right-angle corner
Obstacle (blob or point)
Moving obstacle (pedestrian)
Each team picks one or two to build, and works to integrate with the
Projects and Presentations
Each class member will select a term project topic, which includes
finding and reading additional literature and becoming an expert on
some topic. Some of the topics involve getting a deeper understanding
of a problem or method taught in class. Others involve extensions of
the work presented in class to other related problems.
Each student will make a presentation to the class, modeled after a
25-minute conference paper presentation.
For some topics, the presentation will cover a literature review and
will teach the class in more depth about a particular problem,
alternate approaches taken to solve it, and their advantages and
disadvantages. Such a presentation will take place during the second
third of the semester. The presentation will be evaluated for its
instructional quality, and the final term paper will be evaluated as a
comprehensive literature review.
For other topics, the presentation will present the result of a
research project: an effort to develop and implement a novel solution
to a problem. Such a presentation will take place during the last
third of the semester. The presentation and the final paper will be
evaluated as research presentations to a major conference such as AAAI
or ICRA. The outline of such a presentation (both verbal and paper)
What is the problem? Why is it important? Why should the reader care?
What previous work has failed to solve it? What am I building on?
What is my approach?
Verbally: an intuitively clear summary.
On paper: enough for an expert reader to reproduce the work.
Evaluation: How can the reader be assured that my approach actually works?
What next? WhatUs left to do? What does this solution enable the reader to do?
You are encouraged to select a topic that fits well with your other
research interests. Some suggestions...
- Automatic methods for tuning robot control laws.
- Heterogeneous/fuzzy control --- methods for composing nonlinear control laws.
- POMDPs and other methods for resolving topological ambiguity.
- Visual object tracking
- Visual object recognition using hierarchical shape schemas
- Visual space --- multiple representations for partial knowledge.
- Wheelchair command interfaces: control, causal, topological levels.
- Wheelchair command interfaces: physical interfaces.
- Wheelchair sensors: depth/dropoff from vision.
- Cognitive maps of 3D structures: maintaining the space station.
- Viability of SSH mapping in natural environments: rocky desert on Mars.
- Use of CAD/GIS maps along with SSH cognitive maps.
- Production and comprehension of sketch maps.
- Production and comprehension of route directions.
- Human spatial cognition: evidence and explanation.
- Animal spatial cognition: evidence and explanation.
- Neural structures supporting spatial cognition.
- Learning: hierarchy of features grounded in sensorimotor interaction.
- Learning: recognition of places from sensory images and context.
- Learning: skilled motion control.
- Philosophical foundations: symbol grounding and the Chinese Room Problem.
The textbooks are references that will be valuable in different ways in this area.
You will also need to do assignments in either MATLAB or LabVIEW.
Make sure you have any documentation you need.
- Neil Gershenfeld, The Nature of Mathematical Modeling.
Cambridge University Press, 1999.
This is a concise but accessible introduction to the continuous mathematics that is essential for dealing with continuous sensory input and motor output.
- David Kortenkamp, Peter Bonasso and Robin Murphy,
Artificial Intelligence and Mobile Robots.
This is a collection of case studies about successful mobile robots, illustrating a number of different decisions about knowledge representation and robot control.
- Joseph L. Jones, Anita M. Flynn and Bruce A. Sieger, Mobile
Robots: From Inspiration to Implementation, second edition.
A. K. Peters, 1998.
(optional) This is a hobbyist book, but it gives a good introduction to a number of the issues behind robot hardware, including batteries, gears, motors, sensors, and simple control laws.
Students with Disabilities
The University of Texas at Austin provides upon request appropriate
academic accommodations for qualified students with disabilities. For
more information, contact the Office of the Dean of Students at
471-6259, 471-4641 TTY.