Professor of Computer Science and Engineering; Associate Director, Computer Science and Artificial Intelligence Laboratory
Q. How would you contrast your own education as a PhD student in computer science at Cornell from that which you see students experiencing now–particularly in the MIT EECS Department?
Daniela Rus: When I was an undergraduate student, I heard a very inspiring talk by John Hopcroft in which he explained that the advances in computation had opened the door for several grand applications of computer science, and robotics was one of the most important applications. I found the idea of connecting my studies in computer science to the Lost in Space robot I loved irresistible, and I felt very lucky to have a chance to go to Cornell and work on robotics with John. The same year I joined Cornell as a graduate student, Bruce Donald, a recent robotics PhD from EECS at MIT joined the department as an assistant professor and he brought with him a lot of excitement for the field of robotics.
Working on robotics turned out to be indeed very exciting—but also very challenging. Computer science was primarily focused on graph-theoretic problems in discrete environments where everything was finite and perfect. But machines live in the physical world which is continuous, and their system components are characterized by all sorts of modeling, sensing and control errors. So formulating algorithms for complex autonomous machine operations in a realistic way with performance guarantees was a new challenge.
I saw this very clearly at the end of my first course in robotics from Bruce Donald. It was his birthday and we wanted to throw him a birthday celebration that involved the robot we used in the class—a large Puma arm, essentially an industrial manipulator. Our idea was to get the robot to cut the birthday cake. So a few of us stayed up all night and programmed the robot to cut a round cake. We attached a big knife to the arm with duct tape and were ready for the big event, until the person tasked with getting the cake showed up with a rectangular ice cream cake instead of a soft round cake. But the party was on so we tried our program anyway. The robot found the ice cream very hard and as it struggled through cutting, it entered a singularity state which triggered very erratic moments. You can imagine people’s reactions to a robot with a big knife attached to it moving out of control! This was a very important lesson for me on the complexities of computation for interaction with the physical world.
It turns out that many of the challenges in robotics are at the intersection of three fields: computer science, electrical engineering, and mechanical engineering. Recent progress in communications, sensor networks, and robotics provides many examples that show how computation for interaction with the physical world is becoming an increasingly important aspect of the field of computation. The interplay between EE and CS is core to our department’s teaching philosophy. Our courses are grounded in an interdisciplinary philosophy, but these ideas were just being born at the time I started studying robotics in a computer science department.
We offer courses such as 6.01, 6.02, 6.141J, and 6.142J that aim at developing the knowledge-base for computation for interaction with the physical world. Our courses not only present students with the most recent advances in the field; they also give students the challenge and opportunity to learn and work at the cutting edge. For example one of the 6.142J offerings focused on teaching students about networked control and sensing. The class challenge project was to build a robot garden where robots used communication and sensing to maintain a tomato garden. The students not only rose to the challenge, but they did it such that we were able to write a paper (co-authored by entire class and course staff) which was a best paper finalist at the 2009 International Symposium in Intelligent Robot Systems (one of the major robotics conferences.) See the CSAIL Spotlight: http://www.csail.mit.edu/csailspotlights/feature2.