Seth Teller

My research focuses on Situationally-Aware Computing for Autonomous Robotics and Human Assistance.

Most humans are "situationally aware" in the sense that, through experience -- i.e., movement, observation, memory formation, and inference -- we develop spatially extended, temporally persistent representations of the world. These representations (also called "mental models" or "maps") enable people to survive, make sense of their surroundings, move purposefully, and function effectively in the world.

Our group aspires to develop autonomous mobile robots that have a degree of situational awareness, in order to perform useful low-level and high-level tasks (like fetching, delivery, wheelchair transport, driving, forklift operation) for people. Additionally, we aspire to develop small hand-held or body-worn sensor and computation suites that are situationally aware, in order to assist people with everyday tasks. In both cases we propose to use machine vision as a primary sensing modality, and plentiful sensor bandwidth, storage capacity, and CPU resources to support inference and representation-building.


Nothing will ever be attempted, if all possible objections must be first overcome.

                                                                                    - Samuel Johnson, 1759.

The perfect is the enemy of the good.

                                                                                    - Voltaire, 1772 (though presumably he wrote it in French).


I am a member of the RVSN (Robotics, Vision, and Sensor Networks) Group,  the EECS department, and the (merged) CS and AI Lab (CSAIL) at MIT.

Contact Information and Maps

Publications



New Stuff

NEW! Quotes from students taking 6.141 (Spring 2008):

"Overall, I thoroughly enjoyed this course. It was the only course I was taking that I didn't need in order to graduate, and yet I spent by far the most time on it."

"Thanks so much for giving me one of my best experiences at MIT!"

"[T]his was an amazing class, and I want to thank both of you, along with the rest of the staff, for making this one of the best classes I've ever taken."

NEW! In May 2006 we formed a team to compete in the DARPA Urban Challenge, the goal of which is to develop passenger vehicles capable of safe, autonomous driving in urban traffic.

NEW! In December 2005 I was named the new EECS Area II Chair, overseeing the Area II Graduate Program. If you wish to write me in that capacity, please do so via area2-chair@csail.mit.edu and from a *.mit.edu email address (to avoid spam filtering). Thanks.

In Spring 2006 I taught a new "grand challenge" course, Robotics: Science and Systems I. This is the first term of a two-term sequence intended for Juniors in EECS, Aero/Astro, and MechEng. It can be used as an Institute Lab or as an EECS Department Lab. RSS I carries 12 EDPs (Engineering Design Points). In Fall 2006 we have focused RSS II on the DARPA Urban Challenge, adding a graduate component 6.897 to the subject. (MIT Catalog listing for RSS I; for RSS II; and the Spring '06 RSS I Website.)

The group of graduate students with whom I work includes:

Albert Huang, on Machine Understanding of Narrated Guided Tours;

Olivier Koch, on Video-based 6-DOF pose determination from known structure;

David Moore, on Robust,scalable sensor network localization (co-advised by John Leonard and Daniela Rus);

Ed Olson, on SLAM algorithms with quality guarantees (co-advised by John Leonard);

Peter Sand, on Spatio-temporal registration of multiple video sequences; and

Emily Whiting, on Taxonomy of Landmarks for Guided Indoor Navigation.

See the CSAIL 2006 research abstracts ! (2005 abstracts are here.)

Projects in my group include:

Large-scale SLAM (Simultaneous Localization and Mapping)
6-DOF Localization from Monocular Video of Known Structure
An Infrastructure for Federating Location-Based Data
SLAM with Metric Quality Guarantees
Building Semantic Maps through Machine Understanding of Narrated Guided Tours
(OLD:) The City Scanning project (eventually, robotic mapping of urban environments) !
The Stata Center Time-Lapse project (multiple views, every three minutes, of the new CS building) !
The CityWalk/BMG project (generating rich, furnished 3D building models from 2D CAD) !
The Cricket system for location-aware applications (examples: the software compass/flashlight; also, active signage).
The Educational Fusion project (web-based courseware for teaching algorithms and simulations).
Students: looking for a UROP, AUP, or MEng project?  Join the above, or check out these ideas.

We run many of our algorithms on a 64-processor Pentium/Linux SuperComputer !

Check out the latest publications and results arising from our research projects !

Since 1994 I've been on the EECS faculty here at MIT.  From 1993-94, I was a postdoc in computer graphics and computational geometry at Princeton, working mostly with Pat Hanrahan, Peter Schroder and Tom Funkhouser.  The year before that, I postdoc'ed at the Hebrew University Givat Ram campus in Jerusalem. From 1987-92, I was at UC Berkeley, completing a PhD on rapid visibility computations advised by Carlo Séquin.  During much of that time, I was a member of SGI's Advanced Graphics and Research & Development groups.  Before graduate school I worked for a few years at a Boston company called Camex which built one of the first desktop publishing systems (including 2000 DPI laser phototypesetters which produced gorgeous paper & film output). 

My undergraduate work was in Physics, at Wesleyan,  where I was also a lab assistant and TA.  I've also worked as a short-order cook, a gardener, a mechanic, a paperboy, and a tutor of suburban and city kids. My literary/artistic muses in roughly chronological order are Charles Dodgson, George Herriman (Krazy Kat, Ignatz, Offissa Pupp), Winsor McCay (Little Nemo), Don Marquis (Archy and Mehitabel), Rickie Lee Jones, Roddy Doyle, Luc Besson, and Bjork.

My first academic loves were math and geometry.  Later I got into physics, and through physics, numerical simulation. From there, desiring to see the outputs of my computations, I got into computer graphics and visualization. In graduate school Raimund Seidel inspired me to learn computational geometry, a (relatively) new branch of computer science which combines geometry, theory, and algorithms. 

More recently I've been studying (and developing new techniques for) robust, large-scale computer vision, in particular to support fine-grained human and robotic mapping and localization. I'm also working to develop hand-held devices that enable direct interaction with the world, in the world (rather than interaction with a simulacrum, at your desk). See Roshan Baliga's MEng thesis for a prototype!

Upon arriving at MIT in Fall 1994 I founded the Computer Graphics Group in MIT's Lab for Computer Science and EECS Department. Since then, however, my research interests have substantially shifted -- to machine vision, robotics, and sensor networks -- as reflected by my current group affiliation, RVSN. I am now a Professor of Computer Science and Engineering in EECS.

Teaching

Fall 2006 (w/ Nick Roy and Daniela Rus), Robotics: Science and Systems II, Lecture F 10-12pm in MIT 33-419, Lab TR 2-4pm in MIT Gelb Lab.

Spring 2006 (w/ Nick Roy, Una-May O'Reilly, and Daniela Rus), Robotics: Science and Systems I, Lecture MWF 2-3pm in MIT 32-144, Lab TR 2-4pm in MIT Gelb Lab.

Fall 2005 (w/ John Leonard, Nick Roy, Una-May O'Reilly, and Daniela Rus), Robotics: Science and Systems II, Lecture MWF 11-12pm in MIT 32-144, Lab TR 230-430pm in MIT Gelb Lab.

Spring 2005 (w/ John Leonard, Nick Roy, Una-May O'Reilly, and Daniela Rus), Robotics: Science and Systems I, Lecture MWF 1-2pm in MIT 2-139, Lab TR 230-430pm in MIT Gelb Lab.

Fall 2004, 6.001: Structure and Interpretation of Computer Programming, Recitations TR 10-11am in MIT 26-328. Also curriculum development for RSS (see above).

Spring 2003, Sabbatical

Fall 2003, Sabbatical

Fall 2002 (w/ Prof. Durand), 6.837 (Introduction to Computer Graphics), TR 230-4pm in MIT 4-163.

Spring 2002,  6.033 (Computer Systems Engineering), (MIT/EECS Catalog Listing),
    MW(F) 2-3pm in 34-101.

Fall 2001 (w/ Prof. Indyk),  6.838 Geometric Computation, (MIT/EECS Catalog Listing),
    TR 1-230pm in 4-237 (Electronic Classroom).

IAP 2000-01, I sponsored a course taught by Ronen Barzel of Pixar, entitled Physically-Based Modeling for Computer Graphics Animation, TWR 1030-noon in MIT 4-035. The course will have intensive lecture and laboratory components.

Fall 2000 (w/ Prof. Sudan), 6.046 (Introduction to Algorithms), MW 930-11am in MIT 2-190
    Recitation: F9 (26-314); F10 (26-314); F11 (36-839); F12 (36-156); F1 (36-156); F2 (36-156).

Fall 1999, 6.837 (Introduction to Computer Graphics), TR 230-4pm in MIT 4-370.

Spring 1999, 6.033 (Computer Systems Engineering), Recitations TR 1-3pm in MIT 36-153.

Fall 1998, 6.837 (Introduction to Computer Graphics), TR 230-4pm in MIT 1-190 (w/ Prof. McMillan).

Spring 1998,  6.838 (Interactive Geometric Data Structures and Computation), TR 230-4pm in MIT 3-133.

Fall 1997, 6.837 (Introduction to Computer Graphics), TR 230-4pm in MIT 3-270.

Spring 1997, 6.838 (Advanced Topics in Computer Graphics), MW 3-430pm in MIT 3-133 (w/ Prof. Dorsey).

Fall 1996, 6.837 (Introduction to Computer Graphics), TR 230-4pm in MIT 3-270.

Spring 1996, 6.046 (Introduction to Algorithms), TR 230-4pm in MIT 2-190.

Fall 1995, 6.837 (Introduction to Computer Graphics), MWF 1-2pm in MIT E25-111.

Spring 1995, Curriculum development for 6.046 and 6.837.

Fall 1994, 6.001 (Struct. & Interp. of Comp. Prog.), MWF 12-1, 1-2pm in MIT 13-4101.

Project Athena maintains a great set of electronic classrooms with networked machines and projection displays. Also, there are (PDF) floorplans available for all MIT rooms.

Here is a useful athena shell script that makes a map of the students using the SGI cluster 4-035.
To use it, shift-click, save it (e.g., to makemap.csh), then chmod a+rx makemap.csh, and execute it.  Note that the script is a hard-coded hack; if you can think of a better way to do it, by all means let me know.
 

Research

See above.


Students


It has been my good fortune to work with an amazing group of students. I have given up on trying to keep a list up to date -- my students keep graduating, and new ones keep arriving! -- but they're all represented on my publications page.

Implementations & Data

Here are some useful computational geometry codes.

Also, several large and/or interesting geometric datasets, including the Berkeley Soda Hall model (a report on the software infrastructure as ported to MIT is available here, also as postscript).

Long ago, I wrote psgl, which enables SGI GL4 programs to generate postscript output.  Others
have since made many improvements, culminating in GLP which enables OpenGL postcript output.

Here is Kurt Akeley's 1991 demonstration of hardware-assisted solid capping with stencil planes.

Here is C code (written by Peter Shafton of SGI) for a software tranaglyph.
 
 

Engineering Information

One of the most useful sites I've found on the web is www.ednmag.com; it's full of technical
information and product descriptions. Also, it archives articles back several years.  Fantastic.

Have you ever wondered how to have a single "head" (monitor, keyboard, and mouse) connected to multiple machines (e.g., an SGI O2 and a PC)?  Well, it's possible with this expensive terminal switch.
 
 

Other Pursuits

Have you ever heard of words that are their own antonyms ?  Here are some.

Here is a collection of (potentially valuable or life-saving) random ideas.

When the ground isn't completely frozen (and, at times, even when it is), I play ultimate frisbee.

Another non-frozen ground pursuit is gardening.

Long ago, I was a decent bowler (ten-pin, not those ridiculous candlesticks); my lifetime high score (from 1995) is 251 (yes, I did scan the score sheet, thank you very much).

A few years ago, I bought a house, and got frustrated when the lending representatives were unable to explain how they had arrived at particular mortgage payments (all they could do was table lookups).  I was curious about a fixed monthly payment gets partitioned into principal and interest, so I derived it directly (Latex source here).  Here's some C code to produce amortization tables for any loan amount and duration; it also allows arbitrary supplemental payments during the payback period.

Do you use the GUI program ical ? One problem with it is that from the command line, though you can list your appointments, you can't add appointments. Here is a small stand-alone C program called "addappt" for adding ical appointments.

In February 2000 I bought a gas-electric hybrid vehicle, the Honda Insight, and I really like it !  Mine was apparently the 261st to roll off the assembly line (Honda made about 4,000 of them that year).

Have you committed to be a local arrangements chair for a workshop or large conference? My condolences. I just went through this for IPSN 2007 at MIT, and have learned a lot that other LACs might find useful in future.

Finally, I enjoy shrinking my friends (like Rob Myers) -- no computers were used to make this picture !

Do you hate forced commercials (DVD content you can't skip), especially on kids' DVDs? Join me in a class-action lawsuit against the DVD creators and manufacturers of DVD players.

_


Ouch!  183,414,017 hits since fall 1993.