My research goal is to enable robots like HERB, the Home Exploring Robot Butler from the Personal Robotics Lab, to work with and around people, in their homes.

In my thesis, I focus on the challenges that interacting and collaborating with a user raises for the way we plan robot motion. Most motion in robotics is purely functional: industrial robots move to package parts, vacuuming robots move to suck dust, and personal robots move to clean up a dirty table. This type of motion is ideal when the robot is performing a task in isolation. When working with a user, however, the robot's motion has an observer, watching and interpreting the motion. As a result, functionality alone is not sufficient: some functional motions are better than others, suggesting a transition from merely functional to optimal motion.

The additional requirement of optimality is, however, a difficult one: optimizers are known to suffer from convergence to high-cost local minima in the complex, high-dimensional spaces induced by manipulation tasks. The first part of my work focuses alleviating this issue by (1) widening good basins of attraction -- taking advantage of the flexibility induced by manipulation tasks (i.e. that they are described by sets of goals rather than single goal configurations), and (2) learning from their previous experiences to initialize the optimizer in a good basin of attraction.

With improvements in how motion is optimized, robots can turn their attention to what should be optimized. When it comes to motion for collaboration and co-existence, what is the right optimization cost? The second part of my work studies the inferences human observers make about robot motion, and proposes motion planners that enable the right inferences, e.g. that produce intent-expressive or legible motion.

Finally, sharing the workspace with a human is only one paradigm on collaboration. Recently, I have been exploring assistive teleoperation as a shared autonomy concept, in which the robot attempts to predict the operator's intent and plan the appropriate motion to assist in completing the task.

Constrained Trajectory Optimization (and Goal Set CHOMP)

Trajectory optimization was seeded in the works of Euler, Lagrange and Hamilton with the principle of least action, and continued with the variational calculus view on optimal control. Traditionally, it has been too computationally expensive to be used in high-dimensional spaces. Recently, however, optimizers have become more and more apt to plan in such spaces. CHOMP (Covariant Hamiltonian Optimization for Motion Planning) performs functional gradient descent in the Hilbert space of trajectories to quickly and smoothly bend trajectories out of collision.

My ICRA2011 work builds upon this algorithm, deriving a generalization that can handle hard constraints along the trajectory, like keeping a glass of water upright or maintaining the same relative position of the two hands to carry a box. I focus in particular on one type of constraint -- on the end-point of the trajectory -- that frees the optimizer from the typical constant end-point assumption and enables it to optimize to a goal set. By taking advantage of this natural flexibility that occurs in manipulation tasks -- that they are described by an entire region of goals as opposed to a single goal configuration -- the optimizer converges to much better solutions, in a lot of cases making the difference between successful completion of the task and failure. [Short video]

Learning from Experience

Local trajectory optimizers produce locally-optimal solutions, and can get stuck in high-cost local minima. I am working on alleviating this problem by enabling the robot to learn from its past experiences, from what worked and what did not in the past, to inform the optimization process. Although the typical way to do so is to store previously successful solutions in a library of trajectories and recall the one corresponding to the most similar scene, my approach is to learn a lower-dimensional "recipe for success": rather than predicting a full trajectory, predict a set of trajectory attributes that place the optimizer in good basins of attraction. I started by focusing on the goal choice as an important attribute in my ISRR paper, and I am interested in extending this framework to attributes along the trajectory.

Motion Planning with an Observer: Predictability and Legibility

The theory of action interpretation in psychology talks about two inferences humans make when observing another agent's actions. An “action-to-goal” inference is based on understanding the function of an action, and refers to the observer’s ability to infer someone’s goal state from his ongoing actions (e.g. because he is walking towards the coffee machine, he will eventually hold a cup of coffee). A “goal-to-action” inference refers to an observer’s ability to predict the actions that someone will take based on his goal (e.g. because he wants coffee, he will walk over to the coffee machine).

Applied to motion, these lead to two properties: motion is predictable if it matches what the observer expects (i.e. his "goal-to-action" inference), and motion is legible if it expresses intent, enabling the observer's "action-to-goal" inference. My HRI2013 paper formalizes predictability and legibility in terms of these inferences in opoosing directions, and proposes models for them that enable a robot to evaluate how predictable or legible a motion is. My RSS2013 paper introduces a trajectory optimization algorithm based on functional gradient descent for generating motion that is legible (but that stays within a trust region of predictability).

Assistive Teleoperation

In assistive teleoperation, the robot helps the user accomplish the desired task, making teleoperation easier and more seamless. Rather than simply executing the user's input, which is hindered by the inadequacies of the interface, the robot attempts to predict the user's intent, and assists in accomplishing it. My work proposed a policy blending formalism for this type of shared control, and analyzes its main components: retargetting the user's input onto the robot, predicting the user's intent, and arbitrating between the two. For more details, see RSS2012, ROMAN2012, IJRR2013, and JHRI2013.