Hadas Kress-Gazit wants to know how to make robots do what they are supposed to.
Once a robot understands the meaning of a command given in natural language, it must be translated into motor and velocity commands. That's where Kress-Gazit comes in. "You want to say 'Search the rooms.' You don't want to say, 'Move five meters forward. Turn 30 degrees to the right,' and things like that," she explains. "You want to keep it at the high level."
For her proof-of-concept work, Kress-Gazit starts with structured language. "It's not natural language, but it's not logic either," she says. "I have a parser that automatically translates that into logic, which is a formal way to describe tasks, and then from that I synthesize the controller."
To be useful, a robot must be reliable. "I want to have some kind of guarantees for the robot behavior, because anything can be hacked together," she says. "I want a systematic way of going from a high level description to a correct behavior. And if I can't, I want to know why I cannot.
There's no shortage of ways to tell a robot to simply go from point A to point B. What Kress-Gazit is interested in are tasks that require robots to react to their environment. "There is not a lot of research out there to deal with if I want to say, 'OK. I want you to go through the rooms. If you see my daughter, just stop there and call me,'" she says. "The behavior of the robot is going to change based on if my daughter is anywhere in there or if she is moving around or if she's just not there. If she's not there, the robot is just going to continue searching. The behavior is reactive."
"For example," she continues, "if I tell the robot, 'Go search all the rooms and make sure you get into every single room,' and there are doors. I want the robot to tell me, 'Listen, I can't open doors. This is the reason I cannot do what you asked me to do.'"
So far, Kress-Gazit has got her robots to tell her when they cannot perform a command, but not why. There are many other questions she would also like to answer. "Right now I'm assuming that if the robot is searching for my daughter and my daughter is there, it will see her," she says. "If it doesn't see her at all because of its point of view and tells me she's not here. What does that mean? Is that correct behavior? Is that incorrect behavior? There's a lot of uncertainty in the sensing that has to be incorporated."
Before she went to grad school, Kress-Gazit worked on chip verification at IBM in Israel. Now she is applying techniques she used there, like formal methods and model checking, to her research. "It's kind of unconventional, using these techniques in the context of robotics," she says. "Because these tools are used to verify systems such as hardware designs and now we want to use these tools to verify or to synthesize controllers for robots."
Kress-Gazit chose to work in robotics because of their potential impact. "I think robots can contribute to society in many different areas, from disaster relief to space exploration to personal robots. But we still don't know how to make them safe, useful, and versatile," she says. "And to sound horribly superficial, robots are really cool."